Coverage report: 82%

Files Functions Classes

coverage.py v7.13.1, created at 2026-01-20 02:29 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
src / updates2mqtt / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / __main__.py (no function)   0% 3 3 0   0% 2 0   0%
src / updates2mqtt / app.py App.__init__   77% 22 5 0   50% 4 2   73%
src / updates2mqtt / app.py App.scan   84% 19 3 0   70% 10 3   79%
src / updates2mqtt / app.py App.main_loop   72% 18 5 0   50% 10 3   64%
src / updates2mqtt / app.py App.on_discovery   47% 19 10 0   40% 10 4   45%
src / updates2mqtt / app.py App.interrupt_tasks   88% 8 1 0   100% 4 0   92%
src / updates2mqtt / app.py App.shutdown   86% 14 2 0   83% 6 1   85%
src / updates2mqtt / app.py App.healthcheck   40% 5 3 0   50% 2 1   43%
src / updates2mqtt / app.py repeated_call   0% 8 8 0   100% 0 0   0%
src / updates2mqtt / app.py run   100% 10 0 0   100% 0 0   100%
src / updates2mqtt / app.py (no function)   97% 32 1 0   50% 2 1   94%
src / updates2mqtt / config.py is_autogen_config   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / config.py load_app_config   58% 31 13 0   67% 12 2   60%
src / updates2mqtt / config.py (no function)   100% 106 0 0   100% 0 0   100%
src / updates2mqtt / hass_formatter.py hass_format_config   88% 16 2 0   79% 14 3   83%
src / updates2mqtt / hass_formatter.py hass_format_state   67% 6 2 0   50% 4 2   60%
src / updates2mqtt / hass_formatter.py (no function)   100% 8 0 0   100% 0 0   100%
src / updates2mqtt / integrations / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker.py safe_json_dt   0% 1 1 0   100% 0 0   0%
src / updates2mqtt / integrations / docker.py ContainerCustomization.__init__   97% 32 1 0   95% 20 1   96%
src / updates2mqtt / integrations / docker.py DockerProvider.__init__   100% 9 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker.py DockerProvider.initialize   0% 2 2 0   0% 2 0   0%
src / updates2mqtt / integrations / docker.py DockerProvider.update   0% 7 7 0   100% 0 0   0%
src / updates2mqtt / integrations / docker.py DockerProvider.fetch   91% 22 2 0   83% 12 2   88%
src / updates2mqtt / integrations / docker.py DockerProvider.full_repo_path   60% 5 2 0   50% 4 2   56%
src / updates2mqtt / integrations / docker.py DockerProvider.build   100% 3 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker.py DockerProvider.execute_compose   68% 19 6 0   60% 10 4   66%
src / updates2mqtt / integrations / docker.py DockerProvider.restart   0% 7 7 0   0% 2 0   0%
src / updates2mqtt / integrations / docker.py DockerProvider.rescan   93% 14 1 0   50% 4 2   83%
src / updates2mqtt / integrations / docker.py DockerProvider.check_throttle   100% 7 0 0   100% 4 0   100%
src / updates2mqtt / integrations / docker.py DockerProvider.throttle   100% 3 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker.py DockerProvider.analyze   81% 167 32 0   67% 66 18   77%
src / updates2mqtt / integrations / docker.py DockerProvider.analyze.save_if_set   100% 2 0 0   100% 2 0   100%
src / updates2mqtt / integrations / docker.py DockerProvider.scan   87% 23 3 0   62% 8 3   81%
src / updates2mqtt / integrations / docker.py DockerProvider.command   100% 27 0 0   90% 10 1   97%
src / updates2mqtt / integrations / docker.py DockerProvider.resolve   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker.py DockerProvider.default_metadata   80% 5 1 0   75% 4 1   78%
src / updates2mqtt / integrations / docker.py (no function)   100% 45 0 2   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py id_source_platform   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py PackageEnricher.__init__   100% 3 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py PackageEnricher.initialize   0% 1 1 0   100% 0 0   0%
src / updates2mqtt / integrations / docker_enrich.py PackageEnricher.enrich   100% 7 0 0   100% 6 0   100%
src / updates2mqtt / integrations / docker_enrich.py PackageEnricher.enrich.match   100% 6 0 0   83% 6 1   92%
src / updates2mqtt / integrations / docker_enrich.py DefaultPackageEnricher.enrich   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py CommonPackageEnricher.initialize   50% 10 5 0   50% 2 1   50%
src / updates2mqtt / integrations / docker_enrich.py LinuxServerIOPackageEnricher.initialize   87% 23 3 0   88% 8 1   87%
src / updates2mqtt / integrations / docker_enrich.py fetch_url   80% 15 3 0   100% 6 0   86%
src / updates2mqtt / integrations / docker_enrich.py validate_url   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py SourceReleaseEnricher.__init__   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py SourceReleaseEnricher.record   100% 2 0 0   100% 2 0   100%
src / updates2mqtt / integrations / docker_enrich.py SourceReleaseEnricher.enrich   86% 42 6 0   61% 18 5   78%
src / updates2mqtt / integrations / docker_enrich.py httpx_json_content   50% 6 3 0   50% 2 1   50%
src / updates2mqtt / integrations / docker_enrich.py LabelEnricher.__init__   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / integrations / docker_enrich.py LabelEnricher.fetch_token   32% 40 27 0   17% 18 3   28%
src / updates2mqtt / integrations / docker_enrich.py LabelEnricher.fetch_annotations   92% 40 3 0   75% 20 5   87%
src / updates2mqtt / integrations / docker_enrich.py (no function)   100% 42 0 0   100% 0 0   100%
src / updates2mqtt / integrations / git_utils.py git_trust   50% 6 3 0   100% 0 0   50%
src / updates2mqtt / integrations / git_utils.py git_iso_timestamp   44% 9 5 0   100% 0 0   44%
src / updates2mqtt / integrations / git_utils.py git_local_version   82% 11 2 0   50% 2 1   77%
src / updates2mqtt / integrations / git_utils.py git_check_update_available   93% 14 1 0   75% 4 1   89%
src / updates2mqtt / integrations / git_utils.py git_pull   100% 7 0 0   100% 2 0   100%
src / updates2mqtt / integrations / git_utils.py (no function)   100% 12 0 0   100% 0 0   100%
src / updates2mqtt / model.py timestamp   100% 6 0 0   100% 2 0   100%
src / updates2mqtt / model.py Discovery.__init__   100% 38 0 0   100% 6 0   100%
src / updates2mqtt / model.py Discovery.__repr__   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / model.py Discovery.__str__   100% 3 0 0   100% 0 0   100%
src / updates2mqtt / model.py Discovery.__str__.stringify   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / model.py Discovery.title   100% 3 0 0   100% 2 0   100%
src / updates2mqtt / model.py Discovery.as_dict   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.__init__   100% 5 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.initialize   0% 1 1 0   100% 0 0   0%
src / updates2mqtt / model.py ReleaseProvider.stop   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.__str__   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.update   100% 0 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.rescan   100% 0 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.scan   0% 1 1 0   100% 0 0   0%
src / updates2mqtt / model.py ReleaseProvider.command   100% 0 0 0   100% 0 0   100%
src / updates2mqtt / model.py ReleaseProvider.resolve   100% 0 0 0   100% 0 0   100%
src / updates2mqtt / model.py Selection.__init__   100% 15 0 0   100% 10 0   100%
src / updates2mqtt / model.py Selection.__bool__   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / model.py select_version   83% 18 3 0   83% 18 3   83%
src / updates2mqtt / model.py (no function)   100% 46 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.__init__   100% 8 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.start   100% 26 0 0   100% 6 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.stop   100% 4 0 0   50% 2 1   83%
src / updates2mqtt / mqtt.py MqttPublisher.is_available   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.on_connect   77% 13 3 0   75% 8 2   76%
src / updates2mqtt / mqtt.py MqttPublisher.on_disconnect   67% 3 1 0   50% 2 1   60%
src / updates2mqtt / mqtt.py MqttPublisher.clean_topics   100% 17 0 0   100% 4 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.clean_topics.cleanup   90% 20 2 0   100% 6 0   92%
src / updates2mqtt / mqtt.py MqttPublisher.safe_json_decode   100% 11 0 0   100% 2 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.execute_command   85% 34 5 0   80% 20 4   83%
src / updates2mqtt / mqtt.py MqttPublisher.local_message   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.on_subscribe   0% 1 1 0   100% 0 0   0%
src / updates2mqtt / mqtt.py MqttPublisher.on_unsubscribe   0% 1 1 0   100% 0 0   0%
src / updates2mqtt / mqtt.py MqttPublisher.on_message   100% 3 0 0   100% 2 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.handle_message   80% 5 1 0   50% 2 1   71%
src / updates2mqtt / mqtt.py MqttPublisher.handle_message.update_start   0% 2 2 0   0% 2 0   0%
src / updates2mqtt / mqtt.py MqttPublisher.handle_message.update_end   0% 2 2 0   0% 2 0   0%
src / updates2mqtt / mqtt.py MqttPublisher.config_topic   100% 2 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.state_topic   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.general_topic   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.command_topic   100% 1 0 0   100% 0 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.publish_discovery   83% 6 1 0   50% 2 1   75%
src / updates2mqtt / mqtt.py MqttPublisher.publish_hass_state   75% 4 1 0   50% 2 1   67%
src / updates2mqtt / mqtt.py MqttPublisher.publish_hass_config   80% 5 1 0   50% 2 1   71%
src / updates2mqtt / mqtt.py MqttPublisher.subscribe_hass_command   100% 7 0 0   100% 2 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.loop_once   100% 2 0 0   100% 2 0   100%
src / updates2mqtt / mqtt.py MqttPublisher.publish   100% 2 0 0   100% 2 0   100%
src / updates2mqtt / mqtt.py (no function)   100% 47 0 0   100% 0 0   100%
Total     85% 1408 211 2   71% 432 90   82%

No items found using the specified filter.