From 2b2eadf611a974f92701cde21a8c76dee9cff63e Mon Sep 17 00:00:00 2001 From: Ayush Shah Date: Wed, 30 Nov 2022 20:07:24 +0530 Subject: [PATCH] Fix Credentials sent via env (#9071) * Fix Credentials sent via env * add new env var * fix lint * Add Comment --- .github/workflows/py-cli-e2e-tests.yml | 1 + ingestion/src/metadata/utils/credentials.py | 2 ++ ingestion/tests/cli_e2e/database/bigquery/bigquery.yaml | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/py-cli-e2e-tests.yml b/.github/workflows/py-cli-e2e-tests.yml index 617a65627f3..52958372465 100644 --- a/.github/workflows/py-cli-e2e-tests.yml +++ b/.github/workflows/py-cli-e2e-tests.yml @@ -67,6 +67,7 @@ jobs: env: E2E_TEST: ${{ matrix.e2e-test }} E2E_BQ_PROJECT_ID: ${{ secrets.E2E_BQ_PROJECT_ID }} + E2E_BQ_PRIVATE_KEY: ${{ secrets.E2E_BQ_PRIVATE_KEY }} run: | source env/bin/activate python -m pytest -c ingestion/setup.cfg ingestion/tests/cli_e2e/test_cli_$E2E_TEST.py diff --git a/ingestion/src/metadata/utils/credentials.py b/ingestion/src/metadata/utils/credentials.py index f44a7f98936..01157933df2 100644 --- a/ingestion/src/metadata/utils/credentials.py +++ b/ingestion/src/metadata/utils/credentials.py @@ -77,6 +77,8 @@ def build_google_credentials_dict(gcs_values: GCSValues) -> Dict[str, str]: :return: Dictionary with credentials """ private_key_str = gcs_values.privateKey.get_secret_value() + # adding the replace string here to escape line break if passed from env + private_key_str = private_key_str.replace("\\n", "\n") validate_private_key(private_key_str) return { diff --git a/ingestion/tests/cli_e2e/database/bigquery/bigquery.yaml b/ingestion/tests/cli_e2e/database/bigquery/bigquery.yaml index 8802a1e7fe7..c13f2785fab 100644 --- a/ingestion/tests/cli_e2e/database/bigquery/bigquery.yaml +++ b/ingestion/tests/cli_e2e/database/bigquery/bigquery.yaml @@ -11,7 +11,7 @@ source: type: service_account projectId: $E2E_BQ_PROJECT_ID privateKeyId: $CYPRESS_BQ_PRIVATE_KEY_ID - privateKey: $CYPRESS_BQ_PRIVATE_KEY + privateKey: $E2E_BQ_PRIVATE_KEY clientEmail: $CYPRESS_BQ_CLIENT_EMAIL clientId: $CYPRESS_BQ_CLIENT_ID sourceConfig: