From e27b66f4c6e36817273bdde2cc90c348d712f0af Mon Sep 17 00:00:00 2001 From: Mohamed Attia Date: Thu, 15 Feb 2024 11:26:41 +0100 Subject: [PATCH] Test client raises `EnlyzeError` from `ValueError`. --- tests/enlyze/test_client.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/enlyze/test_client.py b/tests/enlyze/test_client.py index 09c50eb..c5dccb6 100644 --- a/tests/enlyze/test_client.py +++ b/tests/enlyze/test_client.py @@ -390,6 +390,38 @@ def test_get_timeseries_raises_api_returned_no_timestamps( client.get_timeseries(start_datetime, end_datetime, [variable]) +@given( + variable=st.builds(user_models.Variable), +) +@settings(suppress_health_check=[HealthCheck.function_scoped_fixture]) +def test__get_timeseries_raises_variables_without_resampling_method( + start_datetime, end_datetime, variable +): + """ + Test that `get_timeseries` will raise an `EnlyzeError` when a + `resampling_interval` is specified but variables don't have + resampling methods. + """ + client = make_client() + with pytest.raises(EnlyzeError) as exc_info: + client._get_timeseries(start_datetime, end_datetime, [variable], 30) + assert isinstance(exc_info.value.__cause__, ValueError) + + +@given( + variable=st.builds(user_models.Variable), +) +@settings(suppress_health_check=[HealthCheck.function_scoped_fixture]) +def test__get_timeseries_raises_on_chunk_value_error( + start_datetime, end_datetime, variable, monkeypatch +): + monkeypatch.setattr("enlyze.client.MAXIMUM_NUMBER_OF_VARIABLES_PER_TIMESERIES_REQUEST", 0) + client = make_client() + with pytest.raises(EnlyzeError) as exc_info: + client._get_timeseries(start_datetime, end_datetime, [variable]) + assert isinstance(exc_info.value.__cause__, ValueError) + + @given( production_order=st.just(PRODUCTION_ORDER), product=st.one_of(