From dea4f4a462582c2d91ee48270283c1160dce3a63 Mon Sep 17 00:00:00 2001 From: Aaron Zuspan Date: Wed, 29 Jan 2025 08:16:51 -0800 Subject: [PATCH] Parse project_id from service account key data --- tests/conftest.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 92ecb79..433ae29 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -66,13 +66,22 @@ def object_cache(): def pytest_sessionstart(session): + _init_ee_for_tests() + + +def _init_ee_for_tests(): + # Use the Github Service Account for CI tests if os.environ.get("GITHUB_ACTIONS"): - service_account = os.environ.get("EE_SERVICE_ACCOUNT") - credentials = ee.ServiceAccountCredentials(None, key_data=service_account) + key_data = os.environ.get("EE_SERVICE_ACCOUNT") + project_id = json.loads(key_data).get("project_id") + credentials = ee.ServiceAccountCredentials(None, key_data=key_data) + # Use stored persistent credentials for local tests else: + # Project should be parsed from credentials + project_id = None credentials = "persistent" - ee.Initialize(credentials=credentials) + ee.Initialize(credentials, project=project_id) @pytest.fixture(autouse=True)