1 2 3 4 5 6 | { "type": "array", "items": { "type": "integer" } } |
1 2 3 4 5 6 7 8 9 | { "schema": { "type": "integer", "enum": [ 400 404 ] } } |
1 2 3 4 5 6 7 8 | - uri: /echo method: GET desc: 测试 ECHO 服务 status: 200 params: ping: "pong" responses: ping: "pong" |
1 2 3 4 5 | @pytest.mark.parametrize("case", apis) def test_api(case, case_manager, mocker): case_obj = case_manager.add(case) case_obj.run(mocker) print(case_obj.real_response) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | pattern_inferer_map = { date_pattern: {'type': 'string', 'format': 'date'}, datetime_pattern: {'type': 'string', 'format': 'date-time'}, ip_pattern: {'type': 'string', 'format': 'ip'}, uuid_pattern: {'type': 'string', 'format': 'uuid'}, base64_pattern: {'type': 'string', 'format': 'byte'}, // ... } def infer_value(value): if isinstance(value, string_types): for pattern, type_info in pattern_inferer_map.items(): if pattern.match(value): return type_info return {'type': 'string'} elif isinstance(value, int): return {'type': 'number', 'format': 'int64'} elif isinstance(value, float): return {'type': 'number', 'format': 'double'} elif isinstance(value, bool): return {'type': 'boolean'} def inferer_response(response): return {k: infer_value(v) for k, v in response.items()} |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |