diff --git a/homeassistant/components/easyenergy/services.py b/homeassistant/components/easyenergy/services.py index 4aeef2f4d71..777fa4280b2 100644 --- a/homeassistant/components/easyenergy/services.py +++ b/homeassistant/components/easyenergy/services.py @@ -31,9 +31,9 @@ ENERGY_USAGE_SERVICE_NAME: Final = "get_energy_usage_prices" ENERGY_RETURN_SERVICE_NAME: Final = "get_energy_return_prices" SERVICE_SCHEMA: Final = vol.Schema( { + vol.Required(ATTR_INCL_VAT): bool, vol.Optional(ATTR_START): str, vol.Optional(ATTR_END): str, - vol.Required(ATTR_INCL_VAT, default=True): bool, } ) @@ -55,6 +55,7 @@ def __get_date(date_input: str | None) -> date | datetime: return value raise ServiceValidationError( + "Invalid datetime provided.", translation_domain=DOMAIN, translation_key="invalid_date", translation_placeholders={ diff --git a/tests/components/easyenergy/snapshots/test_services.ambr b/tests/components/easyenergy/snapshots/test_services.ambr index c878709a997..96b1eca5498 100644 --- a/tests/components/easyenergy/snapshots/test_services.ambr +++ b/tests/components/easyenergy/snapshots/test_services.ambr @@ -918,22 +918,616 @@ }) # --- # name: test_service[end0-start1-incl_vat0-get_energy_return_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.11153, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.10698, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.10497, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.10172, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.10723, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.11462, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.11894, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.1599, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.164, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.17169, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.13635, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.1296, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.15487, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.16049, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.17596, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.18629, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.20394, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.19757, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.17143, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.15, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.14841, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.14934, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end0-start1-incl_vat0-get_energy_usage_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.13495, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.12945, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.12701, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.12308, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.12975, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.13869, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.14392, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.19348, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.19844, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.20774, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.16498, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.15682, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.18739, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.19419, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.21291, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.22541, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.24677, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.23906, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.20743, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.1815, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.17958, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.1807, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end0-start1-incl_vat0-get_gas_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 23:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 00:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 01:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 02:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 03:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 04:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end0-start1-incl_vat1-get_energy_return_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.11153, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.10698, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.10497, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.10172, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.10723, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.11462, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.11894, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.1599, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.164, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.17169, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.13635, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.1296, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.15487, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.16049, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.17596, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.18629, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.20394, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.19757, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.17143, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.15, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.14841, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.14934, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end0-start1-incl_vat1-get_energy_usage_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.13495, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.12945, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.12701, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.12308, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.12975, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.13869, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.14392, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.19348, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.19844, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.20774, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.16498, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.15682, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.18739, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.19419, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.21291, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.22541, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.24677, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.23906, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.20743, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.1815, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.17958, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.1807, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end0-start1-incl_vat1-get_gas_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 23:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 00:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 01:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 02:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 03:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 04:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end0-start1-incl_vat2-get_energy_return_prices] ServiceValidationError() @@ -1863,22 +2457,616 @@ }) # --- # name: test_service[end1-start0-incl_vat0-get_energy_return_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.11153, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.10698, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.10497, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.10172, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.10723, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.11462, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.11894, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.1599, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.164, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.17169, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.13635, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.1296, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.15487, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.16049, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.17596, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.18629, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.20394, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.19757, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.17143, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.15, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.14841, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.14934, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start0-incl_vat0-get_energy_usage_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.13495, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.12945, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.12701, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.12308, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.12975, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.13869, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.14392, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.19348, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.19844, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.20774, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.16498, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.15682, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.18739, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.19419, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.21291, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.22541, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.24677, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.23906, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.20743, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.1815, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.17958, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.1807, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start0-incl_vat0-get_gas_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 23:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 00:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 01:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 02:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 03:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 04:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start0-incl_vat1-get_energy_return_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.11153, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.10698, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.10497, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.10172, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.10723, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.11462, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.11894, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.1599, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.164, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.17169, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.13635, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.1296, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.15487, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.16049, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.17596, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.18629, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.20394, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.19757, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.17143, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.15, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.14841, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.14934, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start0-incl_vat1-get_energy_usage_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.13495, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.12945, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.12701, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.12308, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.12975, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.13869, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.14392, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.19348, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.19844, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.20774, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.16498, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.15682, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.18739, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.19419, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.21291, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.22541, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.24677, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.23906, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.20743, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.1815, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.17958, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.1807, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start0-incl_vat1-get_gas_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 23:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 00:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 01:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 02:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 03:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 04:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start0-incl_vat2-get_energy_return_prices] ServiceValidationError() @@ -1890,22 +3078,616 @@ ServiceValidationError() # --- # name: test_service[end1-start1-incl_vat0-get_energy_return_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.11153, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.10698, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.10497, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.10172, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.10723, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.11462, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.11894, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.1599, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.164, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.17169, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.13635, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.1296, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.15487, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.16049, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.17596, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.18629, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.20394, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.19757, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.17143, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.15, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.14841, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.14934, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start1-incl_vat0-get_energy_usage_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.13495, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.12945, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.12701, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.12308, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.12975, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.13869, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.14392, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.19348, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.19844, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.20774, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.16498, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.15682, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.18739, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.19419, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.21291, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.22541, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.24677, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.23906, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.20743, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.1815, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.17958, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.1807, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start1-incl_vat0-get_gas_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 23:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 00:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 01:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 02:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 03:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 04:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start1-incl_vat1-get_energy_return_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.11153, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.10698, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.10497, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.10172, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.10723, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.11462, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.11894, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.1599, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.164, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.17169, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.13635, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.1296, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.15487, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.16049, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.17596, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.18629, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.20394, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.19757, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.17143, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.15, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.14841, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.14934, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.139, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start1-incl_vat1-get_energy_usage_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.13495, + 'timestamp': '2023-01-18 23:00:00+00:00', + }), + dict({ + 'price': 0.12945, + 'timestamp': '2023-01-19 00:00:00+00:00', + }), + dict({ + 'price': 0.12701, + 'timestamp': '2023-01-19 01:00:00+00:00', + }), + dict({ + 'price': 0.12308, + 'timestamp': '2023-01-19 02:00:00+00:00', + }), + dict({ + 'price': 0.12975, + 'timestamp': '2023-01-19 03:00:00+00:00', + }), + dict({ + 'price': 0.13869, + 'timestamp': '2023-01-19 04:00:00+00:00', + }), + dict({ + 'price': 0.14392, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.19348, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.19844, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.20774, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.16498, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.15682, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.18739, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.19419, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.21291, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.22541, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.24677, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.23906, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.20743, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.1815, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.17958, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.1807, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.16819, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start1-incl_vat1-get_gas_prices] - ServiceValidationError() + dict({ + 'prices': list([ + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 05:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 06:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 07:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 08:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 09:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 10:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 11:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 12:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 13:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 14:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 15:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 16:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 17:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 18:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 19:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 20:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 21:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 22:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-19 23:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 00:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 01:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 02:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 03:00:00+00:00', + }), + dict({ + 'price': 0.7253, + 'timestamp': '2023-01-20 04:00:00+00:00', + }), + ]), + }) # --- # name: test_service[end1-start1-incl_vat2-get_energy_return_prices] ServiceValidationError() diff --git a/tests/components/easyenergy/test_services.py b/tests/components/easyenergy/test_services.py index 24bee929489..d47b86e93a3 100644 --- a/tests/components/easyenergy/test_services.py +++ b/tests/components/easyenergy/test_services.py @@ -2,6 +2,7 @@ import pytest from syrupy.assertion import SnapshotAssertion +import voluptuous as vol from homeassistant.components.easyenergy.const import DOMAIN from homeassistant.components.easyenergy.services import ( @@ -25,15 +26,16 @@ async def test_has_services( @pytest.mark.usefixtures("init_integration") @pytest.mark.parametrize( - "service", [GAS_SERVICE_NAME, ENERGY_USAGE_SERVICE_NAME, ENERGY_RETURN_SERVICE_NAME] -) -@pytest.mark.parametrize("incl_vat", [{"incl_vat": False}, {"incl_vat": True}, {}]) -@pytest.mark.parametrize( - "start", [{"start": "2023-01-01 00:00:00"}, {"start": "incorrect date"}, {}] -) -@pytest.mark.parametrize( - "end", [{"end": "2023-01-01 00:00:00"}, {"end": "incorrect date"}, {}] + "service", + [ + GAS_SERVICE_NAME, + ENERGY_USAGE_SERVICE_NAME, + ENERGY_RETURN_SERVICE_NAME, + ], ) +@pytest.mark.parametrize("incl_vat", [{"incl_vat": False}, {"incl_vat": True}]) +@pytest.mark.parametrize("start", [{"start": "2023-01-01 00:00:00"}, {}]) +@pytest.mark.parametrize("end", [{"end": "2023-01-01 00:00:00"}, {}]) async def test_service( hass: HomeAssistant, snapshot: SnapshotAssertion, @@ -42,18 +44,63 @@ async def test_service( start: dict[str, str], end: dict[str, str], ) -> None: - """Test the easyEnergy Service.""" + """Test the EnergyZero Service.""" data = incl_vat | start | end - try: - response = await hass.services.async_call( + assert snapshot == await hass.services.async_call( + DOMAIN, + service, + data, + blocking=True, + return_response=True, + ) + + +@pytest.mark.usefixtures("init_integration") +@pytest.mark.parametrize( + "service", + [ + GAS_SERVICE_NAME, + ENERGY_USAGE_SERVICE_NAME, + ENERGY_RETURN_SERVICE_NAME, + ], +) +@pytest.mark.parametrize( + ("service_data", "error", "error_message"), + [ + ({}, vol.er.Error, "required key not provided .+"), + ( + {"incl_vat": "incorrect vat"}, + vol.er.Error, + "expected bool for dictionary value .+", + ), + ( + {"incl_vat": True, "start": "incorrect date"}, + ServiceValidationError, + "Invalid datetime provided.", + ), + ( + {"incl_vat": True, "end": "incorrect date"}, + ServiceValidationError, + "Invalid datetime provided.", + ), + ], +) +async def test_service_validation( + hass: HomeAssistant, + service: str, + service_data: dict[str, str | bool], + error: type[Exception], + error_message: str, +) -> None: + """Test the easyEnergy Service.""" + + with pytest.raises(error, match=error_message): + await hass.services.async_call( DOMAIN, service, - data, + service_data, blocking=True, return_response=True, ) - assert response == snapshot - except ServiceValidationError as e: - assert e == snapshot