source-mssql-e2e-tests

Runs Airbyte protocol commands against a local SQL Server 2022 backend for source-mssql end-to-end testing.

22.0k|5.3k|Updated Jul 27, 2020
One-click install
npx skills add https://github.com/airbytehq/airbyte --skill source-mssql-e2e-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: source-mssql-e2e-tests
Source: https://github.com/airbytehq/airbyte/tree/main/airbyte-integrations/connectors/source-mssql/.agents/skills/source-mssql-e2e-tests
Command: npx skills add https://github.com/airbytehq/airbyte --skill source-mssql-e2e-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Testing or reproducing bugs in the Airbyte source-mssql connector normally requires a live SQL Server instance, hand-written configs and catalogs, and manual invocation of each Airbyte protocol command. This Skill stands up a throwaway SQL Server 2022 Docker container, applies SQL fixtures, and sweeps spec, check, discover, and read against any airbyte/source-mssql image tag in one deterministic command.

Core Features & Use Cases

  • One-shot protocol sweep: The run.sh entrypoint starts the backend, applies fixtures, renders the config, derives a configured catalog from discover output, runs read, and tears everything down, mirroring the CI regression-test workflow.
  • Target vs. control comparison: Compare a dev image against a published tag with airbyte-ops's built-in comparators, with reset modes (none, fixture, backend) for CDC-safe comparisons.
  • Declarative expectations: Gate runs on verdicts, record/state counts, and regex matches against stdout or stderr without hand-rolled grep assertions.
  • Use Case: Reproduce a reported non-CDC bug by running poe e2e-local --test-version=5.0.0 --fixture=.../00-init-base.sql and inspecting per-command artifacts (stdout.txt, stderr.txt, report.md) under /tmp/source-mssql-repro.

Quick Start

Ask the AI to run the source-mssql e2e sweep locally against image tag 5.0.0 using the base SQL fixture and report the per-command results.

Frequently Asked Questions about source-mssql-e2e-tests

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run end-to-end tests for the Airbyte source-mssql connector locally?

Run scripts/run.sh (or `poe e2e-local`) with a test version and a SQL fixture. It starts a SQL Server 2022 container, applies the fixture, runs spec, check, discover, and read via airbyte-ops, writes per-command artifacts, and tears the backend down.

How do I compare two source-mssql image versions for regressions?

Pass --test-version and --control-version to run.sh. With --reset=none, airbyte-ops runs both images against one backend and diffs their output; with --reset=fixture or --reset=backend, each image gets its own sweep against a reset database.

What prerequisites are needed to run the source-mssql e2e harness?

You need Docker, uv (to install or run airbyte-internal-ops as airbyte-ops), jq, and a clone of airbytehq/airbyte. No GSM or Airbyte Cloud credentials are required because local-only mode reads everything from local files.

Does this skill support testing CDC replication for SQL Server?

It is designed for non-CDC scenarios; CDC testing is handled by the companion source-mssql-e2e-cdc-tests skill built on top of it. The reset modes here still accommodate CDC comparisons, but CDC enablement fixtures live in the dependent skill.

Why does a failed check command not fail the test run?

The connector CDK exits 0 even when it emits a CONNECTION_STATUS message with status FAILED, so the check step reports a pass. Assert on the CONNECTION_STATUS message in check/stdout.txt or use --expect-match instead of relying on the exit code.

How do I assert on record counts or log output in a repro?

Use run.sh's declarative flags: --min-records and --min-states count RECORD and STATE messages in the read output, while --expect-match and --forbid-match apply regexes to any command's stdout or stderr. Any expectation failure exits non-zero.