diff --git a/openeo_driver/dummy/dummy_backend.py b/openeo_driver/dummy/dummy_backend.py index 154609e8..90c5c4f3 100644 --- a/openeo_driver/dummy/dummy_backend.py +++ b/openeo_driver/dummy/dummy_backend.py @@ -940,7 +940,7 @@ def get_log_entries( requested_level = normalize_log_level(level) for log in self._custom_job_logs.get(job_id, default_logs): if isinstance(log, dict): - actual_level = normalize_log_level(log.get("log_level")) + actual_level = normalize_log_level(log.get("level")) if actual_level < requested_level: continue yield log diff --git a/openeo_driver/testing.py b/openeo_driver/testing.py index 708776e6..018050f6 100644 --- a/openeo_driver/testing.py +++ b/openeo_driver/testing.py @@ -206,9 +206,11 @@ def ensure_auth_header(self): if not self.default_request_headers.get("Authorization"): self.set_auth_bearer_token() - def get(self, path: str, headers: dict = None) -> ApiResponse: + def get(self, path: str, headers: dict = None, params: Optional[dict] = None) -> ApiResponse: """Do versioned GET request, given non-versioned path""" - return ApiResponse(self.client.get(path=self.url(path), headers=self._request_headers(headers))) + return ApiResponse( + self.client.get(path=self.url(path), headers=self._request_headers(headers), query_string=params) + ) def head(self, path: str, headers: dict = None) -> ApiResponse: """Do versioned GET request, given non-versioned path""" diff --git a/tests/test_views.py b/tests/test_views.py index a86abbeb..4a80cb8c 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -3057,10 +3057,30 @@ def test_get_batch_job_logs(self, api): assert resp.assert_status_code(200).json == { "level": "debug", "logs": [ - {"id": "1", "level": "info", "message": "hello world"} + {"id": "1", "level": "info", "message": "hello world"}, ], - "links": [] + "links": [], + } + + def test_get_batch_job_logs_level(self, api): + log_db = { + "07024ee9-7847-4b8a-b260-6c879a2b3cdc": [ + {"id": "1", "level": "info", "message": "howdy world"}, + {"id": "2", "level": "error", "message": "oh no"}, + ] } + with self._fresh_job_registry(): + with mock.patch.dict(dummy_backend.DummyBatchJobs._custom_job_logs, log_db): + resp = api.get( + "/jobs/07024ee9-7847-4b8a-b260-6c879a2b3cdc/logs", + headers=self.AUTH_HEADER, + params={"level": "warning"}, + ) + assert resp.assert_status_code(200).json == { + "level": "warning", + "logs": [{"id": "2", "level": "error", "message": "oh no"}], + "links": [], + } def test_get_batch_job_logs_failure(self, api): with self._fresh_job_registry():