From e57d39c4162e835538738a5fae9f058c68e8ed31 Mon Sep 17 00:00:00 2001 From: foefl Date: Wed, 30 Apr 2025 15:44:08 +0200 Subject: [PATCH] add login check for first request execution --- pyproject.toml | 4 ++-- src/delta_barth/api/requests.py | 5 +++++ tests/api/test_requests.py | 3 +-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1bb4adb..fe8ed4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "delta-barth" -version = "0.5.9dev1" +version = "0.5.9dev2" description = "workflows and pipelines for the Python-based Plugin of Delta Barth's ERP system" authors = [ {name = "Florian Förster", email = "f.foerster@d-opt.com"}, @@ -74,7 +74,7 @@ directory = "reports/coverage" [tool.bumpversion] -current_version = "0.5.9dev1" +current_version = "0.5.9dev2" parse = """(?x) (?P0|[1-9]\\d*)\\. (?P0|[1-9]\\d*)\\. diff --git a/src/delta_barth/api/requests.py b/src/delta_barth/api/requests.py index 57b36a0..700ef61 100644 --- a/src/delta_barth/api/requests.py +++ b/src/delta_barth/api/requests.py @@ -66,6 +66,11 @@ def get_sales_prognosis_data( BuchungsDatum=start_date, ) empty_response = SalesPrognosisResponse(daten=tuple()) + if not session.logged_in: + _, status = session.login() + if status != STATUS_HANDLER.SUCCESS: + return empty_response, status + resp: Response | None = None try: for attempt in range(1, (MAX_LOGIN_RETRIES + 1)): diff --git a/tests/api/test_requests.py b/tests/api/test_requests.py index ab9bf08..df59fcc 100644 --- a/tests/api/test_requests.py +++ b/tests/api/test_requests.py @@ -8,9 +8,8 @@ from delta_barth.api import requests as requests_ @pytest.mark.api_con_required def test_get_sales_prognosis_data_Success(session): - resp, status = session.login() + # do not login: let routine do it # test without company ID - assert status.code == 0 date = Datetime(2023, 12, 15) resp, status = requests_.get_sales_prognosis_data(session, None, date) assert status.code == 0