googleapis / googleapis/google-cloud-python
google-auth: Tests in test__default.py fail if GOOGLE_CLOUD_PROJECT is set in the local environment
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 1.8k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 122
Description
If you run the test suite locally with `GOOGLE_CLOUD_PROJECT` set in your environment, several tests in `tests/test__default.py` (such as `test_default_early_out` and `test_default_gdch_service_account_credentials`) will fail.
The `google.auth.default()` function reads `os.environ.get("GOOGLE_CLOUD_PROJECT")` to determine the project ID. Because `os.environ` isn't fully mocked or cleared in these tests, the local environment variable takes precedence over the mocked `project_id` sentinels, resulting in assertion failures.
To fix this, we should properly isolate the tests from the local environment by clearing or mocking the project-related environment variables (e.g., using pytest's `monkeypatch.delenv`) inside `test__default.py`.
Contributor guide
Research direction
Start in tests/test__default.py with test_default_early_out and test_default_gdch_service_account_credentials, then inspect how google.auth.default() reads GOOGLE_CLOUD_PROJECT. Run those tests with the environment variable set and isolate the project-related variables using pytest’s monkeypatch support. Done means the tests pass both with and without GOOGLE_CLOUD_PROJECT in the local environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100