main
py 37 lines 1.23 KB
Raw
1 from helpers import secrets
2
3
4 class _Context:
5 def get_data(self, key: str):
6 return None
7
8
9 def test_agent_secret_manager_masks_runtime_credentials_only(monkeypatch):
10 monkeypatch.setattr(secrets.SecretsManager, "_instances", {})
11 monkeypatch.setattr(secrets.dotenv, "get_dotenv_file_path", lambda: "usr/.env")
12
13 contents = {
14 "usr/secrets.env": "PROJECT_SECRET=project-value\n",
15 "usr/.env": (
16 "API_KEY_OPENAI=llm-secret-value\n"
17 "ANONYMIZED_TELEMETRY=false\n"
18 "DEFAULT_USER_TIMEZONE=Europe/Rome\n"
19 ),
20 }
21 monkeypatch.setattr(secrets.files, "read_file", contents.__getitem__)
22
23 manager = secrets.get_secrets_manager(_Context())
24
25 assert manager.mask_values(
26 "project-value; key=llm-secret-value; avoid falsely accusing a utility"
27 ) == (
28 "§§secret(PROJECT_SECRET); key=§§secret(API_KEY_OPENAI); "
29 "avoid falsely accusing a utility"
30 )
31 assert "ANONYMIZED_TELEMETRY" not in manager.get_secrets_for_prompt()
32
33 stream_filter = manager.create_streaming_filter()
34 assert stream_filter.process_chunk("avoid falsely accusing a utility") == (
35 "avoid falsely accusing a utility"
36 )
37 assert stream_filter.finalize() == ""