import unittest
from apps.schemas.flow import Step
from apps.schemas.scheduler import *
class TestToolData(unittest.TestCase):
def test_valid_tool_data(self):
data = {
"name": "sql",
"params": {
"test_key": "test_value"
}
}
tool_data = ToolData.model_validate(data)
self.assertEqual(tool_data.model_dump(), tool_data)
def test_invalid_tool_data(self):
data = {
"name": "sql",
}
self.assertRaises(Exception, ToolData.model_validate, data)
class TestStep(unittest.TestCase):
def test_valid_step(self):
data = {
"name": "test_api",
"call_type": "api",
"params": {
"test_key": "test_value"
},
"next": "test_next"
}
step = Step.model_validate(data)
self.assertEqual(step.model_dump(), step)
def test_invalid_step(self):
data = {
}