FakeProvider & FakeAgent

djangosdk ships with test utilities that let you write unit tests without calling real APIs.

FakeProvider

FakeProvider is an in-memory AbstractProvider that returns a pre-configured response. It records every AgentRequest it receives in fake.calls.

Basic Usage

from djangosdk.testing.fakes import FakeProvider, override_ai_provider
from myapp.agents import SupportAgent

def test_support_agent():
    fake = FakeProvider(text="Your order has been shipped.")

    with override_ai_provider(fake):
        agent = SupportAgent()
        response = agent.handle("Where is my order?")

    assert response.text == "Your order has been shipped."
    assert len(fake.calls) == 1

Constructor Parameters

Inspecting Calls

FakeAgent

FakeAgent is a pre-wired agent backed by FakeProvider. Use it when you need a complete agent without configuring Django settings:

override_ai_provider Context Manager

override_ai_provider patches registry.get() so all agents in the block use the given provider:

Testing Tool Calls

To simulate an agent that calls tools:

Testing Streaming

Last updated

Was this helpful?