Commit Graph

51 Commits (34f20fce36fd2ff8acbe4c558e8b8758ee69efb3)

Author SHA1 Message Date
epenet 44f715bd02
Use issue_registry fixture in component tests (#118041) 2024-05-24 15:54:20 +02:00
Sid 3efee10b95
Enable Ruff RUF013 (#115333) 2024-04-10 08:55:59 +02:00
epenet 9204ccfa17
Use is in ConfigEntryState enum comparison in tests (N-Z) (#114926) 2024-04-05 17:37:00 +02:00
Joost Lekkerkerker ee66f6ec8c
Use is in enum comparison in config flow tests P-T (#114675) 2024-04-02 11:21:50 -10: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
J. Nick Koston 65358c129a
Replace periodic tasks with background tasks (#112726)
* Phase out periodic tasks

* false by default or some tests will block forever, will need to fix each one manually

* kwarg works

* kwarg works

* kwarg works

* fixes

* fix more tests

* fix more tests

* fix lifx

* opensky

* pvpc_hourly_pricing

* adjust more

* adjust more

* smarttub

* adjust more

* adjust more

* adjust more

* adjust more

* adjust

* no eager executor

* zha

* qnap_qsw

* fix more

* fix fix

* docs

* its a wrapper now

* add more coverage

* coverage

* cover all combos

* more fixes

* more fixes

* more fixes

* remaining issues are legit bugs in tests

* make tplink test more predictable

* more fixes

* feedreader

* grind out some more

* make test race safe

* one more
2024-03-08 21:45:10 -05:00
Marc Mueller aa16a9d707
Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc Mueller 7d6251ca08
Add empty line after module docstring [tests q-s] (#112711) 2024-03-08 14:47:22 +01:00
G Johansson 5073842514
Fix sql integration no recorder (#111263) 2024-02-24 22:40:49 +01:00
Jan-Philipp Benecke 33dd6f66e3
Correct device class in `sql` tests (#107663) 2024-01-09 16:30:21 +01:00
dougiteixeira 65c21438a6
Add query type validation independent of declaration position for SQL (#105921)
* Add query type validation independent of declaration position

* Restore close sess

* Separates invalid query and non-read-only query tests

* Add more tests

* Use the SQLParseError exception for queries that are not read-only

* Add handling for multiple SQL queries.

* Fix test

* Clean ';' at the beginning of the SQL query

* Clean ';' at the beginning of the SQL query - init

* Query cleaning before storing

* Query cleaning before setup sesensor plataform - YAML

* Exception when the SQL query type is not detected

* Cleaning

* Cleaning

* Fix typing in tests

* Fix typing in tests

* Add test for query = ';;'

* Update homeassistant/components/sql/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/sql/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update __init__.py

* Update config_flow.py

* Clean query before storing

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 17:58:35 +01:00
G Johansson 99cf4a6b2d
Add rollback on exception that needs rollback in SQL (#104948) 2023-12-08 21:13:37 +01:00
Robert Resch 952a17532f
Remove NONE_SENTINEL in favor of optional select in sql (#101309) 2023-10-11 17:38:29 +02:00
Marc Mueller 735b5cf1a0
Fix sql test warning (#99556) 2023-09-03 19:58:13 -05:00
G Johansson 61c17291fb
Move TemplateEntity to template (#98957)
* Move TemplateEntity to template

* Rename template_entity in helpers
2023-08-24 15:37:04 +02:00
G Johansson 4e2b00a443
Refactor SQL with ManualTriggerEntity (#95116)
* First go

* Finalize sensor

* Add tests

* Remove not need _attr_name

* device_class

* _process_manual_data allow Any as value
2023-07-20 11:35:08 +02:00
dougiteixeira 4b1d096e6b
Add `device_class` and `state_class` in config flow for SQL (#95020)
* Add device_class and state_class in config flow for SQL

* Update when selected NONE_SENTINEL

* Add tests

* Use SensorDeviceClass and SensorStateClass in tests

* Add volatile_organic_compounds_parts in strings selector

* Add test_attributes_from_entry_config

* Remove test_attributes_from_entry_config and complement test_device_state_class

* Add test_attributes_from_entry_config in test_sensor.py
2023-07-08 21:00:22 +02:00
Ville Skyttä 940942a74a
Import `util.dt` as `dt_util` in `components/[p-s]*` (#93761) 2023-05-30 00:09:42 +03:00
G Johansson 2c5cad4ca0
Clean config flow for SQL (#92332) 2023-05-07 01:42:37 +02:00
G Johansson 9795699669
Fix db_url issue in SQL (#92324)
* db_url fix

* Add test

* assert entry.options
2023-05-01 16:17:01 +02:00
dougiteixeira dc03a5c81e
Fix error for when column does not exist in query to SQL (#91166)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-04-15 12:54:56 -10:00
J. Nick Koston 4366f83ac8
Restore use of local timezone for MariaDB/MySQL in SQL integration (#91313)
* Use local timezone for recorder connection

The fix in #90335 had an unexpected side effect of
using UTC for the timezone since all recorder operations
use UTC. Since only sqlite much use the database executor
we can use a seperate connection pool which uses local time

This also ensures that the engines are disposed of
when Home Assistant is shutdown as previously we
did not cleanly disconnect

* coverage

* fix unclean shutdown in config flow

* tweaks
2023-04-12 20:24:55 -04:00
J. Nick Koston 6e9fcbfec1
Fix false positive in SQL sensor full table scan check (#91134) 2023-04-09 19:45:08 -10:00
J. Nick Koston 53d7e33607
Raise an issue for legacy SQL queries that will cause full table scans (#90971)
* Raise an issue for SQL queries that will cause full table scans

* Raise an issue for SQL queries that will cause full table scans

* Raise an issue for SQL queries that will cause full table scans

* Raise an issue for SQL queries that will cause full table scans

* Update homeassistant/components/sql/sensor.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* coverage

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-04-07 22:32:36 -04:00
J. Nick Koston 7098debe09
Fix sql doing I/O in the event loop at startup (#90335)
* Fix sql doing I/O in the event loop

* Fix sql doing I/O in the event loop

* no test query on main db

* fix mocking because it was targeting the recorder
2023-03-26 21:02:24 -04:00
epenet ff8b91aeea
Add freezer to known test fixtures in pylint (#89825)
Add freezer to known fixtures in pylint
2023-03-16 22:39:41 -04:00
J. Nick Koston 2cb673db04
Handle bytes data in sql sensors (#89169) 2023-03-13 18:07:05 -10:00
G Johansson afa58b80bd
Default to recorder db for SQL integration (#85436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-13 17:41:32 -10:00
G Johansson f4cda2dfda
Add device_class and state_class to sql (#85418) 2023-03-05 20:30:42 +01:00
epenet dab8557951
Add type hints to integration tests (part 21) (#88233) 2023-02-16 11:15:26 +01:00
Franck Nijhof ed79265843
Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
Erik Montnemery 94519de8dd
Upgrade SQLAlchemy to 2.0.2 (#86436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 08:17:32 -06:00
Franck Nijhof 5e81d28116
Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
G Johansson 2a965a6e44
SQL reintroduce yaml support (#75205)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 18:14:36 -10:00
Erik Montnemery 31a787558f
Ensure recorder test fixture is setup before hass fixture (#80528)
* Ensure recorder test fixture is setup before hass fixture

* Adjust more tests
2022-10-19 07:58:47 +02:00
G Johansson 18be5f1387
SQL fix entry options save (#78145)
* SQL fix options

* Testing
2022-09-28 08:49:37 +02:00
G Johansson 76006ce9d7
Allow empty db in SQL options flow (#77777) 2022-09-05 14:50:47 -05:00
Franck Nijhof a6244eea28
Search/replace RESULT_TYPE_* by FlowResultType enum (#74656) 2022-07-07 21:28:18 +02:00
G Johansson a746d7c1d7
Improve code quality in sql integration (#71705) 2022-05-12 19:40:00 -04:00
J. Nick Koston 523828c81e
Ensure sql sensors keep working after using the options flow (#71453)
* Ensure sql sensors keep working after using the options flow

Fixes
```
2022-05-06 16:17:57 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up sql platform for sensor
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
    await asyncio.shield(task)
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 97, in async_setup_entry
    name: str = entry.options[CONF_NAME]
KeyError: name
```

* ensure saving the options flow fixes the broken config entry

* ensure options changes take effect right away

* Add cover to validate the reload
2022-05-07 14:18:40 -07:00
G Johansson c90eb4d6b4
Fix sql integration issues 5.0 beta (#71063)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-04-29 10:00:44 -07:00
G Johansson 472ffd3bc6
Implement config flow for SQL integration (#68700) 2022-04-24 08:50:32 -10:00
G Johansson 3f9a6bbaa7
Fix sql false warning (#67614) 2022-03-04 08:20:10 -10:00
G Johansson 8da150bd71
Improve code quality sql (#65321) 2022-02-12 08:13:01 -06:00
Diogo Gomes d5d8eefded
Case sensitive SQL queries checks (#62752) 2022-01-07 17:19:30 +01:00
Erik Montnemery 2555b10d49
Remove login details before logging SQL errors (#48758) 2021-04-07 12:15:56 +02:00
Julian Engelhardt 473afc4837
Rewrite SQL tests to pytest style (#41016)
* Remove unittests and common mock from SQL component tests

* Switch to async versions of setup_component and block_till_done
2020-10-03 03:42:50 +02: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
Michał Mrozek ed46834a30 Move imports in sql component (#27713)
* move imports in sql component

* fix: variable redeclaration

* fix: close test db session on platform setup
2019-10-20 10:10:27 +02:00
Paulus Schoutsen 4de97abc3a Black 2019-07-31 12:25:30 -07:00