Skip to content

AI Agent Testing

The Danube Agent Skills repository lets you test Danube using AI coding assistants. Describe what you want to test in plain English, and the AI sets up infrastructure, runs the test, and reports results, no manual configuration needed.

Open the repository in an AI-powered IDE (Claude Code, Cursor, Windsurf, VS Code + Copilot, or any agent that reads SKILL.md files), type a prompt, and the AI handles everything:

  • Downloads binaries from GitHub Releases
  • Generates broker configs from templates
  • Starts brokers, forms clusters, creates namespaces
  • Installs client libraries as needed
  • Runs the test scenario step by step
  • Reports pass/fail results

Each test run creates an isolated directory with all configs, logs, and data. Nothing is shared between runs.

  1. Clone the repository

    Terminal
    git clone https://github.com/danube-messaging/danube-agent-skills.git
    cd danube-agent-skills
  2. Open in your AI IDE

    Open the danube-agent-skills folder in your preferred AI-powered editor or terminal.

  3. Tell the AI what to test

    Type a prompt like:

    “I want to test reliable delivery with NACK redelivery”

    The AI reads the skill files, asks a few clarifying questions (which aspect, which setup method), and then executes the scenario.

Here are some prompts to get you started:

  • “Set up a standalone Danube broker and run a quick produce/consume test”
  • “Test fan-out vs queue subscription patterns using Python”
  • “Set up a 3-node cluster and test broker scaling”
  • “I want to try schema validation with backward compatibility”
  • “Set up a secure cluster with TLS and test RBAC permissions”
  • “Test edge MQTT ingestion with store-and-forward”
  • “Just bring up a Danube cluster so I can play with it”

Scenarios are structured test workflows. Each one has a clear objective, deterministic test aspects to choose from, step-by-step execution, and pass/fail criteria.

For application developers building on Danube:

Core Messaging

Basic produce and consume: pick your subscription type, reliability mode, partitions, and schema. The foundational test for Danube.

Subscription Patterns

Fan-out (broadcast to all consumers) vs Queue (round-robin work distribution) vs Consumer Churn (join/leave mid-traffic).

Reliable Delivery

At-least-once guarantees: NACK redelivery, ack timeout, failure policies (block/drop/dead-letter), and consumer reconnection.

Schema Lifecycle

Schema registration, validation, compatibility modes (backward/forward/full/none), version pinning, and topic-level schema locking.

Key-Shared Advanced

Glob-based key filtering, Key-Shared on partitioned topics, and poison message handling with failure policies.

For platform teams and cluster administrators:

Broker Scaling

Scale up (add a broker via Raft join), scale down (safely decommission), and reliable topic move with zero message loss.

Cluster Health

Follower restart, leader restart with Raft re-election, and broker failover with automatic topic reassignment.

Security and RBAC

TLS certificate setup, JWT token management, RBAC roles and bindings, and PermissionDenied enforcement.

Edge MQTT

MQTT devices publish to the edge gateway with schema validation, attribute extraction, and store-and-forward during outages.

Bring Up Cluster

Get a running Danube instance (standalone or cluster) for ad-hoc use, no automated test, just a working Danube you can interact with.

The AI will ask which setup method to use. Pick whichever fits your environment:

MethodBest For
Local BinaryQuickest start, downloads pre-built binaries, no dependencies beyond curl
Local SourceDevelopers working on the Danube codebase, builds from source with cargo
Docker ComposeContainer-based setups, supports special infrastructure (MinIO, Valkey)
KubernetesProduction-like testing, deploys via Helm chart