Repository navigation
Require explicit BigQuery test credentials - #130
danielmawhirter wants to merge 1 commit into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
Change map
Requested requirement: remove automatic AWS stored-key fallback from migrated BigQuery tests, including local developer runs. Previously, unprofiled tests retained secret lookup and runtime wrappers while profiled runs used prerequisite fixtures. Smallest sufficient change: migrate the two restricted identity callsites, consolidate credential setup around explicit inputs and one fixture flow, and replace fallback tests with final-contract regressions. Other providers' local credential conventions and production connector authentication are outside this helper-specific change. Verification: 58 focused tests passed; flake8, isort, whitespace checks, and the repository documentation checker passed. Tests used Python 3.14 with explicit current-checkout package paths. No live cloud authentication or permission checks were performed. Stopping condition: local credential selection and fixture lifecycle checks pass with no AWS secret lookup or generated credential files in the BigQuery helper. This remains a dependent draft until workflow migration and live GCP federation/provider verification succeed; unavailable live trust must not be worked around by restoring fallback credentials. |
|
Superseded by #224 and #225. The explicit ADC inputs, typed restricted BigQuery identities, removal of hidden AWS credential lookup, and scoped cleanup are consolidated in #225 without depending on the profile/launcher framework. Closing this superseded phase; its credential cleanup is retained in the replacement stack. |
Depends on #129.
Summary
Remove automatic AWS Secrets Manager credential lookup from BigQuery test setup, including direct local runs. Every selected BigQuery test now requires explicit
GOOGLE_APPLICATION_CREDENTIALS; missing or invalid configuration fails before dependent resources start.Local runs accept service-account, user, impersonated, or federated ADC. Restricted key-based tests require separate explicit credential files; other ADC types use explicit impersonation targets. GCP profiles and workload-exchange mode require federated ADC.
BigQueryIdentityreplaces the two legacy secret-name arguments.All decorators now declare requirements for the same session/function fixture flow. Credentials are ready before worker startup and dependent fixtures, environment changes are restored, and input files remain unchanged. The runtime-wrapper and stored-key fallback paths are removed.
This draft depends on the credential-profile and workflow migrations. Live GCP federation remains blocked and unverified. Keep this draft unmerged until the migrated workflows pass live authentication and provider tests.
Change map
File-by-file change map.
Testing Done
flake8 -j 1,isort --check-only, andgit diff --check: passed.PYTHONPATH; no worktree-local.venvor live provider validation.Checklist
service_account_keydecorator argument are removed. Both restricted callsites useBigQueryIdentity.