mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-08 01:09:44 +08:00
fix: uniform_validator
This commit is contained in:
@@ -56,11 +56,10 @@ def uniform_validator(validator):
|
|||||||
validator (dict): validator maybe in two formats:
|
validator (dict): validator maybe in two formats:
|
||||||
|
|
||||||
format1: this is kept for compatibility with the previous versions.
|
format1: this is kept for compatibility with the previous versions.
|
||||||
{"check": "status_code", "comparator": "eq", "expect": 201}
|
{"check": "status_code", "comparator": "eq", "expect": 201, "message": "test"}
|
||||||
{"check": "$resp_body_success", "comparator": "eq", "expect": True}
|
{"check": "status_code", "assert": "eq", "expect": 201, "msg": "test"}
|
||||||
format2: recommended new version, {assert: [check_item, expected_value]}
|
format2: recommended new version, {assert: [check_item, expected_value, msg]}
|
||||||
{'eq': ['status_code', 201]}
|
{'eq': ['status_code', 201, "test"]}
|
||||||
{'eq': ['$resp_body_success', True]}
|
|
||||||
|
|
||||||
Returns
|
Returns
|
||||||
dict: validator info
|
dict: validator info
|
||||||
@@ -68,7 +67,8 @@ def uniform_validator(validator):
|
|||||||
{
|
{
|
||||||
"check": "status_code",
|
"check": "status_code",
|
||||||
"expect": 201,
|
"expect": 201,
|
||||||
"assert": "equals"
|
"assert": "equal",
|
||||||
|
"message": "test
|
||||||
}
|
}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -79,8 +79,16 @@ def uniform_validator(validator):
|
|||||||
# format1
|
# format1
|
||||||
check_item = validator["check"]
|
check_item = validator["check"]
|
||||||
expect_value = validator["expect"]
|
expect_value = validator["expect"]
|
||||||
message = validator.get("message", "")
|
|
||||||
comparator = validator.get("comparator", "eq")
|
if "assert" in validator:
|
||||||
|
comparator = validator.get("assert")
|
||||||
|
else:
|
||||||
|
comparator = validator.get("comparator", "eq")
|
||||||
|
|
||||||
|
if "msg" in validator:
|
||||||
|
message = validator.get("msg")
|
||||||
|
else:
|
||||||
|
message = validator.get("message", "")
|
||||||
|
|
||||||
elif len(validator) == 1:
|
elif len(validator) == 1:
|
||||||
# format2
|
# format2
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import unittest
|
|||||||
import requests
|
import requests
|
||||||
|
|
||||||
from httprunner.parser import Parser
|
from httprunner.parser import Parser
|
||||||
from httprunner.response import ResponseObject
|
from httprunner.response import ResponseObject, uniform_validator
|
||||||
|
|
||||||
|
|
||||||
class TestResponse(unittest.TestCase):
|
class TestResponse(unittest.TestCase):
|
||||||
@@ -67,3 +67,23 @@ class TestResponse(unittest.TestCase):
|
|||||||
],
|
],
|
||||||
variables_mapping=variables_mapping,
|
variables_mapping=variables_mapping,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_uniform_validator(self):
|
||||||
|
validators = [
|
||||||
|
{
|
||||||
|
"check": "status_code",
|
||||||
|
"comparator": "eq",
|
||||||
|
"expect": 201,
|
||||||
|
"message": "test",
|
||||||
|
},
|
||||||
|
{"check": "status_code", "assert": "eq", "expect": 201, "msg": "test"},
|
||||||
|
{"eq": ["status_code", 201, "test"]},
|
||||||
|
]
|
||||||
|
expected = {
|
||||||
|
"check": "status_code",
|
||||||
|
"assert": "equal",
|
||||||
|
"expect": 201,
|
||||||
|
"message": "test",
|
||||||
|
}
|
||||||
|
for validator in validators:
|
||||||
|
self.assertEqual(uniform_validator(validator), expected)
|
||||||
|
|||||||
Reference in New Issue
Block a user