mirror of
https://github.com/langgenius/dify.git
synced 2026-03-12 10:38:54 +08:00
50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
from unittest.mock import patch
|
|
|
|
import controllers.console.spec as spec_module
|
|
|
|
|
|
def unwrap(func):
|
|
while hasattr(func, "__wrapped__"):
|
|
func = func.__wrapped__
|
|
return func
|
|
|
|
|
|
class TestSpecSchemaDefinitionsApi:
|
|
def test_get_success(self):
|
|
api = spec_module.SpecSchemaDefinitionsApi()
|
|
method = unwrap(api.get)
|
|
|
|
schema_definitions = [{"type": "string"}]
|
|
|
|
with patch.object(
|
|
spec_module,
|
|
"SchemaManager",
|
|
) as schema_manager_cls:
|
|
schema_manager_cls.return_value.get_all_schema_definitions.return_value = schema_definitions
|
|
|
|
resp, status = method(api)
|
|
|
|
assert status == 200
|
|
assert resp == schema_definitions
|
|
|
|
def test_get_exception_returns_empty_list(self):
|
|
api = spec_module.SpecSchemaDefinitionsApi()
|
|
method = unwrap(api.get)
|
|
|
|
with (
|
|
patch.object(
|
|
spec_module,
|
|
"SchemaManager",
|
|
side_effect=Exception("boom"),
|
|
),
|
|
patch.object(
|
|
spec_module.logger,
|
|
"exception",
|
|
) as log_exception,
|
|
):
|
|
resp, status = method(api)
|
|
|
|
assert status == 200
|
|
assert resp == []
|
|
log_exception.assert_called_once()
|