diff --git a/coverage/coverage.json b/coverage/coverage.json index 48a22af..afeee22 100644 --- a/coverage/coverage.json +++ b/coverage/coverage.json @@ -1 +1 @@ -{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2025-01-22T20:36:29.885455", "branch_coverage": false, "show_contexts": false}, "files": {"custom_components/__init__.py": {"executed_lines": [1], "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": [1], "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": [1], "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": []}}}, "custom_components/magentatv/__init__.py": {"executed_lines": [1, 6, 8, 10, 11, 12, 13, 14, 15, 17, 19, 35, 44, 61, 62, 64, 66, 81, 85, 87, 89, 91, 94, 96, 99, 102, 103, 104, 105, 108, 110, 121, 123, 125, 127], "summary": {"covered_lines": 34, "num_statements": 40, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [67, 69, 76, 77, 78, 106], "excluded_lines": [], "functions": {"async_setup": {"executed_lines": [62, 64, 66, 81], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [67, 69, 76, 77, 78], "excluded_lines": []}, "async_setup_entry": {"executed_lines": [87, 89, 91], "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": []}, "async_unload_entry": {"executed_lines": [96], "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": []}, "async_get_notification_server": {"executed_lines": [103, 104, 105, 108, 110, 121, 123, 125, 127], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [106], "excluded_lines": []}, "": {"executed_lines": [1, 6, 8, 10, 11, 12, 13, 14, 15, 17, 19, 35, 44, 61, 85, 94, 99, 102], "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": {"": {"executed_lines": [1, 6, 8, 10, 11, 12, 13, 14, 15, 17, 19, 35, 44, 61, 62, 64, 66, 81, 85, 87, 89, 91, 94, 96, 99, 102, 103, 104, 105, 108, 110, 121, 123, 125, 127], "summary": {"covered_lines": 34, "num_statements": 40, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [67, 69, 76, 77, 78, 106], "excluded_lines": []}}}, "custom_components/magentatv/api/__init__.py": {"executed_lines": [1, 2, 3, 4, 5, 7], "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": [], "functions": {"": {"executed_lines": [1, 2, 3, 4, 5, 7], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7], "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": []}}}, "custom_components/magentatv/api/client.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 22, 23, 25, 26, 29, 30, 32, 59, 63, 70, 82, 94, 127, 130, 134, 152, 164, 179, 209, 243, 256], "summary": {"covered_lines": 31, "num_statements": 123, "percent_covered": 25.203252032520325, "percent_covered_display": "25", "missing_lines": 92, "excluded_lines": 0}, "missing_lines": [41, 42, 43, 45, 47, 49, 50, 52, 54, 55, 57, 60, 61, 64, 65, 66, 67, 68, 72, 74, 75, 76, 77, 78, 79, 80, 83, 88, 95, 96, 97, 98, 99, 100, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 125, 128, 131, 132, 135, 136, 144, 145, 146, 147, 148, 150, 153, 162, 165, 167, 176, 177, 180, 181, 182, 192, 204, 205, 206, 207, 210, 213, 225, 234, 236, 241, 244, 245, 253, 254, 257, 258, 259, 267, 268], "excluded_lines": [], "functions": {"Client.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [41, 42, 43, 45, 47, 49, 50, 52, 54, 55, 57], "excluded_lines": []}, "Client.subscribe": {"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": [60, 61], "excluded_lines": []}, "Client.async_close": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 67, 68], "excluded_lines": []}, "Client._on_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [72, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": []}, "Client._register_for_events": {"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": [83, 88], "excluded_lines": []}, "Client.async_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [95, 96, 97, 98, 99, 100, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 125], "excluded_lines": []}, "Client.is_paired": {"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": [128], "excluded_lines": []}, "Client.assert_paired": {"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": [131, 132], "excluded_lines": []}, "Client.async_get_player_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [135, 136, 144, 145, 146, 147, 148, 150], "excluded_lines": []}, "Client._async_send_pairing_request": {"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": [153, 162], "excluded_lines": []}, "Client._async_verify_pairing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [165, 167, 176, 177], "excluded_lines": []}, "Client._async_send_upnp_soap": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 192, 204, 205, 206, 207], "excluded_lines": []}, "Client.async_send_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [210, 213, 225, 234, 236, 241], "excluded_lines": []}, "Client.async_send_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [244, 245, 253, 254], "excluded_lines": []}, "Client.async_send_character_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [257, 258, 259, 267, 268], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 22, 23, 25, 26, 29, 30, 32, 59, 63, 70, 82, 94, 127, 130, 134, 152, 164, 179, 209, 243, 256], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 92, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 92, "excluded_lines": 0}, "missing_lines": [41, 42, 43, 45, 47, 49, 50, 52, 54, 55, 57, 60, 61, 64, 65, 66, 67, 68, 72, 74, 75, 76, 77, 78, 79, 80, 83, 88, 95, 96, 97, 98, 99, 100, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 125, 128, 131, 132, 135, 136, 144, 145, 146, 147, 148, 150, 153, 162, 165, 167, 176, 177, 180, 181, 182, 192, 204, 205, 206, 207, 210, 213, 225, 234, 236, 241, 244, 245, 253, 254, 257, 258, 259, 267, 268], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 22, 23, 25, 26, 29, 30, 32, 59, 63, 70, 82, 94, 127, 130, 134, 152, 164, 179, 209, 243, 256], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/const.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyCode": {"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, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/event_model.py": {"executed_lines": [1, 4, 5, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"EventModel.set_keys": {"executed_lines": [12], "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": []}, "EitChangedEvent.filter_empty_program_info": {"executed_lines": [52], "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, 4, 5, 9, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EventModel": {"executed_lines": [12], "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": []}, "PlayContentEvent": {"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": []}, "ShortEvent": {"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": []}, "ProgramInfo": {"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": []}, "EitChangedEvent": {"executed_lines": [52], "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, 4, 5, 9, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/exceptions.py": {"executed_lines": [1, 2, 5, 6, 9, 10, 13, 14, 17, 18], "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": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 9, 10, 13, 14, 17, 18], "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": []}}, "classes": {"MagentaTvException": {"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": []}, "CommunicationException": {"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": []}, "CommunicationTimeoutException": {"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": []}, "PairingTimeoutException": {"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": []}, "NotPairedException": {"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, 5, 6, 9, 10, 13, 14, 17, 18], "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": []}}}, "custom_components/magentatv/api/notify_server.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 28, 29, 30, 38, 41, 42, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 90, 91, 101, 111, 125, 126, 152, 153, 168, 169, 183, 191, 194, 222, 250, 254, 265, 271, 292, 315], "summary": {"covered_lines": 55, "num_statements": 185, "percent_covered": 29.72972972972973, "percent_covered_display": "30", "missing_lines": 130, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 71, 72, 74, 75, 77, 79, 81, 82, 83, 85, 87, 88, 92, 96, 98, 99, 102, 103, 104, 106, 107, 109, 112, 113, 114, 115, 121, 122, 123, 127, 129, 130, 131, 132, 133, 135, 147, 148, 149, 150, 154, 165, 166, 170, 180, 181, 184, 185, 186, 187, 188, 189, 192, 195, 196, 198, 200, 201, 202, 203, 205, 206, 208, 209, 210, 212, 213, 214, 216, 217, 218, 220, 223, 224, 226, 228, 230, 232, 233, 234, 240, 241, 246, 248, 251, 252, 255, 256, 257, 258, 259, 266, 267, 268, 269, 273, 274, 276, 277, 278, 280, 286, 287, 288, 290, 295, 296, 298, 299, 302, 303, 304, 305, 306, 307, 308, 309, 311, 313, 316, 317, 318, 319, 322], "excluded_lines": [], "functions": {"wrap_exceptions": {"executed_lines": [30, 38], "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": []}, "wrap_exceptions.applicator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36], "excluded_lines": []}, "NotifyServer.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [71, 72, 74, 75, 77, 79, 81, 82, 83, 85, 87, 88], "excluded_lines": []}, "NotifyServer.create_socket": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [92, 96, 98, 99], "excluded_lines": []}, "NotifyServer._async_subscribe_to_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [102, 103, 104, 106, 107, 109], "excluded_lines": []}, "NotifyServer.async_unsubscribe": {"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": [112, 113, 114, 115, 121, 122, 123], "excluded_lines": []}, "NotifyServer._async_subscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [127, 129, 130, 131, 132, 133, 135, 147, 148, 149, 150], "excluded_lines": []}, "NotifyServer._async_resubscribe": {"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": [154, 165, 166], "excluded_lines": []}, "NotifyServer._async_unsubscribe": {"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": [170, 180, 181], "excluded_lines": []}, "NotifyServer._async_has_subscriptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [184, 185, 186, 187, 188, 189], "excluded_lines": []}, "NotifyServer._is_running": {"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": [192], "excluded_lines": []}, "NotifyServer.async_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [195, 196, 198, 200, 201, 202, 203, 205, 206, 208, 209, 210, 212, 213, 214, 216, 217, 218, 220], "excluded_lines": []}, "NotifyServer.async_start": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [223, 224, 226, 228, 230, 232, 233, 234, 240, 241, 246, 248], "excluded_lines": []}, "NotifyServer._start_resubscriber": {"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": [251, 252], "excluded_lines": []}, "NotifyServer._async_unsubscribe_all": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [255, 256, 257, 258, 259], "excluded_lines": []}, "NotifyServer._async_resubscribe_all": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269], "excluded_lines": []}, "NotifyServer._handle_request": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [273, 274, 276, 277, 278, 280, 286, 287, 288, 290], "excluded_lines": []}, "NotifyServer._handle_notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [295, 296, 298, 299, 302, 303, 304, 305, 306, 307, 308, 309, 311, 313], "excluded_lines": []}, "NotifyServer._notify_subscribed_callbacks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [316, 317, 318, 319, 322], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 28, 29, 41, 42, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 90, 91, 101, 111, 125, 126, 152, 153, 168, 169, 183, 191, 194, 222, 250, 254, 265, 271, 292, 315], "summary": {"covered_lines": 53, "num_statements": 53, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"NotifyServer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 124, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 124, "excluded_lines": 0}, "missing_lines": [71, 72, 74, 75, 77, 79, 81, 82, 83, 85, 87, 88, 92, 96, 98, 99, 102, 103, 104, 106, 107, 109, 112, 113, 114, 115, 121, 122, 123, 127, 129, 130, 131, 132, 133, 135, 147, 148, 149, 150, 154, 165, 166, 170, 180, 181, 184, 185, 186, 187, 188, 189, 192, 195, 196, 198, 200, 201, 202, 203, 205, 206, 208, 209, 210, 212, 213, 214, 216, 217, 218, 220, 223, 224, 226, 228, 230, 232, 233, 234, 240, 241, 246, 248, 251, 252, 255, 256, 257, 258, 259, 266, 267, 268, 269, 273, 274, 276, 277, 278, 280, 286, 287, 288, 290, 295, 296, 298, 299, 302, 303, 304, 305, 306, 307, 308, 309, 311, 313, 316, 317, 318, 319, 322], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 28, 29, 30, 38, 41, 42, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 90, 91, 101, 111, 125, 126, 152, 153, 168, 169, 183, 191, 194, 222, 250, 254, 265, 271, 292, 315], "summary": {"covered_lines": 55, "num_statements": 61, "percent_covered": 90.1639344262295, "percent_covered_display": "90", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36], "excluded_lines": []}}}, "custom_components/magentatv/api/state_machine.py": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 37, 38, 40, 41, 42, 44, 45, 46, 48, 50, 52, 53, 54, 56, 57, 58, 60, 61, 62, 64, 65, 66, 68, 70, 72, 73, 74, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 88, 90, 91, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 123, 125, 126, 129, 130, 131, 132, 133, 136, 144, 145, 147, 148, 150, 151, 152, 153, 154, 156, 162, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182], "summary": {"covered_lines": 122, "num_statements": 122, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"MediaReceiverStateMachine.on_connection_error": {"executed_lines": [38], "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": []}, "MediaReceiverStateMachine.on_event_eit_changed": {"executed_lines": [41, 42, 44, 45, 46, 48, 50], "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": []}, "MediaReceiverStateMachine._on_event_eit_changed_changed": {"executed_lines": [53, 54, 56, 57, 58], "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": []}, "MediaReceiverStateMachine.on_event_play_content": {"executed_lines": [61, 62, 64, 65, 66, 68, 70], "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": []}, "MediaReceiverStateMachine._on_event_play_content_changed": {"executed_lines": [73, 74, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 88, 90, 91, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MediaReceiverStateMachine.on_poll_player_state": {"executed_lines": [114, 115, 117, 118, 119, 121, 123], "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": []}, "MediaReceiverStateMachine._on_poll_player_state_changed": {"executed_lines": [126, 129, 130, 131, 132, 133, 136, 144, 145, 147, 148, 150, 151, 152, 153, 154, 156, 162, 164, 165, 166, 167, 168, 169], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MediaReceiverStateMachine._clear_non_state_attributes": {"executed_lines": [172, 173, 174, 175, 177, 178], "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": []}, "MediaReceiverStateMachine.available": {"executed_lines": [182], "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, 5, 7, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 37, 40, 52, 60, 72, 113, 125, 171, 180, 181], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"State": {"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": []}, "MediaReceiverStateMachine": {"executed_lines": [38, 41, 42, 44, 45, 46, 48, 50, 53, 54, 56, 57, 58, 61, 62, 64, 65, 66, 68, 70, 73, 74, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 88, 90, 91, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 114, 115, 117, 118, 119, 121, 123, 126, 129, 130, 131, 132, 133, 136, 144, 145, 147, 148, 150, 151, 152, 153, 154, 156, 162, 164, 165, 166, 167, 168, 169, 172, 173, 174, 175, 177, 178, 182], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 37, 40, 52, 60, 72, 113, 125, 171, 180, 181], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/utils.py": {"executed_lines": [1, 4, 5], "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": {"magneta_hash": {"executed_lines": [5], "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, 4], "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, 4, 5], "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": []}}}, "custom_components/magentatv/config_flow.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 26, 27, 28, 30, 31, 33, 34, 36, 37, 66, 67, 69, 71, 92, 123, 135, 166, 191, 208, 221, 259, 281, 308, 324, 347, 398], "summary": {"covered_lines": 37, "num_statements": 177, "percent_covered": 20.903954802259886, "percent_covered_display": "21", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 90, 98, 100, 101, 103, 105, 106, 107, 109, 111, 113, 119, 121, 127, 130, 131, 133, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 150, 164, 168, 171, 172, 173, 174, 177, 178, 179, 180, 182, 189, 193, 194, 195, 196, 199, 200, 201, 202, 204, 206, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 229, 230, 231, 232, 233, 235, 236, 237, 238, 240, 242, 243, 257, 262, 264, 270, 279, 282, 283, 284, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306, 309, 325, 327, 328, 331, 332, 335, 336, 337, 340, 350, 351, 352, 354, 356, 357, 359, 361, 363, 364, 366, 367, 369, 370, 372, 378, 379, 381, 383, 399, 400, 401, 402, 403, 404], "excluded_lines": [], "functions": {"MagentaTvFlowHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 90], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_user": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [98, 100, 101, 103, 105, 106, 107, 109, 111, 113, 119, 121], "excluded_lines": []}, "MagentaTvFlowHandler._async_get_discoveries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [127, 130, 131, 133], "excluded_lines": []}, "MagentaTvFlowHandler._async_identify_device": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 150, 164], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_manual": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [168, 171, 172, 173, 174, 177, 178, 179, 180, 182, 189], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_unignore": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [193, 194, 195, 196, 199, 200, 201, 202, 204, 206], "excluded_lines": []}, "MagentaTvFlowHandler._set_from_upnp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [209, 210, 211, 212, 213, 215, 216, 217, 218, 219], "excluded_lines": []}, "MagentaTvFlowHandler._async_set_info_from_discovery": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 232, 233, 235, 236, 237, 238, 240, 242, 243, 257], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_ssdp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [262, 264, 270, 279], "excluded_lines": []}, "MagentaTvFlowHandler._async_task_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [282, 283, 284, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_finish": {"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": [309], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [325, 327, 328, 331, 332, 335, 336, 337, 340], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_enter_user_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [350, 351, 352, 354, 356, 357, 359, 361, 363, 364, 366, 367, 369, 370, 372, 378, 379, 381, 383], "excluded_lines": []}, "MagentaTvFlowHandler._async_find_existing_user_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [399, 400, 401, 402, 403, 404], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 26, 27, 28, 30, 31, 33, 34, 36, 37, 66, 67, 69, 71, 92, 123, 135, 166, 191, 208, 221, 259, 281, 308, 324, 347, 398], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MagentaTvFlowHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 90, 98, 100, 101, 103, 105, 106, 107, 109, 111, 113, 119, 121, 127, 130, 131, 133, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 150, 164, 168, 171, 172, 173, 174, 177, 178, 179, 180, 182, 189, 193, 194, 195, 196, 199, 200, 201, 202, 204, 206, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 229, 230, 231, 232, 233, 235, 236, 237, 238, 240, 242, 243, 257, 262, 264, 270, 279, 282, 283, 284, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306, 309, 325, 327, 328, 331, 332, 335, 336, 337, 340, 350, 351, 352, 354, 356, 357, 359, 361, 363, 364, 366, 367, 369, 370, 372, 378, 379, 381, 383, 399, 400, 401, 402, 403, 404], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 26, 27, 28, 30, 31, 33, 34, 36, 37, 66, 67, 69, 71, 92, 123, 135, 166, 191, 208, 221, 259, 281, 308, 324, 347, 398], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/const.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 35, 37, 41, 42], "summary": {"covered_lines": 26, "num_statements": 30, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 44, 45, 47], "excluded_lines": [], "functions": {"key_code": {"executed_lines": [37, 41, 42], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 44, 45, 47], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 35], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 35, 37, 41, 42], "summary": {"covered_lines": 26, "num_statements": 30, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 44, 45, 47], "excluded_lines": []}}}, "custom_components/magentatv/media_player.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 17, 18, 27, 28, 29, 30, 31, 33, 34, 35, 41, 42, 50, 51, 53, 62, 68, 70, 71, 73, 81, 85, 87, 93, 95, 98, 116, 117, 119, 121, 122, 124, 132, 135, 136, 137, 148, 149, 151, 153, 170, 176, 179, 180, 182, 183, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 199, 200, 202, 204, 205, 207, 209, 210, 212, 219, 221, 222, 223, 225, 226, 228, 230, 231, 233, 234, 236, 237, 239, 240, 242, 244, 245, 246, 248, 249, 250, 252, 253, 258, 260, 261, 263, 265, 267, 269, 271, 273, 274, 276, 277, 279, 280, 281, 283, 284, 285, 287, 288, 290, 291, 293, 294, 296], "summary": {"covered_lines": 119, "num_statements": 137, "percent_covered": 86.86131386861314, "percent_covered_display": "87", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [83, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 213, 214, 218, 297], "excluded_lines": [], "functions": {"async_setup_entry": {"executed_lines": [68, 70, 71, 73, 81, 85, 87, 93, 95, 98], "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": []}, "async_setup_entry.async_close_connection": {"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": [83], "excluded_lines": []}, "MediaReceiver.__init__": {"executed_lines": [132, 135, 136, 137, 148, 149, 151], "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": []}, "MediaReceiver._async_on_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168], "excluded_lines": []}, "MediaReceiver.async_added_to_hass": {"executed_lines": [176, 179, 180], "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": []}, "MediaReceiver.async_will_remove_from_hass": {"executed_lines": [183], "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": []}, "MediaReceiver.async_update": {"executed_lines": [187, 188, 189, 191, 192, 193, 194, 195, 196], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MediaReceiver.available": {"executed_lines": [202], "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": []}, "MediaReceiver.state": {"executed_lines": [207], "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": []}, "MediaReceiver.media_title": {"executed_lines": [212, 219], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [213, 214, 218], "excluded_lines": []}, "MediaReceiver.media_channel": {"executed_lines": [223], "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": []}, "MediaReceiver.supported_features": {"executed_lines": [228, 230, 231, 233, 234, 236, 237, 239, 240, 242], "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": []}, "MediaReceiver.media_duration": {"executed_lines": [246], "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": []}, "MediaReceiver.media_position": {"executed_lines": [250], "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": []}, "MediaReceiver.media_position_updated_at": {"executed_lines": [258], "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": []}, "MediaReceiver.media_content_type": {"executed_lines": [263], "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": []}, "MediaReceiver.async_turn_on": {"executed_lines": [267], "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": []}, "MediaReceiver.async_turn_off": {"executed_lines": [271], "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": []}, "MediaReceiver.async_volume_up": {"executed_lines": [274], "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": []}, "MediaReceiver.async_volume_down": {"executed_lines": [277], "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": []}, "MediaReceiver.async_media_pause": {"executed_lines": [280, 281], "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": []}, "MediaReceiver.async_media_play": {"executed_lines": [284, 285], "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": []}, "MediaReceiver.async_media_next_track": {"executed_lines": [288], "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": []}, "MediaReceiver.async_media_previous_track": {"executed_lines": [291], "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": []}, "MediaReceiver.send_key": {"executed_lines": [294], "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": []}, "MediaReceiver.send_text": {"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": [297], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 17, 18, 27, 28, 29, 30, 31, 33, 34, 35, 41, 42, 50, 51, 53, 62, 116, 117, 119, 121, 122, 124, 153, 170, 182, 186, 199, 200, 204, 205, 209, 210, 221, 222, 225, 226, 244, 245, 248, 249, 252, 253, 260, 261, 265, 269, 273, 276, 279, 283, 287, 290, 293, 296], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MediaReceiver": {"executed_lines": [132, 135, 136, 137, 148, 149, 151, 176, 179, 180, 183, 187, 188, 189, 191, 192, 193, 194, 195, 196, 202, 207, 212, 219, 223, 228, 230, 231, 233, 234, 236, 237, 239, 240, 242, 246, 250, 258, 263, 267, 271, 274, 277, 280, 281, 284, 285, 288, 291, 294], "summary": {"covered_lines": 50, "num_statements": 67, "percent_covered": 74.6268656716418, "percent_covered_display": "75", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 213, 214, 218, 297], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 17, 18, 27, 28, 29, 30, 31, 33, 34, 35, 41, 42, 50, 51, 53, 62, 68, 70, 71, 73, 81, 85, 87, 93, 95, 98, 116, 117, 119, 121, 122, 124, 153, 170, 182, 186, 199, 200, 204, 205, 209, 210, 221, 222, 225, 226, 244, 245, 248, 249, 252, 253, 260, 261, 265, 269, 273, 276, 279, 283, 287, 290, 293, 296], "summary": {"covered_lines": 69, "num_statements": 70, "percent_covered": 98.57142857142857, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [83], "excluded_lines": []}}}, "tests/__init__.py": {"executed_lines": [1], "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": [1], "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": [1], "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": []}}}, "tests/api/test_event_model.py": {"executed_lines": [2, 4, 7, 8, 9, 10, 11, 21, 24, 25, 26, 27, 28, 65, 68, 69, 70, 71, 72, 80], "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": [], "functions": {"test_play_content_event_event_deserializes": {"executed_lines": [8, 9, 10, 11, 21], "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": []}, "test_eit_change_event_deserializes": {"executed_lines": [25, 26, 27, 28, 65], "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": []}, "test_eit_change_event_empty_deserializes": {"executed_lines": [69, 70, 71, 72, 80], "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": []}, "": {"executed_lines": [2, 4, 7, 24, 68], "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": []}}, "classes": {"": {"executed_lines": [2, 4, 7, 8, 9, 10, 11, 21, 24, 25, 26, 27, 28, 65, 68, 69, 70, 71, 72, 80], "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": []}}}, "tests/api/test_state_machine.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 37, 43, 44, 45, 48, 49, 52, 58, 59, 60, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, 129, 130, 131, 132, 133, 134, 137, 140, 141, 142, 143, 144, 145, 147, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167, 170, 175, 176, 177, 178, 181, 183, 184, 187, 190, 191, 192, 193, 194, 195, 197, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 215, 217, 218, 219, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 284, 285, 286, 287, 288, 290, 330, 331, 332, 333, 334, 336, 338, 339, 340, 341, 342, 344, 345, 347, 348, 349, 350, 351, 354, 358, 359, 360, 361, 362, 365, 367, 368, 370, 373, 374, 375, 376, 380, 391, 392, 393, 394, 396, 401, 402, 403, 404, 406, 411, 412, 413, 414, 417, 428, 429, 430, 431, 433, 436, 437, 438, 439, 441, 446, 447, 448, 449], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"assert_unknwon": {"executed_lines": [6, 7], "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": []}, "assert_off": {"executed_lines": [11, 12], "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": []}, "assert_non_state_attributes_none": {"executed_lines": [16, 17, 18, 19, 20], "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": []}, "test_state_machine_empty": {"executed_lines": [24, 25, 26], "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": []}, "test_state_machine_deep_sleep": {"executed_lines": [30, 31, 32, 33, 34], "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": []}, "test_state_machine_shallow_sleep": {"executed_lines": [43, 44, 45, 48, 49], "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": []}, "test_state_machine_shallow_sleep_then_on": {"executed_lines": [58, 59, 60, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, 129, 130, 131, 132, 133, 134, 137, 140, 141, 142, 143, 144, 145, 147, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_state_machine_shallow_sleep_then_on_without_events": {"executed_lines": [175, 176, 177, 178, 181, 183, 184, 187, 190, 191, 192, 193, 194, 195, 197, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_on_then_channel_change": {"executed_lines": [217, 218, 219, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 284, 285, 286, 287, 288, 290, 330, 331, 332, 333, 334, 336, 338, 339, 340, 341, 342, 344, 345, 347, 348, 349, 350, 351, 354, 358, 359, 360, 361, 362], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_on_pause_then_play": {"executed_lines": [367, 368, 370, 373, 374, 375, 376, 380, 391, 392, 393, 394, 396, 401, 402, 403, 404, 406, 411, 412, 413, 414, 417, 428, 429, 430, 431, 433, 436, 437, 438, 439, 441, 446, 447, 448, 449], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 10, 15, 23, 29, 37, 52, 170, 215, 365], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 37, 43, 44, 45, 48, 49, 52, 58, 59, 60, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, 129, 130, 131, 132, 133, 134, 137, 140, 141, 142, 143, 144, 145, 147, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167, 170, 175, 176, 177, 178, 181, 183, 184, 187, 190, 191, 192, 193, 194, 195, 197, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 215, 217, 218, 219, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 284, 285, 286, 287, 288, 290, 330, 331, 332, 333, 334, 336, 338, 339, 340, 341, 342, 344, 345, 347, 348, 349, 350, 351, 354, 358, 359, 360, 361, 362, 365, 367, 368, 370, 373, 374, 375, 376, 380, 391, 392, 393, 394, 396, 401, 402, 403, 404, 406, 411, 412, 413, 414, 417, 428, 429, 430, 431, 433, 436, 437, 438, 439, 441, 446, 447, 448, 449], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "tests/api/test_utils.py": {"executed_lines": [1, 4, 5], "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": {"test_hash_function": {"executed_lines": [5], "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, 4], "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, 4, 5], "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": []}}}, "tests/conftest.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": []}}}, "tests/integration/conftest.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 12, 15, 18, 19, 21, 24, 29, 30, 32, 35, 36, 38, 43, 46, 47, 49, 52], "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": [], "functions": {"mock_api_client": {"executed_lines": [12, 15], "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": []}, "mock_notify_server": {"executed_lines": [21, 24], "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": []}, "auto_enable_custom_integrations": {"executed_lines": [32], "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": []}, "silent_ssdp_listener": {"executed_lines": [38, 43], "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": []}, "disabled_upnp_server": {"executed_lines": [49, 52], "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, 4, 5, 6, 9, 10, 18, 19, 29, 30, 35, 36, 46, 47], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 12, 15, 18, 19, 21, 24, 29, 30, 32, 35, 36, 38, 43, 46, 47, 49, 52], "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": []}}}, "tests/integration/test_media_player_entity.py": {"executed_lines": [1, 3, 4, 6, 7, 11, 20, 21, 23, 24, 25, 27, 43, 52, 53, 64, 65, 68, 69, 71, 73, 74, 75, 77, 79, 80, 81, 83, 84, 85, 86, 103, 105, 106, 107, 109, 111, 112, 113, 115, 117, 118, 121, 123, 125, 126, 127, 129, 130, 140, 141, 144, 146, 147, 149, 150, 151, 153, 154, 163, 164, 167, 169, 170, 172, 173, 174, 176, 177, 186, 187, 190, 192, 193, 195, 196, 197, 199, 200, 207, 208, 211, 213, 214, 216, 217, 218, 220, 221, 228, 229, 232, 234, 235, 237, 238, 239, 241, 242, 249, 250, 253, 255, 256, 258, 259, 260, 262, 263, 270, 271, 274, 276, 277, 279, 280, 281, 283, 284, 291, 292, 295, 297, 298, 300, 301, 302, 304, 305, 312, 313], "summary": {"covered_lines": 130, "num_statements": 130, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_entity_loads_data": {"executed_lines": [68, 69, 71, 73, 74, 75, 77, 79, 80, 81, 83, 84, 85, 86], "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": []}, "test_entity_unavailble": {"executed_lines": [105, 106, 107, 109, 111, 112, 113, 115, 117, 118], "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": []}, "test_send_key_service": {"executed_lines": [123, 125, 126, 127, 129, 130, 140, 141], "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": []}, "test_service_power_off": {"executed_lines": [146, 147, 149, 150, 151, 153, 154, 163, 164], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_power_on": {"executed_lines": [169, 170, 172, 173, 174, 176, 177, 186, 187], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_volume_up": {"executed_lines": [192, 193, 195, 196, 197, 199, 200, 207, 208], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_volume_down": {"executed_lines": [213, 214, 216, 217, 218, 220, 221, 228, 229], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_channel_up": {"executed_lines": [234, 235, 237, 238, 239, 241, 242, 249, 250], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_channel_down": {"executed_lines": [255, 256, 258, 259, 260, 262, 263, 270, 271], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_pause": {"executed_lines": [276, 277, 279, 280, 281, 283, 284, 291, 292], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_play": {"executed_lines": [297, 298, 300, 301, 302, 304, 305, 312, 313], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 11, 20, 21, 23, 24, 25, 27, 43, 52, 53, 64, 65, 103, 121, 144, 167, 190, 211, 232, 253, 274, 295], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 11, 20, 21, 23, 24, 25, 27, 43, 52, 53, 64, 65, 68, 69, 71, 73, 74, 75, 77, 79, 80, 81, 83, 84, 85, 86, 103, 105, 106, 107, 109, 111, 112, 113, 115, 117, 118, 121, 123, 125, 126, 127, 129, 130, 140, 141, 144, 146, 147, 149, 150, 151, 153, 154, 163, 164, 167, 169, 170, 172, 173, 174, 176, 177, 186, 187, 190, 192, 193, 195, 196, 197, 199, 200, 207, 208, 211, 213, 214, 216, 217, 218, 220, 221, 228, 229, 232, 234, 235, 237, 238, 239, 241, 242, 249, 250, 253, 255, 256, 258, 259, 260, 262, 263, 270, 271, 274, 276, 277, 279, 280, 281, 283, 284, 291, 292, 295, 297, 298, 300, 301, 302, 304, 305, 312, 313], "summary": {"covered_lines": 130, "num_statements": 130, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 959, "num_statements": 1349, "percent_covered": 71.08969607116383, "percent_covered_display": "71", "missing_lines": 390, "excluded_lines": 0}} \ No newline at end of file +{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2025-01-24T10:39:02.485467", "branch_coverage": false, "show_contexts": false}, "files": {"custom_components/__init__.py": {"executed_lines": [1], "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": [1], "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": [1], "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": []}}}, "custom_components/magentatv/__init__.py": {"executed_lines": [1, 6, 8, 10, 11, 12, 13, 14, 15, 17, 19, 35, 44, 61, 62, 64, 66, 81, 85, 87, 89, 91, 94, 96, 99, 102, 103, 104, 105, 108, 110, 121, 123, 125, 127], "summary": {"covered_lines": 34, "num_statements": 40, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [67, 69, 76, 77, 78, 106], "excluded_lines": [], "functions": {"async_setup": {"executed_lines": [62, 64, 66, 81], "summary": {"covered_lines": 4, "num_statements": 9, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [67, 69, 76, 77, 78], "excluded_lines": []}, "async_setup_entry": {"executed_lines": [87, 89, 91], "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": []}, "async_unload_entry": {"executed_lines": [96], "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": []}, "async_get_notification_server": {"executed_lines": [103, 104, 105, 108, 110, 121, 123, 125, 127], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [106], "excluded_lines": []}, "": {"executed_lines": [1, 6, 8, 10, 11, 12, 13, 14, 15, 17, 19, 35, 44, 61, 85, 94, 99, 102], "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": {"": {"executed_lines": [1, 6, 8, 10, 11, 12, 13, 14, 15, 17, 19, 35, 44, 61, 62, 64, 66, 81, 85, 87, 89, 91, 94, 96, 99, 102, 103, 104, 105, 108, 110, 121, 123, 125, 127], "summary": {"covered_lines": 34, "num_statements": 40, "percent_covered": 85.0, "percent_covered_display": "85", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [67, 69, 76, 77, 78, 106], "excluded_lines": []}}}, "custom_components/magentatv/api/__init__.py": {"executed_lines": [1, 2, 3, 4, 5, 7], "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": [], "functions": {"": {"executed_lines": [1, 2, 3, 4, 5, 7], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7], "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": []}}}, "custom_components/magentatv/api/client.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 22, 23, 25, 26, 29, 30, 32, 59, 63, 70, 82, 94, 127, 130, 134, 152, 164, 179, 209, 243, 256], "summary": {"covered_lines": 31, "num_statements": 123, "percent_covered": 25.203252032520325, "percent_covered_display": "25", "missing_lines": 92, "excluded_lines": 0}, "missing_lines": [41, 42, 43, 45, 47, 49, 50, 52, 54, 55, 57, 60, 61, 64, 65, 66, 67, 68, 72, 74, 75, 76, 77, 78, 79, 80, 83, 88, 95, 96, 97, 98, 99, 100, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 125, 128, 131, 132, 135, 136, 144, 145, 146, 147, 148, 150, 153, 162, 165, 167, 176, 177, 180, 181, 182, 192, 204, 205, 206, 207, 210, 213, 225, 234, 236, 241, 244, 245, 253, 254, 257, 258, 259, 267, 268], "excluded_lines": [], "functions": {"Client.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [41, 42, 43, 45, 47, 49, 50, 52, 54, 55, 57], "excluded_lines": []}, "Client.subscribe": {"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": [60, 61], "excluded_lines": []}, "Client.async_close": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 67, 68], "excluded_lines": []}, "Client._on_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [72, 74, 75, 76, 77, 78, 79, 80], "excluded_lines": []}, "Client._register_for_events": {"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": [83, 88], "excluded_lines": []}, "Client.async_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [95, 96, 97, 98, 99, 100, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 125], "excluded_lines": []}, "Client.is_paired": {"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": [128], "excluded_lines": []}, "Client.assert_paired": {"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": [131, 132], "excluded_lines": []}, "Client.async_get_player_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [135, 136, 144, 145, 146, 147, 148, 150], "excluded_lines": []}, "Client._async_send_pairing_request": {"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": [153, 162], "excluded_lines": []}, "Client._async_verify_pairing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [165, 167, 176, 177], "excluded_lines": []}, "Client._async_send_upnp_soap": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 192, 204, 205, 206, 207], "excluded_lines": []}, "Client.async_send_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [210, 213, 225, 234, 236, 241], "excluded_lines": []}, "Client.async_send_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [244, 245, 253, 254], "excluded_lines": []}, "Client.async_send_character_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [257, 258, 259, 267, 268], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 22, 23, 25, 26, 29, 30, 32, 59, 63, 70, 82, 94, 127, 130, 134, 152, 164, 179, 209, 243, 256], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 92, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 92, "excluded_lines": 0}, "missing_lines": [41, 42, 43, 45, 47, 49, 50, 52, 54, 55, 57, 60, 61, 64, 65, 66, 67, 68, 72, 74, 75, 76, 77, 78, 79, 80, 83, 88, 95, 96, 97, 98, 99, 100, 102, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 124, 125, 128, 131, 132, 135, 136, 144, 145, 146, 147, 148, 150, 153, 162, 165, 167, 176, 177, 180, 181, 182, 192, 204, 205, 206, 207, 210, 213, 225, 234, 236, 241, 244, 245, 253, 254, 257, 258, 259, 267, 268], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 22, 23, 25, 26, 29, 30, 32, 59, 63, 70, 82, 94, 127, 130, 134, 152, 164, 179, 209, 243, 256], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/const.py": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyCode": {"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, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/event_model.py": {"executed_lines": [1, 4, 5, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"EventModel.set_keys": {"executed_lines": [12], "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": []}, "EitChangedEvent.filter_empty_program_info": {"executed_lines": [52], "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, 4, 5, 9, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EventModel": {"executed_lines": [12], "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": []}, "PlayContentEvent": {"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": []}, "ShortEvent": {"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": []}, "ProgramInfo": {"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": []}, "EitChangedEvent": {"executed_lines": [52], "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, 4, 5, 9, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/exceptions.py": {"executed_lines": [1, 2, 5, 6, 9, 10, 13, 14, 17, 18], "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": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 9, 10, 13, 14, 17, 18], "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": []}}, "classes": {"MagentaTvException": {"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": []}, "CommunicationException": {"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": []}, "CommunicationTimeoutException": {"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": []}, "PairingTimeoutException": {"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": []}, "NotPairedException": {"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, 5, 6, 9, 10, 13, 14, 17, 18], "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": []}}}, "custom_components/magentatv/api/notify_server.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 28, 29, 30, 38, 41, 42, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 90, 91, 101, 111, 125, 126, 153, 154, 169, 170, 184, 192, 195, 223, 251, 255, 266, 272, 293, 321], "summary": {"covered_lines": 55, "num_statements": 189, "percent_covered": 29.1005291005291, "percent_covered_display": "29", "missing_lines": 134, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 71, 72, 74, 75, 77, 79, 81, 82, 83, 85, 87, 88, 92, 96, 98, 99, 102, 103, 104, 106, 107, 109, 112, 113, 114, 115, 121, 122, 123, 127, 129, 130, 131, 132, 133, 135, 148, 149, 150, 151, 155, 166, 167, 171, 181, 182, 185, 186, 187, 188, 189, 190, 193, 196, 197, 199, 201, 202, 203, 204, 206, 207, 209, 210, 211, 213, 214, 215, 217, 218, 219, 221, 224, 225, 227, 229, 231, 233, 234, 235, 241, 242, 247, 249, 252, 253, 256, 257, 258, 259, 260, 267, 268, 269, 270, 274, 275, 277, 278, 279, 281, 287, 288, 289, 291, 296, 297, 299, 300, 303, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 319, 322, 323, 324, 325, 328], "excluded_lines": [], "functions": {"wrap_exceptions": {"executed_lines": [30, 38], "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": []}, "wrap_exceptions.applicator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36], "excluded_lines": []}, "NotifyServer.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [71, 72, 74, 75, 77, 79, 81, 82, 83, 85, 87, 88], "excluded_lines": []}, "NotifyServer.create_socket": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [92, 96, 98, 99], "excluded_lines": []}, "NotifyServer._async_subscribe_to_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [102, 103, 104, 106, 107, 109], "excluded_lines": []}, "NotifyServer.async_unsubscribe": {"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": [112, 113, 114, 115, 121, 122, 123], "excluded_lines": []}, "NotifyServer._async_subscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [127, 129, 130, 131, 132, 133, 135, 148, 149, 150, 151], "excluded_lines": []}, "NotifyServer._async_resubscribe": {"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": [155, 166, 167], "excluded_lines": []}, "NotifyServer._async_unsubscribe": {"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": [171, 181, 182], "excluded_lines": []}, "NotifyServer._async_has_subscriptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [185, 186, 187, 188, 189, 190], "excluded_lines": []}, "NotifyServer._is_running": {"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": [193], "excluded_lines": []}, "NotifyServer.async_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [196, 197, 199, 201, 202, 203, 204, 206, 207, 209, 210, 211, 213, 214, 215, 217, 218, 219, 221], "excluded_lines": []}, "NotifyServer.async_start": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [224, 225, 227, 229, 231, 233, 234, 235, 241, 242, 247, 249], "excluded_lines": []}, "NotifyServer._start_resubscriber": {"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": [252, 253], "excluded_lines": []}, "NotifyServer._async_unsubscribe_all": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [256, 257, 258, 259, 260], "excluded_lines": []}, "NotifyServer._async_resubscribe_all": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [267, 268, 269, 270], "excluded_lines": []}, "NotifyServer._handle_request": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [274, 275, 277, 278, 279, 281, 287, 288, 289, 291], "excluded_lines": []}, "NotifyServer._handle_notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [296, 297, 299, 300, 303, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 319], "excluded_lines": []}, "NotifyServer._notify_subscribed_callbacks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [322, 323, 324, 325, 328], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 28, 29, 41, 42, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 90, 91, 101, 111, 125, 126, 153, 154, 169, 170, 184, 192, 195, 223, 251, 255, 266, 272, 293, 321], "summary": {"covered_lines": 53, "num_statements": 53, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"NotifyServer": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 128, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 128, "excluded_lines": 0}, "missing_lines": [71, 72, 74, 75, 77, 79, 81, 82, 83, 85, 87, 88, 92, 96, 98, 99, 102, 103, 104, 106, 107, 109, 112, 113, 114, 115, 121, 122, 123, 127, 129, 130, 131, 132, 133, 135, 148, 149, 150, 151, 155, 166, 167, 171, 181, 182, 185, 186, 187, 188, 189, 190, 193, 196, 197, 199, 201, 202, 203, 204, 206, 207, 209, 210, 211, 213, 214, 215, 217, 218, 219, 221, 224, 225, 227, 229, 231, 233, 234, 235, 241, 242, 247, 249, 252, 253, 256, 257, 258, 259, 260, 267, 268, 269, 270, 274, 275, 277, 278, 279, 281, 287, 288, 289, 291, 296, 297, 299, 300, 303, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 317, 319, 322, 323, 324, 325, 328], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 28, 29, 30, 38, 41, 42, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 59, 61, 90, 91, 101, 111, 125, 126, 153, 154, 169, 170, 184, 192, 195, 223, 251, 255, 266, 272, 293, 321], "summary": {"covered_lines": 55, "num_statements": 61, "percent_covered": 90.1639344262295, "percent_covered_display": "90", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36], "excluded_lines": []}}}, "custom_components/magentatv/api/state_machine.py": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 37, 38, 40, 41, 42, 44, 45, 46, 48, 50, 52, 53, 54, 56, 57, 58, 60, 61, 62, 64, 65, 66, 68, 70, 72, 73, 74, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 88, 90, 91, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 113, 114, 115, 117, 118, 119, 121, 123, 125, 126, 129, 130, 131, 132, 133, 136, 144, 145, 147, 148, 150, 151, 152, 153, 154, 156, 162, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 175, 177, 178, 180, 181, 182], "summary": {"covered_lines": 122, "num_statements": 122, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"MediaReceiverStateMachine.on_connection_error": {"executed_lines": [38], "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": []}, "MediaReceiverStateMachine.on_event_eit_changed": {"executed_lines": [41, 42, 44, 45, 46, 48, 50], "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": []}, "MediaReceiverStateMachine._on_event_eit_changed_changed": {"executed_lines": [53, 54, 56, 57, 58], "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": []}, "MediaReceiverStateMachine.on_event_play_content": {"executed_lines": [61, 62, 64, 65, 66, 68, 70], "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": []}, "MediaReceiverStateMachine._on_event_play_content_changed": {"executed_lines": [73, 74, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 88, 90, 91, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MediaReceiverStateMachine.on_poll_player_state": {"executed_lines": [114, 115, 117, 118, 119, 121, 123], "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": []}, "MediaReceiverStateMachine._on_poll_player_state_changed": {"executed_lines": [126, 129, 130, 131, 132, 133, 136, 144, 145, 147, 148, 150, 151, 152, 153, 154, 156, 162, 164, 165, 166, 167, 168, 169], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MediaReceiverStateMachine._clear_non_state_attributes": {"executed_lines": [172, 173, 174, 175, 177, 178], "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": []}, "MediaReceiverStateMachine.available": {"executed_lines": [182], "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, 5, 7, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 37, 40, 52, 60, 72, 113, 125, 171, 180, 181], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"State": {"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": []}, "MediaReceiverStateMachine": {"executed_lines": [38, 41, 42, 44, 45, 46, 48, 50, 53, 54, 56, 57, 58, 61, 62, 64, 65, 66, 68, 70, 73, 74, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 88, 90, 91, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 114, 115, 117, 118, 119, 121, 123, 126, 129, 130, 131, 132, 133, 136, 144, 145, 147, 148, 150, 151, 152, 153, 154, 156, 162, 164, 165, 166, 167, 168, 169, 172, 173, 174, 175, 177, 178, 182], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 10, 11, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 37, 40, 52, 60, 72, 113, 125, 171, 180, 181], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/api/utils.py": {"executed_lines": [1, 4, 5], "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": {"magneta_hash": {"executed_lines": [5], "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, 4], "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, 4, 5], "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": []}}}, "custom_components/magentatv/config_flow.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 26, 27, 28, 30, 31, 33, 34, 36, 37, 66, 67, 69, 71, 92, 123, 135, 166, 191, 208, 221, 259, 281, 308, 324, 347, 398], "summary": {"covered_lines": 37, "num_statements": 177, "percent_covered": 20.903954802259886, "percent_covered_display": "21", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 90, 98, 100, 101, 103, 105, 106, 107, 109, 111, 113, 119, 121, 127, 130, 131, 133, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 150, 164, 168, 171, 172, 173, 174, 177, 178, 179, 180, 182, 189, 193, 194, 195, 196, 199, 200, 201, 202, 204, 206, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 229, 230, 231, 232, 233, 235, 236, 237, 238, 240, 242, 243, 257, 262, 264, 270, 279, 282, 283, 284, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306, 309, 325, 327, 328, 331, 332, 335, 336, 337, 340, 350, 351, 352, 354, 356, 357, 359, 361, 363, 364, 366, 367, 369, 370, 372, 378, 379, 381, 383, 399, 400, 401, 402, 403, 404], "excluded_lines": [], "functions": {"MagentaTvFlowHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 90], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_user": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [98, 100, 101, 103, 105, 106, 107, 109, 111, 113, 119, 121], "excluded_lines": []}, "MagentaTvFlowHandler._async_get_discoveries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [127, 130, 131, 133], "excluded_lines": []}, "MagentaTvFlowHandler._async_identify_device": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 150, 164], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_manual": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [168, 171, 172, 173, 174, 177, 178, 179, 180, 182, 189], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_unignore": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [193, 194, 195, 196, 199, 200, 201, 202, 204, 206], "excluded_lines": []}, "MagentaTvFlowHandler._set_from_upnp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [209, 210, 211, 212, 213, 215, 216, 217, 218, 219], "excluded_lines": []}, "MagentaTvFlowHandler._async_set_info_from_discovery": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 232, 233, 235, 236, 237, 238, 240, 242, 243, 257], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_ssdp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [262, 264, 270, 279], "excluded_lines": []}, "MagentaTvFlowHandler._async_task_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [282, 283, 284, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_finish": {"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": [309], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [325, 327, 328, 331, 332, 335, 336, 337, 340], "excluded_lines": []}, "MagentaTvFlowHandler.async_step_enter_user_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [350, 351, 352, 354, 356, 357, 359, 361, 363, 364, 366, 367, 369, 370, 372, 378, 379, 381, 383], "excluded_lines": []}, "MagentaTvFlowHandler._async_find_existing_user_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [399, 400, 401, 402, 403, 404], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 26, 27, 28, 30, 31, 33, 34, 36, 37, 66, 67, 69, 71, 92, 123, 135, 166, 191, 208, 221, 259, 281, 308, 324, 347, 398], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MagentaTvFlowHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 140, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 140, "excluded_lines": 0}, "missing_lines": [73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 87, 89, 90, 98, 100, 101, 103, 105, 106, 107, 109, 111, 113, 119, 121, 127, 130, 131, 133, 136, 137, 139, 140, 141, 143, 144, 145, 146, 148, 150, 164, 168, 171, 172, 173, 174, 177, 178, 179, 180, 182, 189, 193, 194, 195, 196, 199, 200, 201, 202, 204, 206, 209, 210, 211, 212, 213, 215, 216, 217, 218, 219, 229, 230, 231, 232, 233, 235, 236, 237, 238, 240, 242, 243, 257, 262, 264, 270, 279, 282, 283, 284, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 305, 306, 309, 325, 327, 328, 331, 332, 335, 336, 337, 340, 350, 351, 352, 354, 356, 357, 359, 361, 363, 364, 366, 367, 369, 370, 372, 378, 379, 381, 383, 399, 400, 401, 402, 403, 404], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 26, 27, 28, 30, 31, 33, 34, 36, 37, 66, 67, 69, 71, 92, 123, 135, 166, 191, 208, 221, 259, 281, 308, 324, 347, 398], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "custom_components/magentatv/const.py": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 35, 37, 41, 42], "summary": {"covered_lines": 26, "num_statements": 30, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 44, 45, 47], "excluded_lines": [], "functions": {"key_code": {"executed_lines": [37, 41, 42], "summary": {"covered_lines": 3, "num_statements": 7, "percent_covered": 42.857142857142854, "percent_covered_display": "43", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 44, 45, 47], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 35], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 31, 32, 35, 37, 41, 42], "summary": {"covered_lines": 26, "num_statements": 30, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [38, 44, 45, 47], "excluded_lines": []}}}, "custom_components/magentatv/media_player.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 17, 18, 27, 28, 29, 30, 31, 33, 34, 35, 41, 42, 50, 51, 53, 62, 68, 70, 71, 73, 81, 85, 87, 93, 95, 98, 116, 117, 119, 121, 122, 124, 132, 135, 136, 137, 148, 149, 151, 153, 170, 176, 179, 180, 182, 183, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 199, 200, 202, 204, 205, 207, 209, 210, 212, 219, 221, 222, 223, 225, 226, 228, 230, 231, 233, 234, 236, 237, 239, 240, 242, 244, 245, 246, 248, 249, 250, 252, 253, 258, 260, 261, 263, 265, 267, 269, 271, 273, 274, 276, 277, 279, 280, 281, 283, 284, 285, 287, 288, 290, 291, 293, 294, 296], "summary": {"covered_lines": 119, "num_statements": 137, "percent_covered": 86.86131386861314, "percent_covered_display": "87", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [83, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 213, 214, 218, 297], "excluded_lines": [], "functions": {"async_setup_entry": {"executed_lines": [68, 70, 71, 73, 81, 85, 87, 93, 95, 98], "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": []}, "async_setup_entry.async_close_connection": {"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": [83], "excluded_lines": []}, "MediaReceiver.__init__": {"executed_lines": [132, 135, 136, 137, 148, 149, 151], "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": []}, "MediaReceiver._async_on_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168], "excluded_lines": []}, "MediaReceiver.async_added_to_hass": {"executed_lines": [176, 179, 180], "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": []}, "MediaReceiver.async_will_remove_from_hass": {"executed_lines": [183], "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": []}, "MediaReceiver.async_update": {"executed_lines": [187, 188, 189, 191, 192, 193, 194, 195, 196], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "MediaReceiver.available": {"executed_lines": [202], "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": []}, "MediaReceiver.state": {"executed_lines": [207], "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": []}, "MediaReceiver.media_title": {"executed_lines": [212, 219], "summary": {"covered_lines": 2, "num_statements": 5, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [213, 214, 218], "excluded_lines": []}, "MediaReceiver.media_channel": {"executed_lines": [223], "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": []}, "MediaReceiver.supported_features": {"executed_lines": [228, 230, 231, 233, 234, 236, 237, 239, 240, 242], "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": []}, "MediaReceiver.media_duration": {"executed_lines": [246], "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": []}, "MediaReceiver.media_position": {"executed_lines": [250], "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": []}, "MediaReceiver.media_position_updated_at": {"executed_lines": [258], "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": []}, "MediaReceiver.media_content_type": {"executed_lines": [263], "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": []}, "MediaReceiver.async_turn_on": {"executed_lines": [267], "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": []}, "MediaReceiver.async_turn_off": {"executed_lines": [271], "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": []}, "MediaReceiver.async_volume_up": {"executed_lines": [274], "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": []}, "MediaReceiver.async_volume_down": {"executed_lines": [277], "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": []}, "MediaReceiver.async_media_pause": {"executed_lines": [280, 281], "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": []}, "MediaReceiver.async_media_play": {"executed_lines": [284, 285], "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": []}, "MediaReceiver.async_media_next_track": {"executed_lines": [288], "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": []}, "MediaReceiver.async_media_previous_track": {"executed_lines": [291], "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": []}, "MediaReceiver.send_key": {"executed_lines": [294], "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": []}, "MediaReceiver.send_text": {"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": [297], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 17, 18, 27, 28, 29, 30, 31, 33, 34, 35, 41, 42, 50, 51, 53, 62, 116, 117, 119, 121, 122, 124, 153, 170, 182, 186, 199, 200, 204, 205, 209, 210, 221, 222, 225, 226, 244, 245, 248, 249, 252, 253, 260, 261, 265, 269, 273, 276, 279, 283, 287, 290, 293, 296], "summary": {"covered_lines": 59, "num_statements": 59, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"MediaReceiver": {"executed_lines": [132, 135, 136, 137, 148, 149, 151, 176, 179, 180, 183, 187, 188, 189, 191, 192, 193, 194, 195, 196, 202, 207, 212, 219, 223, 228, 230, 231, 233, 234, 236, 237, 239, 240, 242, 246, 250, 258, 263, 267, 271, 274, 277, 280, 281, 284, 285, 288, 291, 294], "summary": {"covered_lines": 50, "num_statements": 67, "percent_covered": 74.6268656716418, "percent_covered_display": "75", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 168, 213, 214, 218, 297], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 17, 18, 27, 28, 29, 30, 31, 33, 34, 35, 41, 42, 50, 51, 53, 62, 68, 70, 71, 73, 81, 85, 87, 93, 95, 98, 116, 117, 119, 121, 122, 124, 153, 170, 182, 186, 199, 200, 204, 205, 209, 210, 221, 222, 225, 226, 244, 245, 248, 249, 252, 253, 260, 261, 265, 269, 273, 276, 279, 283, 287, 290, 293, 296], "summary": {"covered_lines": 69, "num_statements": 70, "percent_covered": 98.57142857142857, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [83], "excluded_lines": []}}}, "tests/__init__.py": {"executed_lines": [1], "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": [1], "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": [1], "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": []}}}, "tests/api/test_event_model.py": {"executed_lines": [2, 4, 7, 8, 9, 10, 11, 21, 24, 25, 26, 27, 28, 65, 68, 69, 70, 71, 72, 80], "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": [], "functions": {"test_play_content_event_event_deserializes": {"executed_lines": [8, 9, 10, 11, 21], "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": []}, "test_eit_change_event_deserializes": {"executed_lines": [25, 26, 27, 28, 65], "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": []}, "test_eit_change_event_empty_deserializes": {"executed_lines": [69, 70, 71, 72, 80], "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": []}, "": {"executed_lines": [2, 4, 7, 24, 68], "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": []}}, "classes": {"": {"executed_lines": [2, 4, 7, 8, 9, 10, 11, 21, 24, 25, 26, 27, 28, 65, 68, 69, 70, 71, 72, 80], "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": []}}}, "tests/api/test_state_machine.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 37, 43, 44, 45, 48, 49, 52, 58, 59, 60, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, 129, 130, 131, 132, 133, 134, 137, 140, 141, 142, 143, 144, 145, 147, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167, 170, 175, 176, 177, 178, 181, 183, 184, 187, 190, 191, 192, 193, 194, 195, 197, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 215, 217, 218, 219, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 284, 285, 286, 287, 288, 290, 330, 331, 332, 333, 334, 336, 338, 339, 340, 341, 342, 344, 345, 347, 348, 349, 350, 351, 354, 358, 359, 360, 361, 362, 365, 367, 368, 370, 373, 374, 375, 376, 380, 391, 392, 393, 394, 396, 401, 402, 403, 404, 406, 411, 412, 413, 414, 417, 428, 429, 430, 431, 433, 436, 437, 438, 439, 441, 446, 447, 448, 449], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"assert_unknwon": {"executed_lines": [6, 7], "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": []}, "assert_off": {"executed_lines": [11, 12], "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": []}, "assert_non_state_attributes_none": {"executed_lines": [16, 17, 18, 19, 20], "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": []}, "test_state_machine_empty": {"executed_lines": [24, 25, 26], "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": []}, "test_state_machine_deep_sleep": {"executed_lines": [30, 31, 32, 33, 34], "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": []}, "test_state_machine_shallow_sleep": {"executed_lines": [43, 44, 45, 48, 49], "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": []}, "test_state_machine_shallow_sleep_then_on": {"executed_lines": [58, 59, 60, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, 129, 130, 131, 132, 133, 134, 137, 140, 141, 142, 143, 144, 145, 147, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_state_machine_shallow_sleep_then_on_without_events": {"executed_lines": [175, 176, 177, 178, 181, 183, 184, 187, 190, 191, 192, 193, 194, 195, 197, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_on_then_channel_change": {"executed_lines": [217, 218, 219, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 284, 285, 286, 287, 288, 290, 330, 331, 332, 333, 334, 336, 338, 339, 340, 341, 342, 344, 345, 347, 348, 349, 350, 351, 354, 358, 359, 360, 361, 362], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_on_pause_then_play": {"executed_lines": [367, 368, 370, 373, 374, 375, 376, 380, 391, 392, 393, 394, 396, 401, 402, 403, 404, 406, 411, 412, 413, 414, 417, 428, 429, 430, 431, 433, 436, 437, 438, 439, 441, 446, 447, 448, 449], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 10, 15, 23, 29, 37, 52, 170, 215, 365], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 37, 43, 44, 45, 48, 49, 52, 58, 59, 60, 62, 63, 64, 67, 68, 69, 70, 71, 72, 73, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 127, 129, 130, 131, 132, 133, 134, 137, 140, 141, 142, 143, 144, 145, 147, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167, 170, 175, 176, 177, 178, 181, 183, 184, 187, 190, 191, 192, 193, 194, 195, 197, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 215, 217, 218, 219, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, 245, 284, 285, 286, 287, 288, 290, 330, 331, 332, 333, 334, 336, 338, 339, 340, 341, 342, 344, 345, 347, 348, 349, 350, 351, 354, 358, 359, 360, 361, 362, 365, 367, 368, 370, 373, 374, 375, 376, 380, 391, 392, 393, 394, 396, 401, 402, 403, 404, 406, 411, 412, 413, 414, 417, 428, 429, 430, 431, 433, 436, 437, 438, 439, 441, 446, 447, 448, 449], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "tests/api/test_utils.py": {"executed_lines": [1, 4, 5], "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": {"test_hash_function": {"executed_lines": [5], "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, 4], "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, 4, 5], "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": []}}}, "tests/conftest.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": []}}}, "tests/integration/conftest.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 12, 15, 18, 19, 21, 24, 29, 30, 32, 35, 36, 38, 43, 46, 47, 49, 52], "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": [], "functions": {"mock_api_client": {"executed_lines": [12, 15], "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": []}, "mock_notify_server": {"executed_lines": [21, 24], "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": []}, "auto_enable_custom_integrations": {"executed_lines": [32], "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": []}, "silent_ssdp_listener": {"executed_lines": [38, 43], "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": []}, "disabled_upnp_server": {"executed_lines": [49, 52], "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, 4, 5, 6, 9, 10, 18, 19, 29, 30, 35, 36, 46, 47], "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": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 12, 15, 18, 19, 21, 24, 29, 30, 32, 35, 36, 38, 43, 46, 47, 49, 52], "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": []}}}, "tests/integration/test_media_player_entity.py": {"executed_lines": [1, 3, 4, 6, 7, 11, 20, 21, 23, 24, 25, 27, 43, 52, 53, 64, 65, 68, 69, 71, 73, 74, 75, 77, 79, 80, 81, 83, 84, 85, 86, 103, 105, 106, 107, 109, 111, 112, 113, 115, 117, 118, 121, 123, 125, 126, 127, 129, 130, 140, 141, 144, 146, 147, 149, 150, 151, 153, 154, 163, 164, 167, 169, 170, 172, 173, 174, 176, 177, 186, 187, 190, 192, 193, 195, 196, 197, 199, 200, 207, 208, 211, 213, 214, 216, 217, 218, 220, 221, 228, 229, 232, 234, 235, 237, 238, 239, 241, 242, 249, 250, 253, 255, 256, 258, 259, 260, 262, 263, 270, 271, 274, 276, 277, 279, 280, 281, 283, 284, 291, 292, 295, 297, 298, 300, 301, 302, 304, 305, 312, 313], "summary": {"covered_lines": 130, "num_statements": 130, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"test_entity_loads_data": {"executed_lines": [68, 69, 71, 73, 74, 75, 77, 79, 80, 81, 83, 84, 85, 86], "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": []}, "test_entity_unavailble": {"executed_lines": [105, 106, 107, 109, 111, 112, 113, 115, 117, 118], "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": []}, "test_send_key_service": {"executed_lines": [123, 125, 126, 127, 129, 130, 140, 141], "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": []}, "test_service_power_off": {"executed_lines": [146, 147, 149, 150, 151, 153, 154, 163, 164], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_power_on": {"executed_lines": [169, 170, 172, 173, 174, 176, 177, 186, 187], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_volume_up": {"executed_lines": [192, 193, 195, 196, 197, 199, 200, 207, 208], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_volume_down": {"executed_lines": [213, 214, 216, 217, 218, 220, 221, 228, 229], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_channel_up": {"executed_lines": [234, 235, 237, 238, 239, 241, 242, 249, 250], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_channel_down": {"executed_lines": [255, 256, 258, 259, 260, 262, 263, 270, 271], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_pause": {"executed_lines": [276, 277, 279, 280, 281, 283, 284, 291, 292], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_service_play": {"executed_lines": [297, 298, 300, 301, 302, 304, 305, 312, 313], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 11, 20, 21, 23, 24, 25, 27, 43, 52, 53, 64, 65, 103, 121, 144, 167, 190, 211, 232, 253, 274, 295], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 11, 20, 21, 23, 24, 25, 27, 43, 52, 53, 64, 65, 68, 69, 71, 73, 74, 75, 77, 79, 80, 81, 83, 84, 85, 86, 103, 105, 106, 107, 109, 111, 112, 113, 115, 117, 118, 121, 123, 125, 126, 127, 129, 130, 140, 141, 144, 146, 147, 149, 150, 151, 153, 154, 163, 164, 167, 169, 170, 172, 173, 174, 176, 177, 186, 187, 190, 192, 193, 195, 196, 197, 199, 200, 207, 208, 211, 213, 214, 216, 217, 218, 220, 221, 228, 229, 232, 234, 235, 237, 238, 239, 241, 242, 249, 250, 253, 255, 256, 258, 259, 260, 262, 263, 270, 271, 274, 276, 277, 279, 280, 281, 283, 284, 291, 292, 295, 297, 298, 300, 301, 302, 304, 305, 312, 313], "summary": {"covered_lines": 130, "num_statements": 130, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 959, "num_statements": 1353, "percent_covered": 70.87952697708795, "percent_covered_display": "71", "missing_lines": 394, "excluded_lines": 0}} \ No newline at end of file