Require independent renderer and solver clients
This commit is contained in:
+12
-14
@@ -6,33 +6,31 @@ from logicbench.client import LLMClientConfig
|
||||
|
||||
|
||||
class ClientConfigTests(unittest.TestCase):
|
||||
def test_shared_provider_defaults_apply_to_both_roles(self):
|
||||
def test_roles_have_independent_explicit_configuration(self):
|
||||
values = {
|
||||
"LLM_API_KEY": "shared-key",
|
||||
"LLM_BASE_URL": "https://shared.example/v1",
|
||||
"RENDERER_API_KEY": "renderer-key",
|
||||
"RENDERER_BASE_URL": "https://renderer.example/v1",
|
||||
"RENDERER_MODEL": "renderer-model",
|
||||
"SOLVER_API_KEY": "solver-key",
|
||||
"SOLVER_BASE_URL": "https://solver.example/v1",
|
||||
"SOLVER_MODEL": "solver-model",
|
||||
}
|
||||
with patch.dict(os.environ, values, clear=True):
|
||||
renderer = LLMClientConfig.from_env("renderer")
|
||||
solver = LLMClientConfig.from_env("solver")
|
||||
self.assertEqual(renderer.api_key, "shared-key")
|
||||
self.assertEqual(solver.api_key, "shared-key")
|
||||
self.assertEqual(renderer.base_url, "https://shared.example/v1")
|
||||
self.assertEqual(solver.base_url, "https://shared.example/v1")
|
||||
self.assertEqual(renderer.api_key, "renderer-key")
|
||||
self.assertEqual(solver.api_key, "solver-key")
|
||||
self.assertEqual(renderer.base_url, "https://renderer.example/v1")
|
||||
self.assertEqual(solver.base_url, "https://solver.example/v1")
|
||||
|
||||
def test_role_specific_values_override_shared_provider(self):
|
||||
def test_missing_role_base_url_is_rejected(self):
|
||||
values = {
|
||||
"LLM_API_KEY": "shared-key",
|
||||
"LLM_BASE_URL": "https://shared.example/v1",
|
||||
"RENDERER_API_KEY": "renderer-key",
|
||||
"RENDERER_BASE_URL": "https://renderer.example/v1/",
|
||||
"RENDERER_MODEL": "renderer-model",
|
||||
}
|
||||
with patch.dict(os.environ, values, clear=True):
|
||||
renderer = LLMClientConfig.from_env("renderer")
|
||||
self.assertEqual(renderer.api_key, "renderer-key")
|
||||
self.assertEqual(renderer.base_url, "https://renderer.example/v1")
|
||||
with self.assertRaisesRegex(ValueError, "RENDERER_BASE_URL is required"):
|
||||
LLMClientConfig.from_env("renderer")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user