Plugins

Standard Plugins

Drift comes bundled with several core plugins that provide essential testing, validation, and reporting capabilities out of the box.

Plugins for message-based testing are used together. An AsyncAPI test file declares the asyncapi plugin, one transport plugin, and the json plugin.

OpenAPI (oas)

The foundational plugin for spec-first testing. It parses OpenAPI 3.0 and 3.1 documents to resolve endpoints, schemas, and examples.

Specification format

Support status

Swagger 2.0

Supported

OpenAPI 3.0

Supported

OpenAPI 3.1

Supported

OpenAPI 3.2

Not supported

Swagger earlier than 2.0

Not supported

  • Automatic validation of response bodies against JSON schemas.

  • Support for source:method:path targeting when operationId is missing.

  • See Also: OpenAPI (OAS)

AsyncAPI (asyncapi)

The foundational plugin for message-based testing. It parses AsyncAPI 3.x documents to resolve operations, channels, message schemas, and correlation rules, then plans how each interaction should be executed. 

Specification format

Support status

AsyncAPI 3.1

Supported

AsyncAPI 3.0

Supported

AsyncAPI 2.x

Not supported

See Also: AsyncAPI Plugin

  • Automatic selection of the execution mode from the operation action and your test inputs.

  • Validation of captured messages against payload and header schemas.

  • Use with a transport plugin (kafka or aws-messaging) and the json plugin.

JSON (json)

Provides specialized validation for JSON payloads.

  • Media Type Support: Handles application/json payloads defined in your API specification.

  • Schema Support: Powers deep property and type checking for API responses.

Kafka (kafka)

Provides Apache Kafka transport for AsyncAPI operations.

Use Case: Use this plugin when your AsyncAPI document declares the kafka protocol. Drift publishes to and consumes from real Kafka topics.

Supports: Asynchronous and request/reply interactions.

See Also: Kafka Plugin

AWS Messaging (aws-messaging)

Provides Amazon SNS and Amazon SQS transport for AsyncAPI operations.

Use Case: Use this plugin when your AsyncAPI document declares the sns or sqs protocol. Works against AWS or a local emulator such as LocalStack.

Supports: Asynchronous interactions only. Request/reply is not available on SNS or SQS.

See Also: AWS Messaging Plugin

XML (xml)

Provides payload support for XML request and response bodies.

  • Media Type Support: Handles application/xml payloads defined in your API specification.

  • Use Case: Use this plugin when your API exchanges XML bodies that Drift needs to send or validate.

  • See Also: XML Plugin

Form URL Encoded (form-urlencoded)

Provides payload support for HTML form-style request bodies.

  • Media Type Support: Handles application/x-www-form-urlencoded payloads.

  • Use Case: Use this plugin when an operation expects form fields instead of JSON.

  • See Also: Form URL Encoded Plugin

Data (data)

Manages the loading and injection of external datasets into your test cases.

  • Dataset Management: Resolves references like ${product:products.product10.id} from drift-dataset-file sources.

  • Dynamic Generation: Supports advanced expressions like notIn() to create unique test data on the fly.

  • See Also: Data Plugin

JUnit Reporter (junit-output)

Generates standardized XML reports for integration with CI/CD tools like GitHub Actions, Jenkins, or GitLab.

  • Format: Produces testsuite and testcase elements compatible with universal JUnit XML schemas.

  • CI Integration: Allows build systems to visualize pass/fail counts and execution times natively.

gRPC (grpc)

Provides support for gRPC services with protobuf payloads.

  • Media Type Support: Handles application/grpc+proto, application/grpc and application/x-protobuf

  • Use Case: Use this plugin when you need to test gRPC services

  • See Also: gRPC Plugin

MCP (mcp)

Provides support for MCP servers.

  • Media Type Support: Handles application/json bodies

  • Network Support: Supports streamable HTTP via SSE and stdio

  • Use Case: Use this plugin when you need to test MCP Servers

  • See Also: MCP Plugin

Publication date: