Skip to content

test: full test-type coverage for all connectors + CI coverage matrix #1819

Description

@mitasovr

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)

  1. Integration tests — run the connector with real credentials against the live API.
  2. 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).
  3. CDK script tests — unit tests for the connector's custom CDK components/scripts (custom Python code: extractors, partition routers, transformations, etc.).
  4. Enrich-stage tests — tests for the enrich stages that post-process the connector's data.
  5. E2E tests — bronze → silver → gold → API tests (declarative YAML e2e rig).
  6. 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

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions