Files
Eduard van Valkenburg 3a49b1d6dd Python: [BREAKING] Remove deprecated Python OpenAI/Azure AI surfaces (#4990)
* [BREAKING] Remove deprecated Python OpenAI/Azure AI surfaces

Also clean up follow-on docs, environment guidance, package metadata, and lab test stability.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix deleted semantic-kernel sample links

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* improve foundry language

* Fix A2A Foundry sample regression

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3a49b1d6dd ยท 2026-03-31 20:36:21 +00:00
History
..

Sample Integration Tests

Integration tests that validate the Durable Agent Framework samples by running them as Azure Functions.

Setup

1. Create .env file

Copy .env.example to .env and fill in your Azure credentials:

cp .env.example .env

Required variables:

  • AZURE_OPENAI_ENDPOINT
  • AZURE_OPENAI_DEPLOYMENT_NAME
  • AZURE_OPENAI_API_KEY
  • AzureWebJobsStorage
  • DURABLE_TASK_SCHEDULER_CONNECTION_STRING
  • FUNCTIONS_WORKER_RUNTIME

2. Start required services

Azurite (for orchestration tests):

docker run -d -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite

Durable Task Scheduler:

docker run -d -p 8080:8080 -p 8082:8082 -e DTS_USE_DYNAMIC_TASK_HUBS=true mcr.microsoft.com/dts/dts-emulator:latest

Running Tests

The tests automatically start and stop the Azure Functions app for each sample.

Run all sample tests

uv run pytest packages/azurefunctions/tests/integration_tests -v

Run specific sample

uv run pytest packages/azurefunctions/tests/integration_tests/test_01_single_agent.py -v

Run with verbose output

uv run pytest packages/azurefunctions/tests/integration_tests -sv

How It Works

Each test file uses pytest markers to automatically configure and start the function app:

pytestmark = [
    pytest.mark.sample("01_single_agent"),
    pytest.mark.usefixtures("function_app_for_test"),
    skip_if_azure_functions_integration_tests_disabled,
]

The function_app_for_test fixture:

  1. Loads environment variables from .env
  2. Validates required variables are present
  3. Starts the function app on a dynamically allocated port
  4. Waits for the app to be ready
  5. Runs your tests
  6. Tears down the function app

Troubleshooting

Missing environment variables: Ensure your .env file contains all required variables from .env.example.

Tests timeout: Check that Azure OpenAI credentials are valid and the service is accessible.