From 5896c9582b43eda186f084c22c48cd91def6eb4c Mon Sep 17 00:00:00 2001 From: Trevin Chow Date: Thu, 9 Apr 2026 12:56:34 -0700 Subject: [PATCH] fix(tests): isolate env in resolve_google_judge_api_key test The second assertion in test_resolve_google_judge_api_key_prefers_google_key ran outside the mock.patch.dict context. When GOOGLE_API_KEY or GEMINI_API_KEY is set in the real environment, os.environ takes precedence over the config dict fallback and the test fails. Wrap the assertion in its own mock.patch.dict scope that clears the three relevant env vars so the test passes regardless of the developer's env. This contribution was developed with AI assistance (Claude Code). --- tests/test_evaluator_v3.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_evaluator_v3.py b/tests/test_evaluator_v3.py index 604ef32..69e03a5 100644 --- a/tests/test_evaluator_v3.py +++ b/tests/test_evaluator_v3.py @@ -1,4 +1,5 @@ import json +import os import sys import tempfile import unittest @@ -99,7 +100,10 @@ class EvaluatorV3Tests(unittest.TestCase): def test_resolve_google_judge_api_key_prefers_google_key(self): with mock.patch.dict("os.environ", {"GOOGLE_API_KEY": "google", "GEMINI_API_KEY": "gemini"}, clear=False): self.assertEqual("google", evaluator.resolve_google_judge_api_key({})) - self.assertEqual("fallback", evaluator.resolve_google_judge_api_key({"GOOGLE_GENAI_API_KEY": "fallback"})) + with mock.patch.dict("os.environ", {k: "" for k in ("GOOGLE_API_KEY", "GEMINI_API_KEY", "GOOGLE_GENAI_API_KEY")}, clear=False): + for k in ("GOOGLE_API_KEY", "GEMINI_API_KEY", "GOOGLE_GENAI_API_KEY"): + os.environ.pop(k, None) + self.assertEqual("fallback", evaluator.resolve_google_judge_api_key({"GOOGLE_GENAI_API_KEY": "fallback"})) def test_extract_gemini_text_raises_when_missing(self): self.assertEqual(