bugfix #100: Null value can only be compared with comparator: eq/equals/==

This commit is contained in:
debugtalk
2018-02-23 20:24:32 +08:00
parent 0b4d8fe6fb
commit 7dec77ffc3
3 changed files with 8 additions and 5 deletions

View File

@@ -218,10 +218,11 @@ class Context(object):
check_value = validator_dict["check_value"]
expect_value = validator_dict["expect"]
try:
if check_value is None or expect_value is None:
assert comparator in ["is", "eq", "equals", "=="]
if (check_value is None or expect_value is None) \
and comparator not in ["is", "eq", "equals", "=="]:
raise exception.ParamsError("Null value can only be compared with comparator: eq/equals/==")
try:
validate_func(validator_dict["check_value"], validator_dict["expect"])
except (AssertionError, TypeError):
err_msg = "\n" + "\n".join([

View File

@@ -802,6 +802,8 @@ class TestcaseParser(object):
"body": {"name": "user", "password": "123456"}
}
"""
if content is None:
return None
if isinstance(content, (list, tuple)):
return [
@@ -822,7 +824,7 @@ class TestcaseParser(object):
return content
# content is in string format here
content = "" if content is None else content.strip()
content = content.strip()
# replace functions with evaluated value
# Notice: _eval_content_functions must be called before _eval_content_variables

View File

@@ -119,7 +119,7 @@ def query_json(json_content, query, delimiter='.'):
def get_uniform_comparator(comparator):
""" convert comparator alias to uniform name
"""
if comparator in ["eq", "equals", "=="]:
if comparator in ["eq", "equals", "==", "is"]:
return "equals"
elif comparator in ["lt", "less_than"]:
return "less_than"