Coverage report: 60%

Files Functions Classes

coverage.py v7.15.4, created at 2026-10-05 13:50 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
custom_components/ha_repl_server/__init__.py async_setup   75% 4 1 0   50% 2 1   67%
custom_components/ha_repl_server/__init__.py async_setup_entry   100% 8 0 0   100% 0 0   100%
custom_components/ha_repl_server/__init__.py async_unload_entry   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/__init__.py (no function)   100% 17 0 0   100% 0 0   100%
custom_components/ha_repl_server/browser.py open_target   0% 5 5 0   0% 2 0   0%
custom_components/ha_repl_server/browser.py (no function)   100% 6 0 0   100% 0 0   100%
custom_components/ha_repl_server/config_flow.py HaReplServerConfigFlow.async_step_user   0% 3 3 0   0% 2 0   0%
custom_components/ha_repl_server/config_flow.py HaReplServerConfigFlow.async_step_import   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/config_flow.py (no function)   100% 9 0 0   100% 0 0   100%
custom_components/ha_repl_server/const.py (no function)   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py _get_entity   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py _as_set   100% 3 0 0   100% 2 0   100%
custom_components/ha_repl_server/objtree.py _require_str   67% 3 1 0   50% 2 1   60%
custom_components/ha_repl_server/objtree.py _Found.__getattr__   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py _resolve_ids   43% 7 4 0   25% 4 1   36%
custom_components/ha_repl_server/objtree.py _entity_area_id   43% 7 4 0   33% 6 2   38%
custom_components/ha_repl_server/objtree.py _public_attrs   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py _normalize   0% 5 5 0   0% 4 0   0%
custom_components/ha_repl_server/objtree.py _clean   0% 7 7 0   0% 4 0   0%
custom_components/ha_repl_server/objtree.py _OrderedView.__getitem__   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/objtree.py _OrderedView.__reversed__   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/objtree.py ObjTree.mode   100% 6 0 0   100% 4 0   100%
custom_components/ha_repl_server/objtree.py ObjTree.__getitem__   82% 39 7 0   77% 22 5   80%
custom_components/ha_repl_server/objtree.py ObjTree._entity_at   100% 5 0 0   100% 2 0   100%
custom_components/ha_repl_server/objtree.py ObjTree._api_entity_at   75% 8 2 0   50% 4 2   67%
custom_components/ha_repl_server/objtree.py ObjTree._to_api_entity   100% 3 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py ObjTree._entries   73% 15 4 0   67% 12 4   70%
custom_components/ha_repl_server/objtree.py ObjTree.__iter__   100% 3 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py ObjTree._find   86% 21 3 0   75% 4 1   84%
custom_components/ha_repl_server/objtree.py ObjTree._find._matches   76% 17 4 0   71% 14 4   74%
custom_components/ha_repl_server/objtree.py ObjTree.find   75% 4 1 0   50% 2 1   67%
custom_components/ha_repl_server/objtree.py ObjTree.find_paths   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py ObjTree.find_names   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py ObjTree.show   0% 18 18 0   0% 4 0   0%
custom_components/ha_repl_server/objtree.py ObjTree.__len__   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/objtree.py ObjTree.keys   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/objtree.py ObjTree.values   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/objtree.py ObjTree.items   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/objtree.py ObjTree.__repr__   0% 4 4 0   100% 0 0   0%
custom_components/ha_repl_server/objtree.py (no function)   100% 76 0 0   100% 0 0   100%
custom_components/ha_repl_server/paths.py parse_path   100% 4 0 0   100% 2 0   100%
custom_components/ha_repl_server/paths.py (no function)   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/rest.py connect_hass_api   69% 13 4 0   67% 6 2   68%
custom_components/ha_repl_server/rest.py (no function)   100% 6 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py ExecResult.as_dict   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/session.py Session.run   90% 29 3 0   83% 6 1   89%
custom_components/ha_repl_server/session.py Session._execute   100% 17 0 0   100% 8 0   100%
custom_components/ha_repl_server/session.py _render   100% 4 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _maybe_await   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py unawait   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/session.py _AutoAwait.visit_FunctionDef   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _AutoAwait.visit_Lambda   0% 1 1 0   100% 0 0   0%
custom_components/ha_repl_server/session.py _AutoAwait.visit_Await   83% 6 1 0   50% 2 1   75%
custom_components/ha_repl_server/session.py _AutoAwait.visit_Call   100% 5 0 0   100% 2 0   100%
custom_components/ha_repl_server/session.py _run_code   100% 4 0 0   100% 2 0   100%
custom_components/ha_repl_server/session.py _capturing_print   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _capturing_print.shell_print   100% 3 0 0   50% 2 1   80%
custom_components/ha_repl_server/session.py _capturing_help   100% 3 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _capturing_help.shell_help   80% 15 3 0   75% 8 2   78%
custom_components/ha_repl_server/session.py _doc_url   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _is_summarisable   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _class_summary   100% 14 0 0   100% 6 0   100%
custom_components/ha_repl_server/session.py _is_plain_method   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py _format_signature   59% 22 9 0   75% 8 2   63%
custom_components/ha_repl_server/session.py _format_error   100% 7 0 0   100% 4 0   100%
custom_components/ha_repl_server/session.py SessionManager.__init__   100% 2 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py SessionManager.get   100% 4 0 0   100% 2 0   100%
custom_components/ha_repl_server/session.py SessionManager.reset   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py SessionManager.describe   100% 1 0 0   100% 0 0   100%
custom_components/ha_repl_server/session.py (no function)   100% 67 0 0   100% 0 0   100%
custom_components/ha_repl_server/websocket_api.py async_register   100% 3 0 0   100% 0 0   100%
custom_components/ha_repl_server/websocket_api.py _manager   0% 3 3 0   0% 2 0   0%
custom_components/ha_repl_server/websocket_api.py ws_exec   0% 4 4 0   0% 2 0   0%
custom_components/ha_repl_server/websocket_api.py ws_reset   0% 3 3 0   0% 2 0   0%
custom_components/ha_repl_server/websocket_api.py ws_sessions   0% 3 3 0   0% 2 0   0%
custom_components/ha_repl_server/websocket_api.py (no function)   100% 22 0 0   100% 0 0   100%
src/homeassistant_repl/__init__.py connect   0% 4 4 0   100% 0 0   0%
src/homeassistant_repl/__init__.py (no function)   100% 6 0 0   100% 0 0   100%
src/homeassistant_repl/__main__.py (no function)   0% 2 2 0   100% 0 0   0%
src/homeassistant_repl/api_objtree.py _ApiClient.call   100% 0 0 1   100% 0 0   100%
src/homeassistant_repl/api_objtree.py parse_path   75% 4 1 0   50% 2 1   67%
src/homeassistant_repl/api_objtree.py _as_set   100% 3 0 0   100% 2 0   100%
src/homeassistant_repl/api_objtree.py _require_str   100% 3 0 0   100% 2 0   100%
src/homeassistant_repl/api_objtree.py _OrderedView.__getitem__   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py _OrderedView.__reversed__   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py _Found.__getattr__   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py Cache.__init__   100% 6 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py Cache.is_stale   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py Cache.reset   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py Cache.refresh   100% 20 0 0   83% 6 1   96%
src/homeassistant_repl/api_objtree.py _resolve_from_cache   100% 10 0 0   100% 6 0   100%
src/homeassistant_repl/api_objtree.py _normalize   100% 3 0 0   100% 2 0   100%
src/homeassistant_repl/api_objtree.py _clean   100% 9 0 0   100% 6 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.reset_cache   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.__getitem__   85% 27 4 0   86% 14 2   85%
src/homeassistant_repl/api_objtree.py ApiObjTree._entries   88% 8 1 0   88% 8 1   88%
src/homeassistant_repl/api_objtree.py ApiObjTree.__iter__   100% 4 0 0   100% 2 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.__len__   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.keys   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.values   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/api_objtree.py ApiObjTree.items   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/api_objtree.py ApiObjTree._find   83% 18 3 0   75% 4 1   82%
src/homeassistant_repl/api_objtree.py ApiObjTree._find._matches   100% 13 0 0   100% 12 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.find   100% 4 0 0   100% 2 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.find_paths   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.find_names   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/api_objtree.py ApiObjTree.show   76% 17 4 0   50% 4 2   71%
src/homeassistant_repl/api_objtree.py ApiObjTree.__repr__   0% 4 4 0   100% 0 0   0%
src/homeassistant_repl/api_objtree.py (no function)   100% 65 0 3   100% 0 0   100%
src/homeassistant_repl/apirepl.py run_api_repl   0% 36 36 0   0% 8 0   0%
src/homeassistant_repl/apirepl.py (no function)   0% 16 16 0   100% 0 0   0%
src/homeassistant_repl/cli.py main   0% 8 8 0   100% 0 0   0%
src/homeassistant_repl/cli.py _parser   0% 18 18 0   100% 0 0   0%
src/homeassistant_repl/cli.py _dispatch   0% 19 19 0   0% 8 0   0%
src/homeassistant_repl/cli.py _exec   0% 20 20 0   0% 14 0   0%
src/homeassistant_repl/cli.py display_options   0% 3 3 0   100% 0 0   0%
src/homeassistant_repl/cli.py print_result   0% 11 11 0   0% 10 0   0%
src/homeassistant_repl/cli.py _emit   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/cli.py _format_sessions   0% 3 3 0   0% 2 0   0%
src/homeassistant_repl/cli.py (no function)   0% 17 17 0   100% 0 0   0%
src/homeassistant_repl/client.py _dotenv   92% 13 1 0   88% 8 1   90%
src/homeassistant_repl/client.py _default_url   100% 1 0 0   100% 0 0   100%
src/homeassistant_repl/client.py resolve_url   90% 10 1 0   50% 6 3   75%
src/homeassistant_repl/client.py resolve_rest_url   70% 10 3 0   33% 6 2   56%
src/homeassistant_repl/client.py resolve_token   100% 4 0 0   100% 2 0   100%
src/homeassistant_repl/client.py Client.__init__   0% 5 5 0   100% 0 0   0%
src/homeassistant_repl/client.py Client.token   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/client.py Client.__aenter__   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/client.py Client.__aexit__   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/client.py Client.open   0% 17 17 0   0% 6 0   0%
src/homeassistant_repl/client.py Client.close   0% 2 2 0   100% 0 0   0%
src/homeassistant_repl/client.py Client._recv   0% 7 7 0   0% 2 0   0%
src/homeassistant_repl/client.py Client.call   0% 12 12 0   0% 6 0   0%
src/homeassistant_repl/client.py (no function)   100% 26 0 0   100% 0 0   100%
src/homeassistant_repl/local_session.py LocalSession.__post_init__   0% 4 4 0   100% 0 0   0%
src/homeassistant_repl/local_session.py LocalSession.run   0% 8 8 0   0% 2 0   0%
src/homeassistant_repl/local_session.py LocalSession._execute   0% 17 17 0   0% 8 0   0%
src/homeassistant_repl/local_session.py _maybe_await   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/local_session.py unawait   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/local_session.py _AutoAwait.visit_FunctionDef   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/local_session.py _AutoAwait.visit_Lambda   0% 1 1 0   100% 0 0   0%
src/homeassistant_repl/local_session.py _AutoAwait.visit_Await   0% 6 6 0   0% 2 0   0%
src/homeassistant_repl/local_session.py _AutoAwait.visit_Call   0% 5 5 0   0% 2 0   0%
src/homeassistant_repl/local_session.py _run_code   0% 4 4 0   0% 2 0   0%
src/homeassistant_repl/local_session.py _print_error   0% 7 7 0   0% 4 0   0%
src/homeassistant_repl/local_session.py (no function)   0% 32 32 0   100% 0 0   0%
src/homeassistant_repl/repl.py run_repl   0% 27 27 0   0% 6 0   0%
src/homeassistant_repl/repl.py is_quit_call   0% 5 5 0   100% 0 0   0%
src/homeassistant_repl/repl.py (no function)   0% 13 13 0   100% 0 0   0%
src/homeassistant_repl/rest.py hass_api   100% 8 0 0   100% 2 0   100%
src/homeassistant_repl/rest.py (no function)   100% 5 0 0   100% 0 0   100%
Total     62% 1247 475 4   54% 340 45   60%

No items found using the specified filter.