messagingtest

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package messagingtest is the conformance suite every messaging provider passes.

The package exports:

  • Run, which runs every case against brokers from a provider's constructor, each case as a subtest

A provider's test calls Run with a constructor for a fresh broker; each case runs its sources through a reactor.Reactor, as a composition root would.

The cases prove what a service relies on: an event survives the broker intact, the type filter and delivery groups route it, a new Name starts where its subscription says, the handler's return decides its outcome, AckWait bounds a handler and redelivers the event, a durable keeps its position across members, and a drained handler's acknowledgement holds. Each delivery's context carries its attempt, which messaging.Attempt reads, counting up across redeliveries to MaxDeliver. The broker deduplicates on the event's source and id and rejects a type that breaks messaging.CheckType. A case that proves an absence, such as no redelivery after a terminate, watches a short quiet window.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(t *testing.T, newBroker func(t *testing.T) messaging.Broker)

Run runs the conformance suite, each case as a subtest on a broker from newBroker.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL