mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-15 20:38:44 +08:00
merge_validator: support checking unhashable values such as dict
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
validate:
|
||||
- "eq": ["status_code", 0]
|
||||
- "len_eq": ["content.token", 12]
|
||||
- "contains": [{"a": 1, "b": 2}, "a"]
|
||||
|
||||
- api:
|
||||
def: create_user($uid, $user_name, $user_password, $token)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
validate:
|
||||
- "eq": ["status_code", 200]
|
||||
- "len_eq": ["content.token", 16]
|
||||
- "contains": [{"a": 1, "b": 2}, "b"]
|
||||
|
||||
- test:
|
||||
name: reset all users
|
||||
|
||||
@@ -721,6 +721,20 @@ class TestcaseParserUnittest(unittest.TestCase):
|
||||
merged_validators
|
||||
)
|
||||
|
||||
def test_merge_validator_with_dict(self):
|
||||
api_validators = [
|
||||
{'eq': ["a", {"v": 1}]},
|
||||
{'eq': [{"b": 1}, 200]}
|
||||
]
|
||||
test_validators = [
|
||||
{'len_eq': ['s3', 12]},
|
||||
{'eq': [{"b": 1}, 201]}
|
||||
]
|
||||
|
||||
merged_validators = testcase.merge_validator(api_validators, test_validators)
|
||||
self.assertEqual(len(merged_validators), 3)
|
||||
self.assertEqual(merged_validators[1], {'check': {'b': 1}, 'expect': 201, 'comparator': 'eq'})
|
||||
|
||||
def test_merge_extractor(self):
|
||||
api_extrators = [{"var1": "val1"}, {"var2": "val2"}]
|
||||
test_extracors = [{"var1": "val111"}, {"var3": "val3"}]
|
||||
|
||||
Reference in New Issue
Block a user