@vibe2founder/queue2tests
v0.1.0
Published
Framework de testes e2e e unitários para sistemas de filas
Maintainers
Readme
🧪 queue2tests
Polyglot Queue Tester — Framework de testes universal para sistemas Event-Driven em Bun, simulando latency e brokers inteiros sem levantar uma mísera imagem Docker!
🔗 Veja o nosso CHANGELOG.md para acompanhar as atualizações mais recentes.
🚀 Como Funciona
Testar mensageiros (Kafka, Redis, RabbitMQ, etc) na ponta dos dedos exige mocks sofríveis. O queue-test-kit traz o mock assinado em contrato, através do ambiente TestScenario validando latência (latency), entrega (delivery) e compatibilidade total de payloads em milissegundos.
import { TestScenario } from '@purecore/queue-test-kit';
const scenario = new TestScenario();
await scenario.withAdapter('redis-source');
await scenario.withAdapter('kafka-target');
// Mapeia virtualização entre Redis e Kafka
await scenario.createRoute('redis-source', 'sensor_data', 'kafka-target', 'analytics_topic');
// Insere e afirmação com base em Deep Equal Matching
await scenario.actEmit('redis-source', 'sensor_data', { temp: 25.5 });
await scenario.assertReceived('kafka-target', 'analytics_topic', { temp: 25.5 });🛠️ Como foi feito
Nós injetamos diretamente Polling assíncronos não-bloqueantes. O módulo assertLatency verifica o histórico de memórias da árvore do wrapper. Com a criação de MockBrokerAdapter, as classes criam um repositório isolado de eventos disparando uma linha de timestamp.
Tudo estruturado sob Tipagem Semântica (TypeScript nativo) — seguindo nosso Evidence-first rule: cada operação subjacente da fila de teste exibe o exato momento e o delta onde um limite estrompou, emitindo o fail ao test-runner, eliminando simulações irreais.
🧪 Como testar
Totalmente agnóstico, você empodera Test Runners como Vitest, Jest ou o formidável Bun Test nativo:
# Rodando testes com o wsl no ecosistema interno do vibe2founder
bun test
# Apenas a camada de asserção de limite temporal:
bun test tests/latency.test.tsCada MockBrokerAdapter gerado via proxy garantirá que chamadas duplicadas nos testes unitários caiam em validação Idempotente sem falhar no cache do motor interno de seu CI.
