def response(context, flow): if driver.name: rule = flow.mastermind['rule'] if rule: delay = rules.delay(rule) if delay: time.sleep(delay) with decoded(flow.response): status_code = rules.status_code(rule) body_filename = rules.body_filename(rule) schema = rules.schema(rule, context.source_dir) if status_code: status_message = http.status_message(status_code) flow.response.status_code = status_code flow.response.msg = status_message if schema: table = driver.db.table(flow.request.url) schema_result = rules.check(flow.response.content, schema) table.insert_multiple(schema_result) print(schema_result) rules.process_headers('response', rule, flow.response.headers) if body_filename: # 204 might be set by the skip rule in the request hook if flow.response.status_code == 204: flow.response.status_code = 200 flow.response.msg = "OK" flow.response.content = rules.body(body_filename, context.source_dir)
def test_body_filename_not_exists(): assert r.body_filename({'url': 'http://foo'}) is None
def test_body_filename_exists(): assert r.body_filename(rule) == 'ok200.json'
def test_body_filename_not_exists(): assert r.body_filename({'url': 'http://foo'}) == None