From 30563981eed3289f9de833b118305ee20a7ec9f3 Mon Sep 17 00:00:00 2001 From: janmatzek Date: Mon, 29 Sep 2025 11:08:07 +0200 Subject: [PATCH] chore:(gooddata-pipelines): user orjson to load test data --- gooddata-pipelines/pyproject.toml | 1 + .../tests/provisioning/entities/users/test_permissions.py | 8 ++++---- .../tests/provisioning/entities/users/test_users.py | 8 ++++---- .../entities/workspaces/test_workspace_data_filters.py | 6 +++--- .../test_models/test_analytical_object.py | 5 ++--- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gooddata-pipelines/pyproject.toml b/gooddata-pipelines/pyproject.toml index 2f34eb81f..5c5120185 100644 --- a/gooddata-pipelines/pyproject.toml +++ b/gooddata-pipelines/pyproject.toml @@ -33,6 +33,7 @@ moto = ">=5.1.6,<6.0.0" pytest = ">=8.3.5,<9.0.0" pytest-mock = ">=3.14.0,<4.0.0" ruff = ">=0.11.2,<0.12.0" +orjson = "^3.11.3" [build-system] requires = ["hatchling"] diff --git a/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py b/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py index 2e042ac92..57b76b33b 100644 --- a/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py +++ b/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py @@ -1,7 +1,7 @@ # (C) 2025 GoodData Corporation -import json from typing import Literal +import orjson import pytest from gooddata_api_client.exceptions import ( # type: ignore[import] NotFoundException, @@ -455,7 +455,7 @@ def test_permission_provisioner( f"{TEST_DATA_SUBDIR}/existing_upstream_permissions.json" ) with open(EXISTING_UPSTREAM_PERMISSIONS_PATH, "r") as f: - raw_existing_upstream_permissions = json.load(f) + raw_existing_upstream_permissions = orjson.loads(f.read()) existing_upstream_permissions = parse_expected_permissions( raw_existing_upstream_permissions @@ -477,11 +477,11 @@ def mock_get_declarative_permissions( # Load source data with open(f"{TEST_DATA_SUBDIR}/{source_data_path}", "r") as f: - source_data = json.load(f) + source_data = orjson.loads(f.read()) # Load and parse expected data with open(f"{TEST_DATA_SUBDIR}/{expected_data_path}", "r") as f: - raw_expected_result = json.load(f) + raw_expected_result = orjson.loads(f.read()) expected_result = parse_expected_permissions(raw_expected_result) diff --git a/gooddata-pipelines/tests/provisioning/entities/users/test_users.py b/gooddata-pipelines/tests/provisioning/entities/users/test_users.py index 65861fae5..45a6c7707 100644 --- a/gooddata-pipelines/tests/provisioning/entities/users/test_users.py +++ b/gooddata-pipelines/tests/provisioning/entities/users/test_users.py @@ -1,8 +1,8 @@ # (C) 2025 GoodData Corporation -import json from dataclasses import dataclass from typing import Literal, Optional +import orjson import pytest from gooddata_api_client.exceptions import NotFoundException # type: ignore from gooddata_sdk.catalog.user.entity_model.user import ( @@ -225,15 +225,15 @@ def test_user_provisioning( # Load input data with open(f"{TEST_DATA_SUBDIR}/{input_path}", "r") as f: - input_data = json.load(f) + input_data = orjson.loads(f.read()) # Load expected data with open(f"{TEST_DATA_SUBDIR}/{expected_path}", "r") as f: - raw_expected_data = json.load(f) + raw_expected_data = orjson.loads(f.read()) # Load and patch "existing users" with open(f"{TEST_DATA_SUBDIR}/existing_upstream_users.json", "r") as f: - raw_upstream_users = json.load(f) + raw_upstream_users = orjson.loads(f.read()) upstream_users = parse_user_data(raw_upstream_users) diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py b/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py index 31f2d73e1..d07ec8f17 100644 --- a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py +++ b/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py @@ -1,8 +1,8 @@ # (C) 2025 GoodData Corporation -import json from typing import Any +import orjson import pytest from pydantic import ValidationError from requests import Response @@ -67,7 +67,7 @@ def test_get_wdf_settings_for_workspace_valid_payload( payload = WDF_VALID_PAYLOAD - mock_response._content = json.dumps(payload).encode("utf-8") + mock_response._content = orjson.dumps(payload) mocker.patch.object( mock_gooddata_api, @@ -102,7 +102,7 @@ def test_get_wdf_settings_for_workspace_invalid_payload( ] } - mock_response._content = json.dumps(payload).encode("utf-8") + mock_response._content = orjson.dumps(payload) mocker.patch.object( mock_gooddata_api, diff --git a/gooddata-pipelines/tests/test_ldm_extension/test_models/test_analytical_object.py b/gooddata-pipelines/tests/test_ldm_extension/test_models/test_analytical_object.py index 6665d8fa0..b04cec428 100644 --- a/gooddata-pipelines/tests/test_ldm_extension/test_models/test_analytical_object.py +++ b/gooddata-pipelines/tests/test_ldm_extension/test_models/test_analytical_object.py @@ -1,6 +1,5 @@ # (C) 2025 GoodData Corporation -import json - +import orjson import pytest from gooddata_pipelines.ldm_extension.models.analytical_object import ( @@ -20,7 +19,7 @@ ) def test_analytical_object_model_with_metrics(file_path): with open(file_path, "r") as file: - data = json.load(file) + data = orjson.loads(file.read()) analytical_objects = AnalyticalObjects(**data) assert isinstance(analytical_objects, AnalyticalObjects) assert isinstance(analytical_objects.data, list)