Skip to main content

LMS Event Testing Guide

Summary

An existing smoke script verifies eight staged contracts and Notification duplicate suppression; dedicated event suites were not found.

Audience

Engineering, QA, integration, architecture, security, product, and support reviewers.

Reference Content

This guide separates verified test evidence from safe future coverage. It does not direct testing against production messaging or claim that an absent suite exists.

Existing Evidence

The Training smoke script exercises lifecycle operations and verifies eight invoked contract types in the outbox. It can send those events directly through a Notification test HTTP boundary and verifies duplicate event-identity suppression. That path does not prove a Training relay, broker publication, subscription transport, or production delivery.

Existing test classificationVerified evidence
SmokePresent; exercises producer lifecycles, eight outbox contract types, Notification recognition, and duplicate identity suppression.
UnitNo dedicated Training event unit suite found.
ContractNo dedicated compatibility or schema-version suite found.
Persistence integrationSmoke assertions observe outbox staging; no dedicated transaction/failure suite found.
Broker integrationNot found; the smoke path does not prove broker delivery.
ConsumerSmoke coverage exists through the test HTTP boundary; no dedicated hosted-consumer suite found.
End to endNo Training relay-to-Notification suite found.

No dedicated ordering, correlation, retry-metadata, schema-migration, or uninvoked-contract suite was verified.

Test levelRecommended evidence
UnitLifecycle guards, conditional assessment outcome, event identity, correlation defaults, and version assignment.
Persistence integrationState and outbox atomicity, uniqueness, retry metadata, and duplicate terminal transitions.
ContractAll nine definitions, version compatibility, and the uninvoked expiry contract.
ConsumerRecognition mappings, processed-event deduplication, delivery failure states, and unsupported names.
Broker integrationPublication and subscription in isolated non-production infrastructure only.
End to endTraining-to-Notification path only after relay ownership is implemented and safely isolated.
BoundaryConfirm Gateway and Document paths remain HTTP-only and are not counted as subscriptions.

Testing must use synthetic, non-sensitive records and isolated non-production infrastructure. This guide provides coverage objectives, not operational commands.

Source References

  • microservices/scripts/smoke-training.ps1
  • microservices/src/training-service/Api/TrainingEndpoints.cs
  • microservices/src/notification-service/Application/NotificationDispatcher.cs

See Also

Keywords

  • Event testing
  • Contract tests
  • Synthetic test data

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly