Goal
Every connector must be covered by the full set of test types, and CI must report the current coverage state in a single at-a-glance table.
Required test types (per connector)
Integration tests — run the connector with real credentials against the live API.
Mock-based tests — run the connector against mocked HTTP responses (see the existing mock test suites, e.g. feat(connector-tests): mock-server tests — spec, harness, jira reference suite, coverage gate #1723 ).
CDK script tests — unit tests for the connector's custom CDK components/scripts (custom Python code: extractors, partition routers, transformations, etc.).
Enrich-stage tests — tests for the enrich stages that post-process the connector's data.
E2E tests — bronze → silver → gold → API tests (declarative YAML e2e rig).
dbt unit tests — unit tests for the connector's dbt models.
CI coverage report
CI must produce a coverage matrix:
Rows — connectors.
Columns — the six test types above.
Cells — coverage percentage where measurable, otherwise a checkmark meaning "tests exist and pass".
Example shape (illustrative only):
Connector
Integration
Mocks
CDK scripts
Enrich
E2E
dbt unit
task-tracking/jira
✅
87%
92%
✅
✅
✅
git/github-v2
✅
75%
—
✅
✅
❌
There are existing examples of similar matrices to model this on.
Scope
All connectors under src/ingestion/connectors/ (27 as of today):
ai/chatgpt-team, ai/claude-admin, ai/claude-enterprise, ai/claude-team, ai/cursor, ai/github-copilot, ai/openai, collaboration/m365, collaboration/slack, collaboration/zoom, collaboration/zulip-proxy, crm/hubspot, crm/salesforce, git/bitbucket-cloud, git/bitbucket-server, git/github, git/github-v2, git/gitlab, hr-directory/bamboohr, hr-directory/ms-entra, hr-directory/workday, support/zendesk, task-tracking/jira, task-tracking/youtrack, ui-design/figma, wiki/confluence, wiki/outline
Notes
Goal
Every connector must be covered by the full set of test types, and CI must report the current coverage state in a single at-a-glance table.
Required test types (per connector)
CI coverage report
CI must produce a coverage matrix:
Example shape (illustrative only):
There are existing examples of similar matrices to model this on.
Scope
All connectors under
src/ingestion/connectors/(27 as of today):ai/chatgpt-team,ai/claude-admin,ai/claude-enterprise,ai/claude-team,ai/cursor,ai/github-copilot,ai/openai,collaboration/m365,collaboration/slack,collaboration/zoom,collaboration/zulip-proxy,crm/hubspot,crm/salesforce,git/bitbucket-cloud,git/bitbucket-server,git/github,git/github-v2,git/gitlab,hr-directory/bamboohr,hr-directory/ms-entra,hr-directory/workday,support/zendesk,task-tracking/jira,task-tracking/youtrack,ui-design/figma,wiki/confluence,wiki/outlineNotes