Commit Graph

67 Commits

Author SHA1 Message Date
Allen Porter
204b1e1f24 Add a Google Calendar birthdays calendar (#141300) 2025-03-24 21:06:45 -04:00
Allen Porter
c451518959 Fix google calendar working location event filtering (#141222) 2025-03-23 09:07:42 -07:00
epenet
7b1b229718 Standardize homeassistant imports in component tests (a-l) (#136806) 2025-01-29 10:00:45 +01:00
Erik Montnemery
235fda55fe Validate config entry when adding or updating entity registry entry (#135067) 2025-01-17 19:18:13 +01:00
Joel Hawksley
9bf0cbd659 Omit declined Google Calendar events (#128900)
* Omit decline Google Calendar events

* move comment to top of function and update

* Apply suggestions from code review

* import ResponseStatus
2024-10-27 21:54:09 -07:00
Allen Porter
c5ebd53079 Add a working location google calendar entity (#127016) 2024-10-01 12:14:23 +02:00
epenet
3e967700fd Add missing return type in test __init__ method (part 2) (#123939)
* Add missing return type in test __init__ method (part 2)

* Adjust

* One more

* One more

* More
2024-08-14 17:59:15 +02:00
epenet
b949240d4a Improve type hints in google tests (#121169) 2024-07-04 05:56:01 -07:00
Allen Porter
7d8cbbaacb Bump gcal_sync to 6.1.3 (#120278) 2024-06-29 17:45:51 +02:00
epenet
fb1b0058ee Fix consider-using-tuple pylint warnings in component tests (#119464)
* Fix consider-using-tuple pylint warnings in component tests

* Apply su

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-12 15:50:27 +02:00
epenet
857b5c9c1b Fix type hints in google tests (#118941) 2024-06-06 12:19:41 +02:00
Marc Mueller
1ad8151bd1 Use PEP 695 type alias in tests (#117797) 2024-05-20 19:03:04 +02:00
J. Nick Koston
5a609c34bb Fix blocking I/O in the event loop when loading timezones (#117721) 2024-05-20 11:06:03 +02:00
Sid
3efee10b95 Enable Ruff RUF013 (#115333) 2024-04-10 08:55:59 +02:00
Marc Mueller
c88b337600 Add empty line after module docstring [tests f-k] (#112709) 2024-03-08 14:50:04 +01:00
J. Nick Koston
9c82df4b98 Fix duplicate config entry additions in tests (#107984)
zha and plex still add the same config entry multiple times
but they are going to need seperate PRs as they have more
complex logic
2024-01-13 21:01:18 -05:00
Jan-Philipp Benecke
0ae0331c5c Migrate google related tests to use freezegun (#105552)
* Migrate google related tests to use freezegun

* retrigger CI

* Fix google tests

* Add timezone to config_entry_token_expiry

* Separate config_entry_token_expiry from token_expiry

* Also test token refresh for offset-naive tokens

* retrigger CI

* Apply code review suggestion

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Run ruff-format

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-12-21 12:23:01 +01:00
Jan Bouwhuis
8721327176 Fix CI test_invalid_rrule_fix test by freezing the time (#105294) 2023-12-08 14:35:01 +01:00
Allen Porter
abb1328a67 Fix for Google Calendar API returning invalid RRULE:DATE rules (#103870) 2023-11-12 13:44:26 -05:00
Jan-Philipp Benecke
04a497343d Update f-g* tests to use entity & device registry fixtures (#103841) 2023-11-12 13:07:38 +01:00
Allen Porter
1635cbb8a6 Add a google calendar diagnostics platform (#101175) 2023-10-06 17:08:50 +02:00
Allen Porter
93eac97983 Relax the constraint that events must have a consistent timezone for start/end (#91788) 2023-04-21 10:25:52 -04:00
Allen Porter
14b95ffe3a Relax calendar event validation to allow existing zero duration events (#91129)
Relax event valudation to allow existing zero duration events
2023-04-10 10:04:42 -04:00
Allen Porter
23af02b941 Make location optional in google calendar create service (#91061) 2023-04-08 22:40:39 -04:00
Luca Angemi
6d8eaa0bee Add location field to calendar create_event service supported by Google Calendar and Local Calendar (#90098)
* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update calendar.py

* Update calendar.py

* Update services.yaml

* Update services.yaml

* Update calendar.py

* Update calendar.py

* Update __init__.py

* Update services.yaml

* Update services.yaml

* Update test_calendar.py

* Update test_init.py

* Update test_init.py

* Update test_init.py

* Update test_init.py

* Update __init__.py

* Update const.py

* Address changes to service.yaml

* Address changes to service.yaml

* Update test_calendar.py

* Update test_calendar.py

* Update test_calendar.py

* Update conftest.py

* Update conftest.py

* Update calendar.py

* Update __init__.py
2023-03-25 09:43:49 -07:00
epenet
71dc98a39c Improve hass_ws_client type hint in tests (#89703) 2023-03-14 16:31:40 +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
epenet
b68f502769 Add type hints to integration tests (part 7) (#87980) 2023-02-13 09:53:09 +01:00
Allen Porter
2049993941 Check google calendar API scope to determine if write access is enabled (#84749)
* Check google calendar API scope to determine if write access is enabled

* Add API scope for calendar service for creating events
2022-12-29 11:00:31 +01:00
Allen Porter
f9779d3e97 Bump gcal-sync to 4.1.0 (#84474)
* Bump gcal-sync to 4.1.0

* Update test with UNTIL improvements
2022-12-22 23:28:12 -05:00
Allen Porter
d41fe01736 Don't allow google calendar create/delete for yaml/search calendars (#83604)
* Update tests/components/google/test_calendar.py

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

* Don't allow google calendar create/delete for yaml/search calendars

* Revert incorrect docstring update

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-21 07:36:37 -08:00
Allen Porter
4e1b399efd Fix google calendar recurrence rule create and view (#84330)
* Fix bug in google calendar recurrence rule handling

* Convert multiline ternary operator expressions to if block
2022-12-21 07:36:20 -08:00
Allen Porter
5d1ca73a34 Add create and delete for Google Calendar events (#83034)
* Add Google Calendar create/delete support

Includes editing for recurring events

* Fix default calendar access role

* Formatting improvements

* Address other details that have changed due to local sync

* Update tests/components/google/test_calendar.py

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

* Update tests/components/google/test_calendar.py

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

* Update tests/components/google/test_calendar.py

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

* Increase test coverage

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-12-01 21:39:58 +01:00
Allen Porter
e6d1a4a422 Revert google calendar back to old API for free/busy readers (#81894)
* Revert google calendar back to old API for free/busy readers

* Update homeassistant/components/google/calendar.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-11-10 08:31:28 -08:00
Allen Porter
0941ed076c Cleanup unnecessary google calendar test fixtures (#81876) 2022-11-09 20:59:00 +01:00
Allen Porter
ba8fd6b01e Google calendar test cleanup, avoiding dupe config entry setup (#81256) 2022-10-30 23:07:10 +01:00
Allen Porter
0e2bea038d Update Google Calendar to synchronize calendar events efficiently (#80925)
* Sync google calendar and serve from local storage

Update to use new gcal_sync APIs
Update google calendar filter logic
Remove storage on config entry removal
Make timeline queries timezone aware
Do not block startup while syncing

* Minor readability tweaks

* Remove unnecessary args to async_add_entities

* Change how task is created on startup

* Update homeassistant/components/google/calendar.py

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

* Revert min time between updates

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-26 07:57:49 -07:00
Allen Porter
e71bd2c20b Fix google calendar test to match API behavior (#80436) 2022-10-16 14:45:57 -04:00
Allen Porter
a7f33535c7 Fix google calendar event transparency filter (#80438) 2022-10-16 14:45:27 -04:00
Allen Porter
f4e61eff18 Add update coordinator for google calendar (#74690)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-07-10 21:24:52 -07:00
Allen Porter
6f9fcdff99 Improve calendar error handling to match best practices (#74891) 2022-07-10 10:04:57 -07:00
Allen Porter
a4c6cd2fbe Cleanup Google Calendar unused test fixtures (#74353) 2022-07-03 17:05:38 +02:00
Allen Porter
d399815bea Allow multiple google calendar config entries (#73715)
* Support multiple config entries at once

* Add test coverage for multiple config entries

* Add support for multiple config entries to google config flow

* Clear hass.data when unloading config entry

* Make google config flow defensive against reuse of the same account

* Assign existing google config entries a unique id

* Migrate entities to new unique id format

* Support muliple accounts per oauth client id

* Fix mypy typing errors

* Hard fail to keep state consistent, removing graceful degredation

* Remove invalid entity regsitry entries
2022-06-21 06:42:41 -07:00
Allen Porter
ea21a36e52 Remove default use of google calendars yaml file in tests (#73621)
Remove default use of
 google_calendars.yaml in tests
2022-06-17 09:04:41 +02:00
Allen Porter
71bc650ac7 Stop updating google_calendars.yaml if it does not already exist (#72340)
* Stop updating google_calendars.yaml if it does not already exist

* Add additional test coverage to make CI pass

* Add test for no updates to google_calendar.yaml

* Add parameter to test for expecting write calls

* Missing call argument

* Remove conditional and replace with inline assert
2022-05-25 08:59:27 +02:00
Allen Porter
8a13c6744a Bump gcal_sync to 0.6.2 and switch to google calendar async iterator api (#70616)
* Switch to google calendar async iterator api

* Update homeassistant/components/google/calendar.py

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

* Add test coverage for paging through results

* Bump gcal_sync to 0.6.1

* Bump gcal-sync 0.6.2

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-04-27 07:22:15 -07:00
Allen Porter
0e0c0ce22b Move google calendar integration to aiohttp (#70173)
* Use new aiohttp based google client library in gcal_sync.

* Use base url in tests for shorter string

* Remove unnecessary line of code

* Jump to gcal-sync-0.4.1

* Update tests/components/google/conftest.py

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

* Update to gcal_sync 0.5.0 incorporating PR feedback

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-04-20 20:18:24 -07:00
Allen Porter
36bb947cdf Fix bug in google calendar offset calculation (#70024)
Move the offset reached computation outside of the update method so that it is
computed when state updates occur rather than when data refreshes happen (which
are throttled and happen at most every 15 minutes).

Issue #69892
2022-04-13 19:04:59 -07:00
Allen Porter
10a1b1f734 Gracefully handle empty summary in google calendar (#69520)
Gracefully handle empty summary in google calendar matching the old behavior
before some code cleanup.
2022-04-07 08:26:07 +02:00
Allen Porter
609c6ef5d4 Add test coverage for google calendar event response format (#68767)
Add test coverage for the calendar event response format as I am about to do some
refactoring and simplification. Notably, each calendar implementation uses a slightly different
API response, and this is codifying that.
2022-03-28 18:05:02 +02:00