public void MicroserviceHostFindsQueueNameInAttribute() { var serviceMock = new SomeMicroserviceMock(); using (var host = new MicroserviceHost <SomeMicroserviceMock>(serviceMock)) { Assert.Equal(1, host.ServiceModel.QueueNames.Count()); Assert.True(host.ServiceModel.QueueNames.Contains("microserviceQueue")); } }
public void MicroserviceHostFindsHandlersInInstance() { var serviceMock = new SomeMicroserviceMock(); using (var host = new MicroserviceHost <SomeMicroserviceMock>(serviceMock)) { Assert.Equal(2, host.ServiceModel.Handlers.Count()); Assert.True(host.ServiceModel.Handlers.Contains("InfoSupport.WSA.Infrastructure.Test.dummies.TestCommand"), "TestCommand is not recognized"); Assert.True(host.ServiceModel.Handlers.Contains("InfoSupport.WSA.Infrastructure.Test.dummies.SomeCommand"), "SomeCommand is not recognized"); } }
public void MicroserviceHostFailsIfRabbitMQIsNotReachable() { var serviceMock = new SomeMicroserviceMock(); var options = new BusOptions { HostName = "NonExistingName" }; MicroserviceConfigurationException ex = Assert.Throws <MicroserviceConfigurationException>(() => { using (var host = new MicroserviceHost <SomeMicroserviceMock>(serviceMock, options)) { host.Open(); } }); Assert.Equal("The Eventbus (RabbitMQ service) cannot be reached.", ex.Message); }
public void MicroserviceHostSilentlyIgnoresUnknownCommands() { var serviceMock = new SomeMicroserviceMock(); using (var host = new MicroserviceHost <SomeMicroserviceMock>(serviceMock)) { var options = new BusOptions() { QueueName = "microserviceQueue" }; var command = new KeyValuePair <string, int>("Test", 42); SendMessage(command, options); serviceMock.ReceivedFlag.WaitOne(500); Assert.False(serviceMock.SomeCommandHandlerHasBeenCalled); Assert.False(serviceMock.TestCommandHandlerHasBeenCalled); } }
public void MicroserviceHostReceivesCommands() { var serviceMock = new SomeMicroserviceMock(); using (var host = new MicroserviceHost <SomeMicroserviceMock>(serviceMock)) { var options = new BusOptions() { QueueName = "microserviceQueue" }; host.Open(); var command = new SomeCommand() { SomeValue = "teststring" }; SendMessage(command, options); serviceMock.ReceivedFlag.WaitOne(500); Assert.True(serviceMock.SomeCommandHandlerHasBeenCalled); Assert.False(serviceMock.TestCommandHandlerHasBeenCalled); } }