#29: refactor validator:

1, relocate validate functions;
2, add unittest for custom defined validators.
This commit is contained in:
httprunner
2017-12-12 23:59:54 +08:00
parent 0e1ef7f78f
commit 6ac43e39ea
9 changed files with 139 additions and 117 deletions

View File

@@ -30,3 +30,13 @@ get_sign_lambda = lambda *args: hmac.new(
def gen_md5(*args):
return hashlib.md5("".join(args).encode('utf-8')).hexdigest()
def sum_status_code(status_code, expect_sum):
""" sum status code digits
e.g. 400 => 4, 201 => 3
"""
sum_value = 0
for digit in str(status_code):
sum_value += int(digit)
assert sum_value == expect_sum

View File

@@ -25,6 +25,7 @@
{"eq": ["status_code", 200]},
{"len_eq": ["content.token", 16]},
{"check": "status_code", "comparator": "eq", "expect": 200},
{"sum_status_code": ["status_code", 2]},
{"check": "content.token", "comparator": "len_eq", "expect": 16}
]
}
@@ -49,6 +50,7 @@
{"eq": ["status_code", 201]},
{"eq": ["content.success", true]},
{"check": "status_code", "comparator": "eq", "expect": 201},
{"sum_status_code": ["status_code", 3]},
{"check": "content.success", "comparator": "eq", "expect": true}
]
}
@@ -73,6 +75,7 @@
{"eq": ["status_code", 500]},
{"eq": ["content.success", false]},
{"check": "status_code", "comparator": "eq", "expect": 500},
{"sum_status_code": ["status_code", 5]},
{"check": "content.success", "comparator": "eq", "expect": false}
]
}

View File

@@ -15,9 +15,11 @@
- token: content.token
validate:
- eq: ["status_code", 200]
- len_eq: ["token", 16]
- len_eq: ["content.token", 16]
- {"check": "status_code", "comparator": "eq", "expect": 200}
- {"check": "content.token", "comparator": "len_eq", "expect": 16}
- sum_status_code: ["status_code", 2]
- {"check": "token", "comparator": "len_eq", "expect": 16}
- test:
name: create user which does not exist
@@ -33,6 +35,7 @@
password: "123456"
validate:
- eq: ["status_code", 201]
- sum_status_code: ["status_code", 3]
- eq: ["content.success", True]
- {"check": "status_code", "comparator": "eq", "expect": 201}
- {"check": "content.success", "comparator": "eq", "expect": true}
@@ -51,6 +54,7 @@
password: "123456"
validate:
- "eq": ["status_code", 500]
- sum_status_code: ["status_code", 5]
- "eq": ["content.success", false]
- {"check": "status_code", "comparator": "eq", "expect": 500}
- {"check": "content.success", "comparator": "eq", "expect": false}