Files
张翔 08ea5fbe98 feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
2026-03-28 14:37:29 +08:00

1 line
70 KiB
JSON

{"meta": {"format": 3, "version": "7.11.0", "timestamp": "2026-03-07T19:20:10.996555", "branch_coverage": false, "show_contexts": false}, "files": {"src/apitest/__init__.py": {"executed_lines": [1, 2, 3], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 3], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/cli/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3, 5], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3, 5], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3, 5], "excluded_lines": []}}}, "src/apitest/cli_module.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 68, 71, 73, 75, 76, 77, 79, 81, 89, 90, 91, 93, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 115, 116, 118, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 139, 140, 141, 142, 144, 145, 146, 147, 149, 150, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 168, 169, 170, 172, 174, 175, 176, 179, 180, 181, 183, 184, 186, 187, 188, 190, 191, 192, 193, 194, 201, 208, 210, 211, 213, 214, 216, 217, 219, 222], "summary": {"covered_lines": 140, "num_statements": 146, "percent_covered": 95.89041095890411, "percent_covered_display": "96", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [69, 164, 196, 197, 198, 223], "excluded_lines": [], "functions": {"cli": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "run": {"executed_lines": [46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 68, 71, 73, 75, 76, 77, 79, 81, 89, 90, 91, 93, 95, 96, 97, 98, 99, 100], "summary": {"covered_lines": 34, "num_statements": 35, "percent_covered": 97.14285714285714, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [69], "excluded_lines": []}, "list": {"executed_lines": [110, 111, 112, 113, 115, 116, 118, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "validate": {"executed_lines": [144, 145, 146, 147, 149, 150, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 168, 169, 170, 172, 174, 175, 176], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [164], "excluded_lines": []}, "config": {"executed_lines": [183, 184, 186, 187, 188, 190, 191, 192, 193, 194], "summary": {"covered_lines": 10, "num_statements": 13, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [196, 197, 198], "excluded_lines": []}, "_filter_test_cases": {"executed_lines": [208, 210, 211, 213, 214, 216, 217, 219], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 17, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 103, 104, 105, 106, 107, 108, 139, 140, 141, 142, 179, 180, 181, 201, 222], "summary": {"covered_lines": 39, "num_statements": 40, "percent_covered": 97.5, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [223], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 68, 71, 73, 75, 76, 77, 79, 81, 89, 90, 91, 93, 95, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 115, 116, 118, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 139, 140, 141, 142, 144, 145, 146, 147, 149, 150, 152, 153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 166, 167, 168, 169, 170, 172, 174, 175, 176, 179, 180, 181, 183, 184, 186, 187, 188, 190, 191, 192, 193, 194, 201, 208, 210, 211, 213, 214, 216, 217, 219, 222], "summary": {"covered_lines": 140, "num_statements": 146, "percent_covered": 95.89041095890411, "percent_covered_display": "96", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [69, 164, 196, 197, 198, 223], "excluded_lines": []}}}, "src/apitest/client/__init__.py": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/client/api_client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 12, 21, 22, 23, 24, 25, 26, 31, 37, 39, 45, 47, 56, 57, 59, 68, 69, 70, 71, 73, 89, 90, 92, 93, 94, 95, 99, 100, 101, 103, 110, 133, 134, 135, 136, 137, 138, 139, 140, 141, 151, 152, 158, 183, 184, 186, 189, 191, 192, 194, 195, 196, 197, 199, 201, 208, 215, 216, 217, 219, 220, 222, 224, 226, 242, 244, 262, 264, 282, 284, 300, 302, 304, 305], "summary": {"covered_lines": 81, "num_statements": 99, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [96, 97, 142, 143, 144, 145, 146, 147, 149, 153, 154, 155, 156, 187, 202, 218, 223, 306], "excluded_lines": [], "functions": {"APIClient.__init__": {"executed_lines": [21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient.set_default_headers": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient.set_auth_token": {"executed_lines": [45], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient._build_url": {"executed_lines": [56, 57], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient._merge_headers": {"executed_lines": [68, 69, 70, 71], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient._calculate_metrics": {"executed_lines": [89, 90, 92, 93, 94, 95, 99, 100, 101, 103], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [96, 97], "excluded_lines": []}, "APIClient._execute_request": {"executed_lines": [133, 134, 135, 136, 137, 138, 139, 140, 141, 151, 152], "summary": {"covered_lines": 11, "num_statements": 22, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [142, 143, 144, 145, 146, 147, 149, 153, 154, 155, 156], "excluded_lines": []}, "APIClient.request": {"executed_lines": [183, 184, 186, 189, 191, 192, 194, 195, 196, 197, 199, 201, 208, 215, 216, 217, 219, 220, 222, 224], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [187, 202, 218, 223], "excluded_lines": []}, "APIClient.get": {"executed_lines": [242], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient.post": {"executed_lines": [262], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient.put": {"executed_lines": [282], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient.delete": {"executed_lines": [300], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "APIClient.close": {"executed_lines": [304, 305], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [306], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 12, 31, 39, 47, 59, 73, 110, 158, 226, 244, 264, 284, 302], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"APIClient": {"executed_lines": [21, 22, 23, 24, 25, 26, 37, 45, 56, 57, 68, 69, 70, 71, 89, 90, 92, 93, 94, 95, 99, 100, 101, 103, 133, 134, 135, 136, 137, 138, 139, 140, 141, 151, 152, 183, 184, 186, 189, 191, 192, 194, 195, 196, 197, 199, 201, 208, 215, 216, 217, 219, 220, 222, 224, 242, 262, 282, 300, 304, 305], "summary": {"covered_lines": 61, "num_statements": 79, "percent_covered": 77.21518987341773, "percent_covered_display": "77", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [96, 97, 142, 143, 144, 145, 146, 147, 149, 153, 154, 155, 156, 187, 202, 218, 223, 306], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 12, 31, 39, 47, 59, 73, 110, 158, 226, 244, 264, 284, 302], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/client/auth_manager.py": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 19, 20, 21, 22, 23, 24, 25, 27, 33, 35, 47, 48, 50, 52, 53, 55, 64, 65, 67, 68, 69, 71, 72, 74, 75, 77, 79, 81, 82, 84, 90, 92, 99, 100, 101, 103, 109, 110, 112, 114, 120, 121, 122, 124, 125, 127, 128, 134, 135, 137, 138, 139, 141, 142, 144, 145, 147, 148, 150, 151, 152, 154, 163, 164, 165, 166, 167, 169, 172, 174, 176, 177, 178, 179, 181, 187, 188, 193, 200, 201], "summary": {"covered_lines": 87, "num_statements": 88, "percent_covered": 98.86363636363636, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [170], "excluded_lines": [], "functions": {"AuthManager.__init__": {"executed_lines": [19, 20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.set_login_endpoint": {"executed_lines": [33], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.login": {"executed_lines": [47, 48, 50, 52, 53, 55, 64, 65, 67, 68, 69, 71, 72, 74, 75, 77, 79, 81, 82], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.get_token": {"executed_lines": [90], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.set_token": {"executed_lines": [99, 100, 101], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.is_token_valid": {"executed_lines": [109, 110, 112], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.refresh_token": {"executed_lines": [120, 121, 122, 124, 125, 127, 128, 134, 135, 137, 138, 139, 141, 142, 144, 145, 147, 148, 150, 151, 152], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.ensure_authenticated": {"executed_lines": [163, 164, 165, 166, 167, 169, 172], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [170], "excluded_lines": []}, "AuthManager.logout": {"executed_lines": [176, 177, 178, 179], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.get_auth_headers": {"executed_lines": [187, 188], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthManager.set_credentials": {"executed_lines": [200, 201], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 27, 35, 84, 92, 103, 114, 154, 174, 181, 193], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuthManager": {"executed_lines": [19, 20, 21, 22, 23, 24, 25, 33, 47, 48, 50, 52, 53, 55, 64, 65, 67, 68, 69, 71, 72, 74, 75, 77, 79, 81, 82, 90, 99, 100, 101, 109, 110, 112, 120, 121, 122, 124, 125, 127, 128, 134, 135, 137, 138, 139, 141, 142, 144, 145, 147, 148, 150, 151, 152, 163, 164, 165, 166, 167, 169, 172, 176, 177, 178, 179, 187, 188, 200, 201], "summary": {"covered_lines": 70, "num_statements": 71, "percent_covered": 98.59154929577464, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [170], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 27, 35, 84, 92, 103, 114, 154, 174, 181, 193], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/config/__init__.py": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/config/config_manager.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 12, 18, 19, 20, 22, 23, 24, 25, 27, 29, 30, 32, 33, 34, 40, 42, 43, 46, 56, 57, 59, 60, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 91, 93, 95, 97, 99, 100, 101, 102, 103, 104, 106, 108, 110, 112, 113, 114, 115, 117, 119, 121, 127, 133, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 174, 175, 176, 179, 181, 182], "summary": {"covered_lines": 89, "num_statements": 105, "percent_covered": 84.76190476190476, "percent_covered_display": "85", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 44, 89, 123, 124, 125, 129, 130, 131, 135, 136, 137, 177], "excluded_lines": [], "functions": {"ConfigManager.__init__": {"executed_lines": [18, 19, 20, 22, 23, 24, 25], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager._load_config": {"executed_lines": [29, 30, 32, 33, 34], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38], "excluded_lines": []}, "ConfigManager._load_env_vars": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [44], "excluded_lines": []}, "ConfigManager.get": {"executed_lines": [56, 57, 59, 60, 61, 63, 65], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_target_config": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_auth_config": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_test_config": {"executed_lines": [77], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_report_config": {"executed_lines": [81], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_logging_config": {"executed_lines": [85], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_data_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [89], "excluded_lines": []}, "ConfigManager.get_base_url": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_timeout": {"executed_lines": [97, 99, 100, 101, 102, 103, 104], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_max_retries": {"executed_lines": [108], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_auth_credentials": {"executed_lines": [112, 113, 114, 115], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_login_endpoint": {"executed_lines": [119], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_data_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [123, 124, 125], "excluded_lines": []}, "ConfigManager.get_test_cases_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [129, 130, 131], "excluded_lines": []}, "ConfigManager.get_report_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [135, 136, 137], "excluded_lines": []}, "ConfigManager.is_parallel_enabled": {"executed_lines": [141], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_parallel_threads": {"executed_lines": [145], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_retry_count": {"executed_lines": [149], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.should_stop_on_failure": {"executed_lines": [153], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_max_response_time": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_report_format": {"executed_lines": [161], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_log_level": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_log_format": {"executed_lines": [169], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigManager.get_log_file": {"executed_lines": [173, 174, 175, 176], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [177], "excluded_lines": []}, "ConfigManager.reload": {"executed_lines": [181, 182], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 12, 27, 40, 46, 67, 71, 75, 79, 83, 87, 91, 95, 106, 110, 117, 121, 127, 133, 139, 143, 147, 151, 155, 159, 163, 167, 171, 179], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ConfigManager": {"executed_lines": [18, 19, 20, 22, 23, 24, 25, 29, 30, 32, 33, 34, 42, 43, 56, 57, 59, 60, 61, 63, 65, 69, 73, 77, 81, 85, 93, 97, 99, 100, 101, 102, 103, 104, 108, 112, 113, 114, 115, 119, 141, 145, 149, 153, 157, 161, 165, 169, 173, 174, 175, 176, 181, 182], "summary": {"covered_lines": 54, "num_statements": 70, "percent_covered": 77.14285714285714, "percent_covered_display": "77", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 44, 89, 123, 124, 125, 129, 130, 131, 135, 136, 137, 177], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 9, 10, 12, 27, 40, 46, 67, 71, 75, 79, 83, 87, 91, 95, 106, 110, 117, 121, 127, 133, 139, 143, 147, 151, 155, 159, 163, 167, 171, 179], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/config/logger_manager.py": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 17, 18, 19, 21, 23, 24, 25, 27, 28, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 44, 53, 54, 55, 57, 63, 64, 66, 73, 75, 77, 78, 79, 81, 82, 84, 86, 88, 89, 90, 91, 94, 103], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"LoggerManager.__init__": {"executed_lines": [17, 18, 19], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggerManager._setup_root_logger": {"executed_lines": [23, 24, 25, 27, 28, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggerManager.get_logger": {"executed_lines": [53, 54, 55], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggerManager.set_level": {"executed_lines": [63, 64], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggerManager.add_file_handler": {"executed_lines": [73, 75, 77, 78, 79, 81, 82, 84], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "LoggerManager.remove_all_handlers": {"executed_lines": [88, 89, 90, 91], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "setup_logger": {"executed_lines": [103], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 21, 44, 57, 66, 86, 94], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"LoggerManager": {"executed_lines": [17, 18, 19, 23, 24, 25, 27, 28, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 53, 54, 55, 63, 64, 73, 75, 77, 78, 79, 81, 82, 84, 88, 89, 90, 91], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 21, 44, 57, 66, 86, 94, 103], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/core/__init__.py": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/core/test_engine.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 31, 32, 33, 34, 35, 36, 37, 39, 46, 47, 50, 60, 62, 68, 69, 71, 72, 73, 74, 76, 77, 79, 91, 93, 94, 96, 97, 98, 99, 101, 102, 104, 105, 106, 108, 109, 110, 111, 113, 114, 116, 118, 127, 128, 130, 131, 133, 135, 144, 145, 146, 147, 148, 149, 150, 151, 152, 156, 162, 163, 165, 167, 168, 169, 170, 175, 181, 182, 184, 186, 187, 188, 189, 194, 203, 204, 206, 207, 209, 211, 213, 214, 215, 217, 226, 227, 228, 229, 231, 238, 239, 241, 253, 255, 261, 263, 275, 276, 277, 279, 288, 295, 297, 298, 299, 300, 302, 303, 305, 319, 320, 322, 324, 326, 328, 329, 330, 332, 334, 335, 337, 338, 339, 340, 342, 343, 344, 346, 356, 357, 363, 365, 383, 385, 386, 387, 389, 390, 392, 393, 395, 397, 400], "summary": {"covered_lines": 153, "num_statements": 169, "percent_covered": 90.53254437869822, "percent_covered_display": "91", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [48, 154, 171, 172, 173, 190, 191, 192, 256, 257, 259, 264, 265, 267, 331, 398], "excluded_lines": [], "functions": {"TestEngine.__init__": {"executed_lines": [31, 32, 33, 34, 35, 36, 37], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEngine.set_context": {"executed_lines": [46, 47], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [48], "excluded_lines": []}, "TestEngine.get_context": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEngine._build_dependency_graph": {"executed_lines": [68, 69, 71, 72, 73, 74, 76, 77], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEngine._topological_sort": {"executed_lines": [91, 93, 94, 96, 97, 98, 99, 101, 102, 104, 105, 106, 108, 109, 110, 111, 113, 114, 116], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEngine._prepare_request_data": {"executed_lines": [127, 128, 130, 131, 133], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEngine._resolve_context_variables": {"executed_lines": [144, 145, 146, 147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [154], "excluded_lines": []}, "TestEngine._execute_setup": {"executed_lines": [162, 163, 165, 167, 168, 169, 170], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [171, 172, 173], "excluded_lines": []}, "TestEngine._execute_teardown": {"executed_lines": [181, 182, 184, 186, 187, 188, 189], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [190, 191, 192], "excluded_lines": []}, "TestEngine._execute_test_case": {"executed_lines": [203, 204, 206, 207, 209, 211, 213, 214, 215, 217, 226, 227, 228, 229, 231, 238, 239, 241, 253, 255, 261, 263, 275, 276, 277, 279], "summary": {"covered_lines": 26, "num_statements": 32, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [256, 257, 259, 264, 265, 267], "excluded_lines": []}, "TestEngine._extract_response_data": {"executed_lines": [295, 297, 298, 299, 300, 302, 303], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestEngine.execute_test_suite": {"executed_lines": [319, 320, 322, 324, 326, 328, 329, 330, 332, 334, 335, 337, 338, 339, 340, 342, 343, 344, 346, 356, 357, 363], "summary": {"covered_lines": 22, "num_statements": 23, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [331], "excluded_lines": []}, "TestEngine.execute_test_cases_by_filter": {"executed_lines": [383, 385, 386, 387, 389, 390, 392, 393, 395, 397, 400], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [398], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 39, 50, 62, 79, 118, 135, 156, 175, 194, 288, 305, 365], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TestEngine": {"executed_lines": [31, 32, 33, 34, 35, 36, 37, 46, 47, 60, 68, 69, 71, 72, 73, 74, 76, 77, 91, 93, 94, 96, 97, 98, 99, 101, 102, 104, 105, 106, 108, 109, 110, 111, 113, 114, 116, 127, 128, 130, 131, 133, 144, 145, 146, 147, 148, 149, 150, 151, 152, 162, 163, 165, 167, 168, 169, 170, 181, 182, 184, 186, 187, 188, 189, 203, 204, 206, 207, 209, 211, 213, 214, 215, 217, 226, 227, 228, 229, 231, 238, 239, 241, 253, 255, 261, 263, 275, 276, 277, 279, 295, 297, 298, 299, 300, 302, 303, 319, 320, 322, 324, 326, 328, 329, 330, 332, 334, 335, 337, 338, 339, 340, 342, 343, 344, 346, 356, 357, 363, 383, 385, 386, 387, 389, 390, 392, 393, 395, 397, 400], "summary": {"covered_lines": 131, "num_statements": 147, "percent_covered": 89.1156462585034, "percent_covered_display": "89", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [48, 154, 171, 172, 173, 190, 191, 192, 256, 257, 259, 264, 265, 267, 331, 398], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 16, 39, 50, 62, 79, 118, 135, 156, 175, 194, 288, 305, 365], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/core/validation_engine.py": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 17, 19, 37, 38, 40, 41, 48, 49, 51, 53, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 92, 102, 103, 104, 106, 108, 118, 119, 121, 122, 123, 127, 129, 130, 132, 134, 144, 145, 147, 148, 149, 155, 156, 158, 160, 170, 171, 173, 174, 176, 177, 179, 184, 194, 195, 197, 198, 199, 205, 207, 217, 218, 220, 221, 222, 228, 229, 231, 233, 243, 244, 246, 248, 249, 251, 254, 256, 269, 279, 281, 284, 285, 288, 289, 291, 292, 294, 296, 310, 311, 313, 315], "summary": {"covered_lines": 106, "num_statements": 129, "percent_covered": 82.17054263565892, "percent_covered_display": "82", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [86, 125, 151, 153, 181, 182, 200, 201, 203, 224, 226, 252, 265, 267, 282, 286, 329, 330, 332, 333, 334, 335, 337], "excluded_lines": [], "functions": {"ValidationEngine.__init__": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ValidationEngine.validate_response": {"executed_lines": [37, 38, 40, 41, 48, 49, 51], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ValidationEngine._execute_validation": {"executed_lines": [71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [86], "excluded_lines": []}, "ValidationEngine._validate_status_code": {"executed_lines": [102, 103, 104, 106], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ValidationEngine._validate_contains": {"executed_lines": [118, 119, 121, 122, 123, 127, 129, 130, 132], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [125], "excluded_lines": []}, "ValidationEngine._validate_equals": {"executed_lines": [144, 145, 147, 148, 149, 155, 156, 158], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [151, 153], "excluded_lines": []}, "ValidationEngine._validate_json_path": {"executed_lines": [170, 171, 173, 174, 176, 177, 179], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [181, 182], "excluded_lines": []}, "ValidationEngine._get_json_path_value": {"executed_lines": [194, 195, 197, 198, 199, 205], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [200, 201, 203], "excluded_lines": []}, "ValidationEngine._validate_regex": {"executed_lines": [217, 218, 220, 221, 222, 228, 229, 231], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [224, 226], "excluded_lines": []}, "ValidationEngine._validate_header": {"executed_lines": [243, 244, 246, 248, 249, 251, 254], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [252], "excluded_lines": []}, "ValidationEngine._validate_response_time": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [265, 267], "excluded_lines": []}, "ValidationEngine._validate_schema": {"executed_lines": [279, 281, 284, 285, 288, 289, 291, 292, 294], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [282, 286], "excluded_lines": []}, "ValidationEngine.validate_performance": {"executed_lines": [310, 311, 313], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ValidationEngine.validate_test_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [329, 330, 332, 333, 334, 335, 337], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 19, 53, 92, 108, 134, 160, 184, 207, 233, 256, 269, 296, 315], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ValidationEngine": {"executed_lines": [17, 37, 38, 40, 41, 48, 49, 51, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 102, 103, 104, 106, 118, 119, 121, 122, 123, 127, 129, 130, 132, 144, 145, 147, 148, 149, 155, 156, 158, 170, 171, 173, 174, 176, 177, 179, 194, 195, 197, 198, 199, 205, 217, 218, 220, 221, 222, 228, 229, 231, 243, 244, 246, 248, 249, 251, 254, 279, 281, 284, 285, 288, 289, 291, 292, 294, 310, 311, 313], "summary": {"covered_lines": 86, "num_statements": 109, "percent_covered": 78.89908256880734, "percent_covered_display": "79", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [86, 125, 151, 153, 181, 182, 200, 201, 203, 224, 226, 252, 265, 267, 282, 286, 329, 330, 332, 333, 334, 335, 337], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 8, 9, 11, 19, 53, 92, 108, 134, 160, 184, 207, 233, 256, 269, 296, 315], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/data/__init__.py": {"executed_lines": [0], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/data/test_data_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 14, 20, 22, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 66, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 96, 97, 98, 100, 101, 102, 103, 104, 106, 107, 109, 111, 116, 117, 118, 119, 120, 122, 136, 137, 139, 140, 141, 143, 144, 146, 147, 149, 167, 169, 170, 172, 180, 194, 195, 197, 198, 199, 216, 218, 219, 221, 222, 230, 246, 247, 248, 250, 252, 253, 255, 256, 257, 258, 260, 261, 263, 264, 265, 266, 267], "summary": {"covered_lines": 99, "num_statements": 113, "percent_covered": 87.61061946902655, "percent_covered_display": "88", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [112, 113, 114, 115, 174, 175, 176, 177, 178, 224, 225, 226, 227, 228], "excluded_lines": [], "functions": {"TestDataManager.__init__": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestDataManager.load_test_cases_from_json": {"executed_lines": [34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 66, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestDataManager.load_test_data_from_csv": {"executed_lines": [96, 97, 98, 100, 101, 102, 103, 104, 106, 107, 109, 111, 116, 117, 118, 119, 120], "summary": {"covered_lines": 17, "num_statements": 21, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [112, 113, 114, 115], "excluded_lines": []}, "TestDataManager.parameterize_test_case": {"executed_lines": [136, 137, 139, 140, 141, 143, 144, 146, 147, 149, 167, 169, 170, 172], "summary": {"covered_lines": 14, "num_statements": 19, "percent_covered": 73.6842105263158, "percent_covered_display": "74", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [174, 175, 176, 177, 178], "excluded_lines": []}, "TestDataManager.save_test_cases_to_json": {"executed_lines": [194, 195, 197, 198, 199, 216, 218, 219, 221, 222], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [224, 225, 226, 227, 228], "excluded_lines": []}, "TestDataManager.save_test_data_to_csv": {"executed_lines": [246, 247, 248, 250, 252, 253, 255, 256, 257, 258, 260, 261, 263, 264, 265, 266, 267], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 14, 22, 84, 122, 180, 230], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TestDataManager": {"executed_lines": [20, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 66, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 96, 97, 98, 100, 101, 102, 103, 104, 106, 107, 109, 111, 116, 117, 118, 119, 120, 136, 137, 139, 140, 141, 143, 144, 146, 147, 149, 167, 169, 170, 172, 194, 195, 197, 198, 199, 216, 218, 219, 221, 222, 246, 247, 248, 250, 252, 253, 255, 256, 257, 258, 260, 261, 263, 264, 265, 266, 267], "summary": {"covered_lines": 86, "num_statements": 100, "percent_covered": 86.0, "percent_covered_display": "86", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [112, 113, 114, 115, 174, 175, 176, 177, 178, 224, 225, 226, 227, 228], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 12, 14, 22, 84, 122, 180, 230], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/main.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 22, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 50, 52, 54, 55, 57, 59, 61, 62, 63, 66, 67, 68, 69, 71, 72, 73, 75, 77, 78, 79, 80, 81, 83, 85, 86, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 101, 102, 103, 104, 105, 107, 108, 109, 111, 113, 114, 116, 118, 120, 121, 122, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 149, 150, 151, 157, 158, 159, 162], "summary": {"covered_lines": 114, "num_statements": 117, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [154, 155, 163], "excluded_lines": [], "functions": {"setup_logger": {"executed_lines": [13, 14, 15], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cli": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "run": {"executed_lines": [33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 50, 52, 54, 55, 57, 59, 61, 62, 63], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "list": {"executed_lines": [71, 72, 73, 75, 77, 78, 79, 80, 81, 83, 85, 86, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "report": {"executed_lines": [107, 108, 109, 111, 113, 114, 116, 118, 120, 121, 122], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "config": {"executed_lines": [131, 132, 134, 135, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 149, 150, 151, 157, 158, 159], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [154, 155], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 12, 18, 19, 20, 25, 26, 27, 28, 29, 30, 31, 66, 67, 68, 69, 101, 102, 103, 104, 105, 125, 126, 127, 128, 129, 162], "summary": {"covered_lines": 34, "num_statements": 35, "percent_covered": 97.14285714285714, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [163], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 22, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 50, 52, 54, 55, 57, 59, 61, 62, 63, 66, 67, 68, 69, 71, 72, 73, 75, 77, 78, 79, 80, 81, 83, 85, 86, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 101, 102, 103, 104, 105, 107, 108, 109, 111, 113, 114, 116, 118, 120, 121, 122, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 149, 150, 151, 157, 158, 159, 162], "summary": {"covered_lines": 114, "num_statements": 117, "percent_covered": 97.43589743589743, "percent_covered_display": "97", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [154, 155, 163], "excluded_lines": []}}}, "src/apitest/models/__init__.py": {"executed_lines": [0], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/models/exceptions.py": {"executed_lines": [1, 2, 3, 6, 7, 8, 11, 12, 13, 16, 17, 18, 21, 22, 23, 26, 27, 28, 31, 32, 33, 36, 37, 38], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 3, 6, 7, 8, 11, 12, 13, 16, 17, 18, 21, 22, 23, 26, 27, 28, 31, 32, 33, 36, 37, 38], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"APITestException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ConfigException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DataException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "RequestException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ValidationException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestRunException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ReportException": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 6, 7, 8, 11, 12, 13, 16, 17, 18, 21, 22, 23, 26, 27, 28, 31, 32, 33, 36, 37, 38], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/models/test_models.py": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 67, 69, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 95, 97, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 124, 125, 127, 128, 129, 131, 132, 134, 135, 136, 138, 140], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"TestCase.__post_init__": {"executed_lines": [51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PerformanceMetrics.to_dict": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestResult.__post_init__": {"executed_lines": [92, 93], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestResult.to_dict": {"executed_lines": [97], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSuiteResult.duration": {"executed_lines": [127, 128, 129], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSuiteResult.pass_rate": {"executed_lines": [134, 135, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSuiteResult.to_dict": {"executed_lines": [140], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 59, 60, 61, 62, 63, 64, 65, 67, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 95, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 124, 125, 131, 132, 138], "summary": {"covered_lines": 76, "num_statements": 76, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"HTTPMethod": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ValidationRule": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestCase": {"executed_lines": [51, 52, 53, 54, 55, 56], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PerformanceMetrics": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestResult": {"executed_lines": [92, 93, 97], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestSuiteResult": {"executed_lines": [127, 128, 129, 134, 135, 136, 140], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 59, 60, 61, 62, 63, 64, 65, 67, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 95, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 124, 125, 131, 132, 138], "summary": {"covered_lines": 76, "num_statements": 76, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/orchestrator/__init__.py": {"executed_lines": [1, 3, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 3, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/orchestrator/test_orchestrator.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 19, 32, 33, 34, 36, 42, 48, 50, 57, 59, 71, 72, 74, 75, 77, 78, 80, 81, 82, 83, 84, 88, 105, 107, 108, 110, 112, 113, 114, 115, 116, 118, 138, 139, 140, 141, 142, 144, 149, 150, 152, 153, 154, 155, 156, 157, 158, 160, 168, 194, 195, 196, 197, 198, 199, 200, 201, 202, 204, 211, 214, 222, 235, 236, 237, 239, 240, 245, 246, 258, 264, 265, 266, 268, 274, 275, 276], "summary": {"covered_lines": 89, "num_statements": 107, "percent_covered": 83.17757009345794, "percent_covered_display": "83", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [85, 86, 162, 163, 164, 165, 166, 212, 216, 217, 218, 219, 220, 251, 252, 254, 255, 256], "excluded_lines": [], "functions": {"TestOrchestrator.__init__": {"executed_lines": [32, 33, 34, 36, 42, 48, 50, 57], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestOrchestrator.load_test_cases": {"executed_lines": [71, 72, 74, 75, 77, 78, 80, 81, 82, 83, 84, 88, 105, 107, 108, 110, 112, 113, 114, 115, 116], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [85, 86], "excluded_lines": []}, "TestOrchestrator.run_test_suite": {"executed_lines": [138, 139, 140, 141, 142, 144, 149, 150, 152, 153, 154, 155, 156, 157, 158, 160], "summary": {"covered_lines": 16, "num_statements": 21, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [162, 163, 164, 165, 166], "excluded_lines": []}, "TestOrchestrator.run_test_suite_by_filter": {"executed_lines": [194, 195, 196, 197, 198, 199, 200, 201, 202, 204, 211, 214], "summary": {"covered_lines": 12, "num_statements": 18, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [212, 216, 217, 218, 219, 220], "excluded_lines": []}, "TestOrchestrator._generate_report": {"executed_lines": [235, 236, 237, 239, 240, 245, 246], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 58.333333333333336, "percent_covered_display": "58", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [251, 252, 254, 255, 256], "excluded_lines": []}, "TestOrchestrator.set_base_url": {"executed_lines": [264, 265, 266], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TestOrchestrator.set_auth_token": {"executed_lines": [274, 275, 276], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 19, 59, 118, 168, 222, 258, 268], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TestOrchestrator": {"executed_lines": [32, 33, 34, 36, 42, 48, 50, 57, 71, 72, 74, 75, 77, 78, 80, 81, 82, 83, 84, 88, 105, 107, 108, 110, 112, 113, 114, 115, 116, 138, 139, 140, 141, 142, 144, 149, 150, 152, 153, 154, 155, 156, 157, 158, 160, 194, 195, 196, 197, 198, 199, 200, 201, 202, 204, 211, 214, 235, 236, 237, 239, 240, 245, 246, 264, 265, 266, 274, 275, 276], "summary": {"covered_lines": 70, "num_statements": 88, "percent_covered": 79.54545454545455, "percent_covered_display": "80", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [85, 86, 162, 163, 164, 165, 166, 212, 216, 217, 218, 219, 220, 251, 252, 254, 255, 256], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 19, 59, 118, 168, 222, 258, 268], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/report/__init__.py": {"executed_lines": [1, 3, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 3, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/report/report_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 13, 19, 21, 40, 41, 43, 48, 49, 51, 52, 54, 62, 79, 80, 82, 84, 97, 98, 100, 101, 103, 111, 125, 126, 128, 130, 317, 318, 319, 320, 321, 323, 335, 343], "summary": {"covered_lines": 40, "num_statements": 50, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60, 105, 106, 107, 108, 109], "excluded_lines": [], "functions": {"ReportManager.__init__": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ReportManager.generate_html_report": {"executed_lines": [40, 41, 43, 48, 49, 51, 52, 54], "summary": {"covered_lines": 8, "num_statements": 13, "percent_covered": 61.53846153846154, "percent_covered_display": "62", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60], "excluded_lines": []}, "ReportManager.generate_json_report": {"executed_lines": [79, 80, 82, 84, 97, 98, 100, 101, 103], "summary": {"covered_lines": 9, "num_statements": 14, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109], "excluded_lines": []}, "ReportManager._generate_html_content": {"executed_lines": [125, 126, 128, 130, 317, 318, 319, 320, 321, 323, 335, 343], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 13, 21, 62, 111], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ReportManager": {"executed_lines": [19, 40, 41, 43, 48, 49, 51, 52, 54, 79, 80, 82, 84, 97, 98, 100, 101, 103, 125, 126, 128, 130, 317, 318, 319, 320, 321, 323, 335, 343], "summary": {"covered_lines": 30, "num_statements": 40, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60, 105, 106, 107, 108, 109], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 13, 21, 62, 111], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/apitest/utils/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 1172, "num_statements": 1299, "percent_covered": 90.22324865280986, "percent_covered_display": "90", "missing_lines": 127, "excluded_lines": 0}}