Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 22, 2026

Aligns E2E testing infrastructure with durabletask-python by using durabletask-go sidecar for standard tests and DTS emulator for Azure-managed tests.

Standard E2E Tests (pr-validation.yaml)

  • Replaced Docker-based sidecar with durabletask-go (port 4001)
  • Split into lint-and-unit-tests and e2e-tests jobs
  • Added Node.js matrix: 18.x, 20.x, 22.x
  • Updated to actions v4/v5

Azure-managed E2E Tests (new)

  • Added dts-e2e-tests.yaml workflow using mcr.microsoft.com/dts/dts-emulator (port 8080)
  • Created test/e2e-azuremanaged/orchestration.spec.ts with 9 tests
  • Added scripts/test-e2e-azuremanaged.sh for local testing

npm scripts

"test:e2e:azuremanaged:internal": "jest test/e2e-azuremanaged --runInBand --detectOpenHandles",
"test:e2e:azuremanaged": "./scripts/test-e2e-azuremanaged.sh"

Backend Alignment

Test Type Backend Port
Standard E2E durabletask-go 4001
Azure-managed DTS emulator 8080
Original prompt

refer to microsoft/durabletask-python repo given this context this is python testing backend setup 1. durabletask-go Sidecar (for standard E2E tests)
The standard E2E tests in tests/durabletask/ use the durabletask-go sidecar as the backend. From the test files and documentation:

Python

NOTE: These tests assume a sidecar process is running. Example command:

go install github.com/microsoft/durabletask-go@main

durabletask-go --port 4001

The tests communicate with this sidecar via gRPC on port 4001 by default.

  1. DTS (Durable Task Scheduler) Emulator (for Azure-managed tests)
    The Azure-managed tests in tests/durabletask-azuremanaged/ use the DTS emulator as a Docker container:

Python

NOTE: These tests assume a sidecar process is running. Example command:

docker run -i -p 8080:8080 -p 8082:8082 -d mcr.microsoft.com/dts/dts-emulator:latest

These tests use:

DurableTaskSchedulerClient and DurableTaskSchedulerWorker classes
Default endpoint: http://localhost:8080
Environment variables: ENDPOINT and TASKHUB
Communication Protocol
Both backends communicate using gRPC based on the protobuf definitions from microsoft/durabletask-protobuf. The Python SDK uses TaskHubGrpcWorker and TaskHubGrpcClient classes to interact with these sidecars.

set up durabletask-js e2e tests aligning with python testing setup. also check repos thoroughly to update or create ci/cd pipelines to include the e2e test if needed accordingly


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@YunchuWang YunchuWang changed the title [WIP] Add E2E testing backend setup for durabletask-python [WIP] Add E2E testing backend setup Jan 22, 2026
- Add Azure-managed tests directory (test/e2e-azuremanaged) with DTS emulator tests
- Add test script for running DTS emulator tests (scripts/test-e2e-azuremanaged.sh)
- Update package.json with new test scripts for Azure-managed E2E tests
- Update pr-validation.yaml to use durabletask-go sidecar (like Python SDK)
- Add dts-e2e-tests.yaml workflow for DTS emulator E2E tests
- Add documentation comments to existing E2E tests

Co-authored-by: YunchuWang <12449837+YunchuWang@users.noreply.github.com>
Copilot AI and others added 2 commits January 22, 2026 19:47
Co-authored-by: YunchuWang <12449837+YunchuWang@users.noreply.github.com>
Co-authored-by: YunchuWang <12449837+YunchuWang@users.noreply.github.com>
Copilot AI changed the title [WIP] Add E2E testing backend setup Set up E2E testing infrastructure aligned with durabletask-python Jan 22, 2026
Copilot AI requested a review from YunchuWang January 22, 2026 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants