150 Commits

Author SHA1 Message Date
Erik Montnemery
4b34d1bbb5
Merge config subentry feature branch to dev (#136121)
* Reapply "Add support for subentries to config entries" (#133470) (#136061)

* Reapply "Add support for subentries to config entries" (#133470)

This reverts commit ecb3bf79f32a2e25d141ff467e5958826ed9fc3a.

* Update test snapshot

* Add config subentry support to device registry (#128157)

* Add config subentry support to device registry

* Apply suggestions from code review

* Update syrupy serializer

* Update snapshots

* Address review comments

* Allow a device to be connected to no or a single subentry of a config entry

* Update snapshots

* Revert "Allow a device to be connected to no or a single subentry of a config entry"

This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.

* Update test snapshots

* Bump release version in comments

* Rename config_subentries to config_entries_subentries

* Add config subentry support to entity registry (#128155)

* Add config subentry support to entity registry

* Update syrupy serializer

* Update snapshots

* Update snapshots

* Accept suggested changes

* Clean registries when removing subentry (#136671)

* Clean up registries when removing subentry

* Update tests

* Clean up subentries from deleted devices when removing config entry (#136669)

* Clean up subentries from deleted devices when removing config entry

* Move

* Add config subentry support to entity platform (#128161)

* Add config subentry support to entity platform

* Rename subentry_id to config_subentry_id

* Store subentry type in subentry (#136687)

* Add reconfigure support to config subentries (#133353)

* Add reconfigure support to config subentries

* Update test

* Minor adjustment

* Rename supported_subentry_flows to supported_subentry_types

* Address review comments

* Add subentry support to kitchen sink (#136755)

* Add subentry support to kitchen sink

* Add subentry reconfigure support to kitchen_sink

* Update kitchen_sink tests with subentry type stored in config entry

* Update kitchen_sink

* Update kitchen_sink

* Adjust kitchen sink tests

* Fix hassfest

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Improve docstrings and strings.json

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-10 16:40:07 +01:00
epenet
c5efad3a2d
Use new ServiceInfo location in component tests (part 4) (#136065) 2025-01-20 13:19:17 +01:00
epenet
02956f9a83
Improve formatting in component test files (#135267)
Improve formatting in test files
2025-01-10 10:53:45 +01:00
Erik Montnemery
ecb3bf79f3
Revert "Add support for subentries to config entries" (#133470)
Revert "Add support for subentries to config entries (#117355)"

This reverts commit ad15786115673c5b3fe40ea2f5d61b4b896f433e.
2024-12-18 13:51:05 +01:00
Erik Montnemery
ad15786115
Add support for subentries to config entries (#117355)
* Add support for subentries to config entries

* Improve error handling and test coverage

* Include subentry_id in subentry containers

* Auto-generate subentry_id and add optional unique_id

* Tweak

* Update tests

* Fix stale docstring

* Address review comments

* Typing tweaks

* Add methods to ConfigEntries to add and remove subentry

* Improve ConfigSubentryData typed dict

* Update test snapshots

* Adjust tests

* Fix unique_id logic

* Allow multiple subentries with None unique_id

* Add number of subentries to config entry JSON representation

* Add subentry translation support

* Allow integrations to implement multiple subentry flows

* Update translations schema

* Adjust exception text

* Change subentry flow init step to user

* Prevent creating a subentry with colliding unique_id

* Update tests

* Address review comments

* Remove duplicaetd unique_id collision check

* Remove change from the future

* Improve test coverage

* Add default value for unique_id
2024-12-12 20:16:18 +01:00
epenet
3e56185a39
Use reconfigure helpers in axis config flow (#127976)
* Use reconfigure helpers in axis config flow

* Add string

* Update strings.json
2024-10-12 23:31:12 +02:00
Michael
808d93d767
Remove obsolete entity count safeguards when using snapshot_platform test helper (#127736)
remove obsolete safeguards
2024-10-06 15:50:16 +02:00
Robert Resch
04860ae1d2
Add go2rtc and extend camera integration for better WebRTC support (#124410) 2024-10-03 09:20:03 +02:00
epenet
b95dfe2b00
Add test helper for starting reconfiguration flow (#127154) 2024-10-01 12:18:07 +02:00
Erik Montnemery
d82bff1bc2
Index config entry discovery_keys by discovery domain (#126563)
* Index config entry discovery_keys by discovery domain

* Add new signal

* Update tests

* Update homeassistant/config_entries.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Fix imports

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 21:48:11 +02:00
Erik Montnemery
b2982c18bb
Reinitialize zeroconf discovery flow on unignore (#125753)
* Reinitialize zeroconf discovery flow on unignore

* Adjust tests

* Improve comments

* Fix logic for updating discovery keys

* Add tests

* Use mock_config_flow helper in new config_entries test

* Add discovery_keys attribute to ConfigEntry

* Update zeroconf rediscovery

* Change type of ConfigEntry.discovery_keys

* Update tests

* Fix DiscoveryKey.from_json_dict and add tests

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 16:49:21 +02:00
Robert Svensson
c47b37af4f
Use snapshot in Axis camera tests (#122677) 2024-08-30 14:40:28 +02:00
epenet
14eec2e57a
Add start_reauth helper method to MockConfigEntry (#124767)
* Add start_reauth helper method to MockConfigEntry

* Two more
2024-08-28 13:08:26 +02:00
Joost Lekkerkerker
e8d7eb05ae
Delete unused snapshots (#123656)
* Delete unused snapshots

* Delete unused snapshots
2024-08-12 13:28:09 +02:00
Erik Montnemery
224228e448
Fix Axis tests affecting other tests (#122857) 2024-07-30 16:16:33 +02:00
Robert Svensson
70e368a57e
Use snapshot in Axis switch tests (#122680) 2024-07-30 07:14:56 +02:00
Robert Resch
ad50136dbd
Add created_at/modified_at to config entries (#122456) 2024-07-29 22:08:46 +02:00
Robert Svensson
6752bd450b
Use snapshot in Axis light tests (#122703) 2024-07-27 17:41:42 +02:00
Robert Svensson
c486baccaa
Patch import where its used in Axis hub test (#122674) 2024-07-26 23:33:37 +02:00
Robert Svensson
72fdcd1cb1
Final steps to runtime_data in Axis integration (#122641)
* Rework connection error test to check config entry status

* Remove final dependencies to hass.data[AXIS_DOMAIN]
2024-07-26 12:29:47 +02:00
Robert Svensson
c9b81a5c04
Replace ConfigEntry with MockConfigEntry in Axis tests (#122629)
* Remove unused fixtures in Axis tests

* Replace ConfigEntry with MockConfigEntry
2024-07-26 09:48:37 +02:00
Robert Svensson
ad38b9e9e1
Use snapshot validation on Axis binary sensor (#122483)
* Use snapshot validation on binary sensor

* Use snapshot_platform

* Clean up

* Improve typign
2024-07-23 22:30:03 +03:00
Robert Svensson
34f1443a5a
Improve Axis hub tests (#122472)
* Improve some of the hub tests

* Replace constant "name" with "home"

* Add snapshot

* Simplify

* Clean up
2024-07-23 19:54:43 +02:00
Robert Svensson
b53800a69d
Tweak axis test fixtures (#122469)
* Don't automatically add config entry to hass

* Improve RTSP fixture typing

* Improve typing of config entry factory and remove unnecessary use of it

* Remove redundant fixture in config flow tests

* Parametrize config flow error test
2024-07-23 19:27:38 +02:00
Marc Mueller
2f0dd6f704
Import Generator from collections.abc (2) (#120915) 2024-07-01 11:58:49 +02:00
Robert Svensson
ca7fb906cc
Axis improve fixture naming (#120844) 2024-06-30 14:52:20 +02:00
epenet
d9362a2f2f
Improve type hints in axis tests (#119260)
* Improve type hints in axis tests

* A couple more

* One more

* Improve light

* Improve hub

* Improve config-flow
2024-06-10 08:49:43 +02:00
Marc Mueller
279483ddb0
Import Generator from typing_extensions (2) (#118989) 2024-06-06 17:24:22 +02:00
J. Nick Koston
5d37217d96
Avoid expensive inspection of callbacks to setup mqtt subscriptions (#118161) 2024-05-26 01:22:44 -10:00
Robert Svensson
81a269f4f5
Use runtime_data in Axis integration (#116729)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-05-03 21:52:37 +02:00
Robert Svensson
f8c38fad00
Split out event handling from Axis hub (#113837)
* Split out event handling from Axis hub

* Improve test coverage

* Mark internal methods with '_'

* Rename to event source
2024-04-24 20:47:22 +02:00
epenet
0b01326f9f
Use is in ConfigEntryState enum comparison in tests (A-M) (#114925) 2024-04-05 17:16:55 +02:00
Joost Lekkerkerker
9b41e3d124
Use is in enum comparison in config flow tests A-E (#114669) 2024-04-02 11:22:05 -10:00
Robert Svensson
05d40fbc4c
Bump axis to v60 (#114544)
* Improve Axis MQTT support

* Bump axis to v60
2024-04-01 00:24:41 +02:00
Joost Lekkerkerker
6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
Robert Svensson
c1e1db9863
Adapt to Axis library file structure changes (#114181)
* Adapt to axis library file structure changes

* Bump axis to v59
2024-03-25 12:16:41 -04:00
Robert Svensson
2e2b40f77e
Add reconfigure flow to Axis integration (#114067) 2024-03-24 12:48:19 +01:00
J. Nick Koston
4f18f0d902
Fix setup timings when config entry platform loads are not awaited (#113959)
* Move setup time logging into the context manager

We were fetching the time twice but since the context
manager already has the timing, move it there

* remove log setup assertions from integration test

* tweak logging to give us better data for tracking issues

* redundant

* adjust

* preen

* fixes

* adjust

* make api change internal so nobody uses it

* coverage

* fix test

* fix more tests

* coverage

* more tests assuming internal calls

* fix more

* adjust

* adjust

* fix axis tests

* fix broadlink -- it does not call async_forward_entry_setup

* missed some

* remove useless patch

* rename, detect it both ways

* clear

* debug

* try to fix

* handle phase finishing out while paused

* where its set does not need to know its late as that is an implemenation detail of setup

* where its set does not need to know its late as that is an implemenation detail of setup

* tweak

* simplify

* reduce complexity

* revert order change as it makes review harder

* revert naming changes as it makes review harder

* improve comment

* improve debug

* late dispatch test

* test the other way as well

* Update setup.py

* Update setup.py

* Update setup.py

* simplify

* reduce
2024-03-23 15:26:38 -04:00
Robert Svensson
bf8d880e5f
Improve axis tests (#114035)
* Combine binary sensor tests into more logical groups

* Improve light tests

* Clean up switch tests

* Improve typing in conftest

* Add typing to camera

* Improve binary sensor

* Improve light

* Improve switch
2024-03-23 00:44:06 +01:00
Robert Svensson
a9e857202d
Axis use entity descripton binary sensor platform (#113705) 2024-03-22 15:49:51 +01:00
Robert Svensson
5b5ff92a05
Support configuring Axis to use HTTPS (#113271) 2024-03-15 18:58:49 +01:00
Robert Svensson
c761b825ec
Fix Axis unique ID (#112132) 2024-03-12 21:01:20 +01:00
Robert Svensson
020b656f51
Split out Axis config data (#112825)
Split out config data
2024-03-09 13:00:25 -05:00
Marc Mueller
32f3f46542
Add empty line after module docstring (2) [tests.components] (#112737) 2024-03-08 19:16:21 +01:00
Marc Mueller
38adfbf1a3
Add empty line after module docstring [tests a-e] (#112708) 2024-03-08 08:50:25 -05:00
Robert Svensson
ec8d23d0af
Fix places not changed to hub in Axis tests (#112128) 2024-03-03 20:45:06 -05:00
Robert Svensson
4eb24b2db7
Clean up setup and teardown of Axis integration (#112120) 2024-03-03 12:42:44 -05:00
Robert Svensson
ece5587e1f
Streamline naming in the Axis integration (#112044)
* Rename device.py to hub.py

* Rename AxisNetworkDevice to AxisHub

* Move hub.py into hub package

* Rename get_axis_device to get_axis_api

* Split out get_axis_api to its own module

* Rename device object to hub

* Rename device to api in config flow

* Convenience method to get hub
2024-03-02 11:32:51 -05:00
Robert Svensson
458391ee2b
Axis improve coverage binary tests (#111758)
* Parametrize binary sensor tests

* Add test coverage to the different *guard apps

* Add object analytics tests
2024-02-28 23:14:50 -05:00
Robert Svensson
c478b1416c
Adapt Axis integration to library refactoring (#110898)
* Adapt Axis integration to library refactoring

* Bump axis to v49
2024-02-28 14:36:32 +01:00