testing-advanced

Implements advanced integration testing for multi-host Wolverine environments with gRPC and OpenTelemetry.

Updated Apr 21, 2026
One-click install
npx skills add https://github.com/erikshafer/CritterCab --skill testing-advanced-erikshafer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: testing-advanced
Source: https://github.com/erikshafer/CritterCab/tree/main/docs/skills/testing-advanced
Command: npx skills add https://github.com/erikshafer/CritterCab --skill testing-advanced-erikshafer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires Wolverine, Testcontainers, OpenTelemetry, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides advanced integration testing patterns for multi-host scenarios in CritterCab, addressing cross-service tests, gRPC streaming, and advanced saga timeout testing.

Core Features & Use Cases

  • Multi-host Scenarios: Handles testing across multiple Wolverine hosts.
  • gRPC Streaming Tests: Covers unary, server-streaming, bidirectional, and client-streaming patterns.
  • Dynamic Database Per Fixture: Isolates database per test for parallel execution.
  • Vhost Isolation: Ensures message isolation in RabbitMQ and other transport namespaces.
  • Testcontainers: Integrates with Kafka and Azure Service Bus for real broker testing.
  • Test-token Factories: Generates JWTs for identity-acl boundary testing.
  • OpenTelemetry Verification: Validates spans and metrics with in-memory exporters.
  • Polyglot Boundary Tests: Runs cross-language gRPC, Kafka, and identity flows.
  • Failure Injection: Tests resilience with exception handling and fault injection.

Quick Start

Use the testing-advanced skill to test a multi-host saga scenario across Trips, Pricing, and Payments.

Frequently Asked Questions about testing-advanced

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

FAQPage Schema
How do I test gRPC streaming across multiple Wolverine hosts?

Dynamic database isolation provides a separate database per test fixture, enabling safe parallel execution. This pattern ensures tests do not interfere with each other, maintaining data integrity across concurrent test runs.

Can I use Testcontainers to test Kafka and Azure Service Bus integration?

OpenTelemetry verification validates distributed tracing by checking spans and metrics using in-memory exporters. This confirms that cross-service telemetry data is correctly emitted and correlated across multi-host saga executions.

Do I need prior knowledge of Wolverine and Testcontainers to use advanced integration testing?

Advanced integration testing requires existing knowledge of Wolverine, Testcontainers, and OpenTelemetry. The testing patterns assume familiarity with multi-host environments, gRPC streaming, and dynamic database isolation to implement complex saga and transport scenarios.

What is the best way to isolate RabbitMQ message queues during parallel testing?

Test-token factories generate JWTs specifically for identity-acl boundary testing. These tokens validate cross-language gRPC, Kafka, and identity flows, ensuring authenticated polyglot service interactions remain secure under failure injection.

Why does my multi-host saga test require transport namespace isolation?

Transport namespace isolation is required to prevent message collisions when testing multi-host sagas across services like Trips, Pricing, and Payments. It ensures each host operates within its own message boundary, avoiding false test failures.