mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-11 18:11:21 +08:00
diff http response: status code
This commit is contained in:
13
ate/utils.py
13
ate/utils.py
@@ -32,3 +32,16 @@ def parse_response_object(resp_obj):
|
||||
'headers': resp_obj.headers,
|
||||
'content': resp_content
|
||||
}
|
||||
|
||||
def diff_response(resp_obj, expected_resp_json):
|
||||
diff_content = {}
|
||||
resp_info = parse_response_object(resp_obj)
|
||||
|
||||
expected_status_code = expected_resp_json.get('status_code', 200)
|
||||
if resp_info['status_code'] != int(expected_status_code):
|
||||
diff_content['status_code'] = {
|
||||
'value': resp_info['status_code'],
|
||||
'expected': expected_status_code
|
||||
}
|
||||
|
||||
return diff_content
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
import random
|
||||
import requests
|
||||
from ate import utils
|
||||
from ate import exception
|
||||
@@ -52,3 +53,27 @@ class TestUtils(ApiServerUnittest):
|
||||
self.assertIn('Content-Type', parse_result['headers'])
|
||||
self.assertIn('Content-Length', parse_result['headers'])
|
||||
self.assertTrue(str, type(parse_result['content']))
|
||||
|
||||
def test_diff_response_status_code_equal(self):
|
||||
status_code = random.randint(200, 511)
|
||||
url = "http://127.0.0.1:5000/status_code/%d" % status_code
|
||||
resp_obj = requests.get(url)
|
||||
expected_resp_json = {
|
||||
'status_code': status_code
|
||||
}
|
||||
diff_content = utils.diff_response(resp_obj, expected_resp_json)
|
||||
self.assertFalse(diff_content)
|
||||
|
||||
def test_diff_response_status_code_not_equal(self):
|
||||
status_code = random.randint(200, 511)
|
||||
url = "http://127.0.0.1:5000/status_code/%d" % status_code
|
||||
resp_obj = requests.get(url)
|
||||
expected_resp_json = {
|
||||
'status_code': 512
|
||||
}
|
||||
diff_content = utils.diff_response(resp_obj, expected_resp_json)
|
||||
print('diff_content', diff_content)
|
||||
self.assertIn('value', diff_content['status_code'])
|
||||
self.assertIn('expected', diff_content['status_code'])
|
||||
self.assertEqual(diff_content['status_code']['value'], status_code)
|
||||
self.assertEqual(diff_content['status_code']['expected'], 512)
|
||||
|
||||
Reference in New Issue
Block a user