Skip to content

feat(ai): comprehensive E2E test suite for all providers#48

Merged
best merged 1 commit into
masterfrom
feature/e2e-test-suite
Feb 23, 2026
Merged

feat(ai): comprehensive E2E test suite for all providers#48
best merged 1 commit into
masterfrom
feature/e2e-test-suite

Conversation

@best
Copy link
Copy Markdown
Contributor

@best best commented Feb 23, 2026

Summary

  • Replace vendor-specific E2E tests (OpenAI, Anthropic, Google, Ollama, DeepSeek, Qwen) with protocol-adapter-based tests aligned with the unified provider architecture ([Feature] Unify Provider architecture to OpenAI/Anthropic compatible两类 #34)
  • Add agent-level E2E tests for ReAct loop and tool calling (new packages/agent/__tests__/e2e/ directory)
  • Update CI workflow to use OPENAI_* / ANTHROPIC_* secrets instead of DEEPSEEK_API_KEY / DASHSCOPE_API_KEY

New test files

File Coverage
packages/ai/__tests__/e2e/openai-compat.e2e.test.ts generate, stream, tools, structured output
packages/ai/__tests__/e2e/anthropic-compat.e2e.test.ts generate, stream, tools
packages/agent/__tests__/e2e/react-loop.e2e.test.ts Full ReAct cycle with real LLM
packages/agent/__tests__/e2e/tool-calling.e2e.test.ts Tool call + result verification

Removed

  • openai.e2e.test.ts, anthropic.e2e.test.ts, google.e2e.test.ts, ollama.e2e.test.ts, smoke.test.ts

Environment variables

Tests are configured via OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL, ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL, ANTHROPIC_MODEL. All tests skip gracefully when env vars are not set.

Test plan

  • pnpm test passes — 1018 tests pass, 10 E2E tests skipped (no env vars)
  • Run E2E workflow manually with secrets to verify real API calls
  • Verify existing unit/integration tests are unaffected

Closes #44

Replace vendor-specific E2E tests (OpenAI, Anthropic, Google, Ollama,
DeepSeek, Qwen) with protocol-adapter-based tests aligned with the
unified provider architecture from #34:

- openai-compat.e2e.test.ts: generate, stream, tools, structured output
- anthropic-compat.e2e.test.ts: generate, stream, tools
- react-loop.e2e.test.ts: full ReAct cycle with real LLM
- tool-calling.e2e.test.ts: tool call + result verification

Tests skip gracefully when env vars are not set. CI workflow updated
to use OPENAI_*/ANTHROPIC_* secrets instead of DEEPSEEK/DASHSCOPE.

Closes #44
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI Code Review

Automated review for PR #48informational only, does not block merge.

Checklist

Item Notes
⚠️ Type Safety 2 use(s) of any detected
⚠️ Error Handling async code added without visible error handling
Test Coverage 5 test file(s) updated
API Consistency No public API changes
Breaking Changes No breaking changes detected

Stats

  • 📁 Files changed: 6 (5 TypeScript)
  • ➕ Lines added: 432
  • 🧪 Test files updated: 5

2 check(s) need attention.

Powered by openlinkos/agent · AI PR Review workflow

@best best merged commit 50ce398 into master Feb 23, 2026
5 checks passed
@best best deleted the feature/e2e-test-suite branch February 23, 2026 04:59
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.

[Feature] Comprehensive E2E test suite for all providers

1 participant