refactor: move validate testcase code from validator to loader

This commit is contained in:
debugtalk
2019-12-05 18:44:38 +08:00
parent 7332aa1d7d
commit abaec1e5ff
5 changed files with 242 additions and 124 deletions

View File

@@ -476,3 +476,73 @@ class TestSuiteLoader(unittest.TestCase):
api_file_path = os.path.join(os.getcwd(), "tests", "api", "get_token.yml")
self.assertIn(api_file_path, self.tests_def_mapping["api"])
self.assertEqual(self.project_mapping["env"]["PROJECT_KEY"], "ABCDEFGH")
def test_is_function(self):
func = lambda x: x + 1
self.assertTrue(loader.is_function(func))
self.assertTrue(loader.is_function(loader.is_testcase))
def test_is_testcases(self):
data_structure = "path/to/file"
self.assertFalse(loader.is_testcases(data_structure))
data_structure = ["path/to/file1", "path/to/file2"]
self.assertFalse(loader.is_testcases(data_structure))
data_structure = {
"project_mapping": {
"PWD": "XXXXX",
"functions": {},
"env": {}
},
"testcases": [
{ # testcase data structure
"config": {
"name": "desc1",
"path": "testcase1_path",
"variables": [], # optional
},
"teststeps": [
# test data structure
{
'name': 'test step desc1',
'variables': [], # optional
'extract': [], # optional
'validate': [],
'request': {}
},
# test_dict2 # another test dict
]
},
# testcase_dict_2 # another testcase dict
]
}
self.assertTrue(loader.is_testcases(data_structure))
data_structure = [
{
"name": "desc1",
"config": {},
"api": {},
"testcases": ["testcase11", "testcase12"]
},
{
"name": "desc2",
"config": {},
"api": {},
"testcases": ["testcase21", "testcase22"]
}
]
self.assertTrue(data_structure)
def test_is_variable(self):
var1 = 123
var2 = "abc"
self.assertTrue(loader.is_variable(("var1", var1)))
self.assertTrue(loader.is_variable(("var2", var2)))
__var = 123
self.assertFalse(loader.is_variable(("__var", __var)))
func = lambda x: x + 1
self.assertFalse(loader.is_variable(("func", func)))
self.assertFalse(loader.is_variable(("unittest", unittest)))