public void GetDocument_GeneratesDocumentWithMultipleMessagesPerChannel() { // Arrange var options = new AsyncApiOptions(); var schemaGenerator = new SchemaGenerator(Options.Create(options)); var documentGenerator = new DocumentGenerator(Options.Create(options), schemaGenerator); // Act var document = documentGenerator.GenerateDocument(new [] { typeof(TenantMessageConsumer).GetTypeInfo() }); // Assert document.ShouldNotBeNull(); document.Channels.Count.ShouldBe(1); var channel = document.Channels.First(); channel.Key.ShouldBe("asw.tenant_service.tenants_history"); channel.Value.Description.ShouldBe("Tenant events."); var subscribe = channel.Value.Subscribe; subscribe.ShouldNotBeNull(); subscribe !.OperationId.ShouldBe("TenantMessageConsumer"); subscribe.Summary.ShouldBe("Subscribe to domains events about tenants."); var messages = subscribe.Message.ShouldBeOfType <Messages>(); messages.OneOf.Count.ShouldBe(3); messages.OneOf.ShouldContain(m => m.Name == "tenantCreated"); messages.OneOf.ShouldContain(m => m.Name == "tenantUpdated"); messages.OneOf.ShouldContain(m => m.Name == "tenantRemoved"); }