Commit Graph

58 Commits

Author SHA1 Message Date
J. Nick Koston
8007bf1c31 Fix REST sensor charset handling to respect Content-Type header (#148223) 2025-07-07 14:32:58 +01:00
J. Nick Koston
03e295ace0 Restore httpx compatibility for non-primitive REST query parameters (#148286) 2025-07-07 08:01:48 -05:00
Marc Mueller
6c5f7eabff Fix RuntimeWarning in rest tests (#146452) 2025-06-10 15:26:07 +02:00
J. Nick Koston
7573a74cb0 Migrate rest to use aiohttp (#146306) 2025-06-07 13:44:25 -05:00
Petro31
ff2c901930 Update trigger based template entity resolution order (#140660)
* Update trigger based template entity resolution order

* add test

* fix most comments

* Move resolution to base class

* add comment

* remove uncessary if statement

* add more tests

* update availability tests

* update logic stage 1

* phase 2 changes

* fix trigger template entity tests

* fix trigger template entities

* command line tests

* sql tests

* scrape test

* update doc string

* add rest tests

* update sql sensor _update signature

* fix scrape test constructor

* move state check to trigger_entity

* fix comments

* Update homeassistant/components/template/trigger_entity.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/helpers/trigger_template_entity.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/helpers/trigger_template_entity.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* update command_line and rest

* update scrape

* update sql

* add case to command_line sensor

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-04-25 13:17:25 +02:00
J. Nick Koston
a150e39922 Bump httpx to 0.28.1, httpcore to 1.0.7 along with required deps (#133840) 2025-01-22 12:50:00 +01:00
Oleg Kurapov
2cc38b426a Add XML support to RESTful binary sensor (#110062)
* Add XML support to RESTful binary sensor

* Add test for binary sensor with XML input data

* Address mypy validation results by handling None returns

* Use proper incorrect XML instead of blank

* Change failure condition to match the behavior of the library method

* Change error handling for bad XML to expect ExpatError

* Parametrize bad XML test to catch both empty and invalid XML

* Move exception handling out of the shared method

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-30 16:29:50 +02:00
epenet
8d8696075b Use registry fixtures in tests (r) (#118293) 2024-05-28 14:23:31 +02:00
Sid
00ec7f11f0 Enable Ruff rule PT007 (#113764)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-19 09:01:07 +01:00
Marc Mueller
7d6251ca08 Add empty line after module docstring [tests q-s] (#112711) 2024-03-08 14:47:22 +01:00
Marc Mueller
438d3b01b9 Use builtin TimeoutError [o-s] (#109682) 2024-02-05 12:14:37 +01:00
G Johansson
aacb8aecfc Refactor Rest Sensor with ManualTriggerEntity (#97396)
* ManualTriggerEntity for rest sensor

* add availability test

* review comments

* last fixes
2023-08-10 21:46:56 +02:00
epenet
580b09d0f2 Refactor XML parsing in rest (#94268)
* Refactor XML parsing in rest

* Adjust caplog check

* Adjust

* Rename

* Simplify
2023-06-15 09:15:25 +02:00
Michael
323d16cc21 Add ssl_cipher_list option to rest (#91078) 2023-04-15 11:22:41 -10:00
Michael
0916701a0b Catch ssl errors in rest (#91074)
* catch ssl.SSLError

* add test

* fail setup on ssl error

* adjust tests
2023-04-12 06:51:41 +02:00
epenet
f24634e198 Use domain constants in rest tests (#90765) 2023-04-04 14:33:41 +02:00
epenet
02e2e4d039 Add rest encoding test (#90404)
* Add rest encoding test

* docstring
2023-03-28 16:29:24 +02:00
Erik Montnemery
cf7e500a8e Support translating entity names (#88242) 2023-03-12 15:55:04 +01:00
epenet
c1589d3c89 Adjust invalid test values in rest (#86009) 2023-01-16 13:37:38 +01:00
Michael
72d3fa6d89 Replace the usage of unit constants by enumerations in Tests [o-r] (#85936) 2023-01-15 14:50:24 +01:00
Franck Nijhof
2e92fefc0a Fix uom/device class mismatches in tests (#84372) 2022-12-21 22:47:59 +01:00
Franck Nijhof
762eb57636 Validate state class and unit of measurement for non-numeric sensors (#83344)
* Validate state class and unit of measurement for non-numeric sensors

* Remove duration

* Fix rest tests
2022-12-06 00:07:02 +01:00
epenet
a0ed91e30c Add type hints to rest tests (#81304) 2022-10-31 15:30:29 +01:00
Erik Montnemery
5987266e56 Refactor template entity to allow reuse (#72753)
* Refactor template entity to allow reuse

* Fix schema and default name

* Add tests

* Update requirements

* Improve test

* Tweak TemplateSensor initializer

* Drop attributes and availability from TemplateEntity

* Use rest sensor for proof of concept

* Revert changes in SNMP sensor

* Don't set _attr_should_poll in mixin class

* Update requirements
2022-06-08 15:55:49 +02:00
Robert Hillis
1bd904b5b5 Use enums for rest tests (#62197)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-12-19 18:01:33 +01:00
Erik Montnemery
aa36dde148 Correct rest sensor configured to generate timestamps (#61429) 2021-12-10 09:59:27 -08:00
Paulus Schoutsen
31153ac155 Move fixtures part 1 (#58902) 2021-11-01 20:47:05 -07:00
Chris Browet
b1b782419b Add REST sensor/binary_sensor/switch templated headers & params (#54426) 2021-10-29 16:36:47 -05:00
Ville Skyttä
5626cc4524 Use http.HTTPStatus in components/r* (#58288) 2021-10-23 20:53:39 +02:00
Chris Browet
1867d24b18 Add state_class support to Rest (#58026) 2021-10-22 13:48:13 -07:00
Paulus Schoutsen
a4d9019ffc Refactor persistent notification to no longer route all data via a service (#57157)
* Convert persistent notification tests to async

* Create/dismiss persistent notifications in exposed functions, not service calls

* Fix notify persistent_notification

* Remove setting up persistent_notification

* Drop more setups

* Empty methods

* Undeprecate sync methods because too big task

* Fix setup clearing notifications

* Fix a bunch of tests

* Fix more tests

* Uno mas

* Test persistent notification events

* Clean up stale comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-07 12:58:00 +02:00
J. Nick Koston
30382c3dbe Limit log spam from rest and include reason in platform retry (#48666)
- Each retry was logging the error again
- Now we set the cause of the PlatformNotReady to allow Home Assistant to log as needed
2021-04-04 20:26:18 -07:00
J. Nick Koston
2f3c2f5f4d Add support for using a single endpoint for rest data (#46711) 2021-02-19 21:44:15 -08:00
Franck Nijhof
65cf2fcb6f Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
J. Nick Koston
dd0afc3b66 Create httpx helper to wrap a shared httpx.AsyncClient (#43877)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-09 17:18:57 +01:00
Jonas Lundberg
a5279cc279 Upgrade respx to 0.16.2 (#43892)
* Bump respx to 0.16.2

* Align sensor tests to use new respx mock api
2020-12-04 04:27:25 +01:00
Moritz Schmitz von Hülst
434d39a5ea Add initial rest query params (#42198)
* add initial rest query params

* of course I didn't run black

* fix tests

* fix tests

* add test

* reformat

* add binary sensor test

* fix tests

* add one more test and fix switch

* should not have touched that

* if you don't pay attention once
2020-11-11 09:03:55 -10:00
J. Nick Koston
9e0043fb17 Fix rest sensors with resource templates (#42818) 2020-11-04 08:52:47 +01:00
J. Nick Koston
ad6ce5fa83 Convert rest sensors to async using httpx (#41973) 2020-10-16 19:21:13 -05:00
springstan
6a7caad8dc Use content type json constant (#40312) 2020-09-23 20:21:55 +02:00
springstan
0c077685b6 Use content type text plain constant (#40313) 2020-09-20 13:19:10 +02:00
Franck Nijhof
1c2ebdf307 Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
J. Nick Koston
79f4b6eb6b Cleanup the rest reload test to use the pytest requests_mock fixture (#39282) 2020-08-26 17:53:11 +02:00
J. Nick Koston
5018e53b33 Add the ability to reload the rest platforms from yaml (#39257)
* Add the ability to reload rest platforms from yaml

* Revert changes to notify as these will be done in another pass
2020-08-25 19:05:29 -05:00
Paulus Schoutsen
c33edbe5bb Use TestCase.addCleanup (#36560) 2020-06-08 12:26:40 -07:00
Paulus Schoutsen
276f3afb00 Do async_setup_platform in background (#36244)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-31 22:18:30 -07:00
Paulus Schoutsen
2af984917e Use asynctest-mock in most places (#35109)
* Use asynctest-mock in most places

* Fix broken patch in pilight
2020-05-03 11:27:19 -07:00
J. Nick Koston
7f91501a36 Use a requests Session for rest sensors (#32463)
This avoids the ssl setup overhead for each request
2020-03-04 08:32:38 -08:00
J. Nick Koston
924c313c8a Add application/xml as an XML to JSON auto converted mime type… (#32289)
* Resolves issue #32280
2020-03-01 23:22:01 -08:00
J. Nick Koston
c7f128f286 Ensure rest sensors are marked unavailable when http requests… (#32309) 2020-02-28 11:41:41 -08:00