| 123456789101112131415161718192021222324252627282930313233343536 |
- """
- Integration test ensuring LiteLLM visualization redacts sensitive fields.
- """
- import importlib
- import os
- import pytest
- from agents import ModelSettings
- from agency_swarm import Agency, Agent
- pytest.importorskip("litellm")
- LitellmModel = importlib.import_module("agents.extensions.models.litellm_model").LitellmModel
- def test_visualize_redacts_litellm_credentials(tmp_path):
- """Agency.visualize should not expose LiteLLM secrets in the generated HTML."""
- api_key = os.environ["OPENAI_API_KEY"]
- agent = Agent(
- name="Visualizer",
- instructions="Visualize the agency safely.",
- model_settings=ModelSettings(temperature=0.0),
- model=LitellmModel(model="openai/gpt-5.4-mini", api_key=api_key),
- )
- agency = Agency(agent)
- output_file = tmp_path / "visualization.html"
- result = agency.visualize(output_file=str(output_file), include_tools=False, open_browser=False)
- assert output_file.exists()
- assert result == str(output_file.resolve())
- html = output_file.read_text()
- assert "api_key" not in html
- assert api_key not in html
|