J. Nick Koston
3387892f59
Schedule tasks eagerly when called from hass.add_job ( #113014 )
2024-03-10 21:19:49 -10:00
Marc Mueller
cb8c14496c
Use more f-strings [ruff] ( #112695 )
2024-03-08 18:44:42 +01:00
Marc Mueller
19ab3d6daf
Add empty line after module docstring [helpers + other] ( #112707 )
2024-03-08 10:36:11 -05:00
J. Nick Koston
1fb9cfe37e
Speed up the frame helper ( #112562 )
2024-03-06 20:54:09 -10:00
J. Nick Koston
1e173e82d0
Add support for preloading platforms in the loader ( #112282 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 16:33:12 -10:00
Erik Montnemery
c58828aac0
Remove unused test helper mock_area_registry ( #112172 )
2024-03-04 06:09:27 -05:00
J. Nick Koston
9af12a0639
Avoid calling async_get_component twice for each component being setup ( #112096 )
...
We already have the component so we can pass it to
async_process_component_config to avoid having to
look it up again
2024-03-03 12:48:07 -05:00
J. Nick Koston
67e356904b
Add support for eager tasks ( #111425 )
...
* Add support for eager tasks
python 3.12 supports eager tasks
reading:
https://docs.python.org/3/library/asyncio-task.html#eager-task-factory
https://github.com/python/cpython/issues/97696
There are lots of places were we are unlikely to suspend, but we might
suspend so creating a task makes sense
* reduce
* revert entity
* revert
* coverage
* coverage
* coverage
* coverage
* fix test
2024-02-26 11:36:46 -05:00
J. Nick Koston
4bddf32cc4
Avoid the final write of every registry at the end of each test ( #111053 )
2024-02-21 06:01:19 -06:00
J. Nick Koston
dc4008c518
Avoid creating tasks to shutdown entity platforms ( #111026 )
...
* Avoid creating tasks to shutdown entity platforms
Nothing needed to be awaited here
* fix mocking
* missed one test
2024-02-20 21:10:25 -05:00
J. Nick Koston
98d5f2fc01
Reduce registry overhead in tests ( #110955 )
...
* Avoid scheduling registry loads as tasks in tests
Since we patch out async_load in Store, these will not yield
to the event loop so it makes sense to await them instead
of creating tasks
This reduced my local test run times ~2.5% on average
* mock out save as well so we do not schedule tasks to save empty data
* tweaks
* fix lingering files
* another one
* too much for one PR, reduce
* fix targets
2024-02-20 21:01:50 -05:00
Franck Nijhof
e0a9dcd996
Add label registry ( #110821 )
2024-02-19 11:59:08 +01:00
J. Nick Koston
16653ff5d0
Group loading of translations for integrations to reduce executor jobs at startup ( #110674 )
2024-02-17 21:08:55 -06:00
Franck Nijhof
4570eed6f6
Add floor registry ( #110741 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-17 21:21:15 +01:00
Marc Mueller
2ef2172b01
Convert test helpers to get hass instance to contextmanagers ( #109990 )
...
* Convert get_test_home_assistant helper to contextmanager
* Convert async_test_home_assistant helper to contextmanager
* Move timezone reset to async_test_home_assistant helper
2024-02-11 21:23:51 +01:00
Piotr Machowski
a2f4e99994
Add state_translated function to jinja templates ( #96906 )
...
* Add state_translated jinja function
* Add tests for load_state_translations_to_cache and get_cached_translations
* Cleanup state_translated template
* Add tests for state_translated jinja function
* Apply black formatting
* Improve code quality
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Apply suggestions from code review
* Prevent invalid components from loading translations
* Refactor loading translations to cache
* Adjust code issues
* Update homeassistant/helpers/translation.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Refactor listeners that trigger translation loading
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Apply suggestions from code review
* Adjust invalid function calls, fix code styling
* Adjust code quality
* Extract async_translate_state function
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Apply suggestions from code review
* Fix tests
* Fix tests
---------
Co-authored-by: Piotr Machowski <PiotrMachowski@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-10 10:47:56 +01:00
J. Nick Koston
f6d4617c7a
Avoid directly changing config entry state in tests (part 2) ( #110115 )
...
followup to #110048 for more places
2024-02-10 07:20:15 +01:00
J. Nick Koston
02efe41564
Avoid directly changing config entry state in tests ( #110048 )
2024-02-08 16:31:17 -06:00
J. Nick Koston
c399cab427
Small speed up to checking core state ( #107845 )
2024-01-18 08:41:32 -10:00
J. Nick Koston
3649cb96de
Refactor config entry storage and index ( #107590 )
2024-01-13 10:34:15 -10:00
J. Nick Koston
b1d0c6a4f1
Refactor User attribute caching to be safer and more efficient ( #96723 )
...
* Cache construction of is_admin
This has to be checked for a lot of api calls and the websocket
every time the call is made
* Cache construction of is_admin
This has to be checked for a lot of api calls and the websocket
every time the call is made
* Cache construction of is_admin
This has to be checked for a lot of api calls and the websocket
every time the call is made
* modernize
* coverage
* coverage
* verify caching
* verify caching
* fix type
* fix mocking
2024-01-13 15:10:50 -05:00
Jan Bouwhuis
20610645fb
Pop the mocked config flow, restore the original with mock_config_flow ( #107567 )
...
Pop the mocked config flow, restore the original if it existed
2024-01-08 19:01:43 +01:00
J. Nick Koston
d04e2d56da
Add support for JSON fragments ( #107213 )
2024-01-07 17:36:31 -10:00
Jan Bouwhuis
d6aaaf1f1a
Only mock config_entries.HANDLERS for the current test in mock_config_flow ( #107357 )
2024-01-06 11:46:12 +01:00
Erik Montnemery
c805ea7b4f
Include deprecated constants in wildcard imports ( #107114 )
2024-01-05 11:46:45 +01:00
Ville Skyttä
24b1e01d71
Update Ruff to 0.1.8, avoid linter/formatter conflicts ( #106080 )
...
* Disable Ruff rules that may conflict with the formatter
* Upgrade Ruff to 0.1.8
- https://github.com/astral-sh/ruff/releases/tag/v0.1.7
- https://github.com/astral-sh/ruff/releases/tag/v0.1.8
* Format with Ruff 0.1.8
2023-12-20 23:55:09 +01:00
Robert Resch
db985925c4
Deprecate deprecated automation constants ( #106067 )
2023-12-19 19:22:13 +01:00
Robert Resch
0e0fd39603
Add dir_with_deprecated_constants function to deprecation helper ( #106059 )
2023-12-19 16:37:21 +01:00
Erik Montnemery
6908497c3d
Add minor version to config entries ( #105479 )
2023-12-12 08:44:35 +01:00
Erik Montnemery
1edfaed7be
Improve raise contains mocks ( #105078 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-05 19:14:35 +01:00
Jan Bouwhuis
efd330f182
Send localization info on websocket_api script errors ( #104638 )
...
* Send localization info on script errors
* Use connection exception hander
* Keep HomeAssistantError is unknown_error
* Move specific exception handling
2023-11-29 10:47:23 +01:00
Aarni Koskela
706add4a57
Switch formatting from black to ruff-format ( #102893 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Jan Bouwhuis
19040becd3
Fix hassio mqtt discovery CI test ( #104463 )
...
* Fix hassio mqtt discovery CI test
* Avoid mqtt set up before mocking the flow
* Fix mock
2023-11-24 21:54:53 +01:00
Jan Bouwhuis
af71c2bb45
Raise and suppress stack trace when reloading yaml fails ( #102410 )
...
* Allow async_integration_yaml_config to raise
* Docstr - split check
* Implement as wrapper, return dataclass
* Fix setup error handling
* Fix reload test mock
* Move log_messages to error handler
* Remove unreachable code
* Remove config test helper
* Refactor and ensure notifications during setup
* Remove redundat error, adjust tests notifications
* Fix patch
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Follow up comments
* Add call_back decorator
* Split long lines
* Update exception abbreviations
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-24 17:34:45 +01:00
Erik Montnemery
4536fb3541
Remove mock_entity_platform test helper ( #104073 )
2023-11-16 16:55:08 +01:00
Raman Gupta
618b666126
Add support for responses to `call_service` WS cmd ( #98610 )
...
* Add support for responses to call_service WS cmd
* Revert ServiceNotFound removal and add a parameter for return_response
* fix type
* fix tests
* remove exception handling that was added
* Revert unnecessary modifications
* Use kwargs
2023-11-10 21:44:43 +01:00
Joost Lekkerkerker
8b5bfd8cee
Add test helper for cloud status updates ( #100993 )
...
* Add helper for cloud status updates
* Move import
2023-09-27 17:08:51 +02:00
J. Nick Koston
a03ad87cfb
Avoid ConfigEntry lookups in hass.config_entries.async_entries for domain index ( #100598 )
2023-09-20 18:43:15 +02:00
Erik Montnemery
9dac6a2948
Use loop.time in DataUpdateCoordinator ( #98937 )
2023-08-28 10:16:34 -05:00
Marc Mueller
544d6b05a5
Replace mock_coro with AsyncMock ( #99014 )
...
* Replace mock_coro with AsyncMock
* Remove mock_coro test helper function
* Remove redundant AsyncMock
2023-08-25 22:54:55 +02:00
Erik Montnemery
3a71e21d6a
Add and improve comments about staggering of event listeners ( #99058 )
2023-08-25 19:47:13 +02:00
Ville Skyttä
6399d74c15
Remove unnnecessary pylint configs from core ( #98704 )
2023-08-22 23:12:12 +02:00
Ville Skyttä
2399cd283a
Python 3.10 support cleanups ( #98640 )
2023-08-21 19:14:07 +02:00
Erik Montnemery
91faa53843
Don't allow hass.config.config_dir to be None ( #98442 )
2023-08-16 13:00:14 +02:00
Erik Montnemery
3b9d6f2dde
Add setup function to the component loader ( #98148 )
...
* Add setup function to the component loader
* Update test
* Setup the loader in safe mode and in check_config script
2023-08-15 10:59:42 +02:00
J. Nick Koston
790c1bc251
Decrease event loop latency by binding time.monotonic to loop.time directly ( #98288 )
...
* Decrease event loop latency by binding time.monotonic to loop.time directly
This is a small improvment to decrease event loop latency. While the goal is
is to reduce Bluetooth connection time latency, everything using asyncio
is a bit more responsive as a result.
* relo per comments
* fix too fast by adding resolution, ensure monotonic time is patchable by freezegun
* fix test that freezes time too late and has a race loop
2023-08-13 20:37:45 -04:00
Erik Montnemery
045c327928
Move DeviceInfo from entity to device registry ( #98149 )
...
* Move DeviceInfo from entity to device registry
* Update integrations
2023-08-10 22:04:26 -04:00
Erik Montnemery
0317afeb17
Fix mock_integration and mock_platform test helpers ( #98109 )
2023-08-09 15:38:57 +02:00
J. Nick Koston
094f2cbad7
Fix saving subclassed datetime objects in storage ( #97502 )
2023-07-31 18:49:02 +02:00
Paulus Schoutsen
5f14cdf69d
Allow stopping a script with a response value ( #95284 )
2023-06-27 08:24:22 +02:00