public void Start_FirstMessageOnQueueDoesNotMeetExpectations_DropsUninterestingMessageAndMovesOn() { // Arrange MsmqHelpers.Purge("orderservice"); MsmqHelpers.Purge("shippingservice"); UnicastBus bus = InternalBusCreator.CreateBus(); var stuffer = new MessageStuffer(bus); ServiceStub service = Configure.Stub().NServiceBusSerializers().Create(@".\Private$\orderservice"); service.Setup() .Expect <IPlaceAnOrder>(msg => msg.Product == "stockings") .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "shippingservice"); stuffer.PutMessageOnQueue <IPlaceAnOrder>(msg => { msg.Product = "somethingelse"; }, @"orderservice"); stuffer.PutMessageOnQueue <IPlaceAnOrder>(msg => { msg.Product = "stockings"; }, @"orderservice"); // Act service.Start(); while (MsmqHelpers.GetMessageCount("shippingservice") == 0) { } StopService(service); // Assert Assert.That(MsmqHelpers.GetMessageCount("orderservice"), Is.EqualTo(0), "meesage which did not meet the expectations was left behind"); Assert.That(MsmqHelpers.GetMessageCount("shippingservice"), Is.EqualTo(1), "shipping service did not recieve send"); }
public void Start_ExpectationsAreMet_SendsMessages() { // Arrange MsmqHelpers.Purge("orderservice"); MsmqHelpers.Purge("shippingservice"); MsmqHelpers.Purge("testclient"); UnicastBus bus = InternalBusCreator.CreateBus(); var stuffer = new MessageStuffer(bus); ServiceStub service = Configure.Stub().NServiceBusSerializers().Create(@".\Private$\orderservice"); service.Setup() .Expect <IPlaceAnOrder>(msg => msg.Product == "stockings") .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "shippingservice") .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "testclient"); stuffer.PutMessageOnQueue <IPlaceAnOrder>(msg => { msg.Product = "stockings"; }, @"orderservice"); // Act service.Start(); while (MsmqHelpers.GetMessageCount("shippingservice") == 0) { } StopService(service); // Assert Assert.That(MsmqHelpers.GetMessageCount("shippingservice"), Is.EqualTo(1)); Assert.That(MsmqHelpers.GetMessageCount("testclient"), Is.EqualTo(1)); }
public void Start_SendSequeceOfMessagesMultipleTimes_SendsMessages() { // Arrange MsmqHelpers.Purge("shippingservice"); ServiceStub service = Configure.Stub().NServiceBusSerializers().Create(@".\Private$\orderservice"); service.Setup() .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "shippingservice").NumberOfTimes(10) .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "shippingservice").NumberOfTimes(10); // Act service.Start(); StopService(service); // Assert Assert.That(MsmqHelpers.GetMessageCount("shippingservice"), Is.EqualTo(20), "shipping service did not recieve send"); }
public void Stop_MultipleSequences_WaitsUntilMessagesAreSent() { // Arrange MsmqHelpers.Purge("shippingservice"); ServiceStub service = Configure.Stub().NServiceBusSerializers().Create(@".\Private$\orderservice"); service.Setup() .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "shippingservice"); service.Setup() .Send <IOrderWasPlaced>(msg => msg.OrderedProduct = "stockings", "shippingservice"); // Act service.Start(); service.Stop(); // Assert Assert.That(MsmqHelpers.GetMessageCount("shippingservice"), Is.EqualTo(2), "shipping service did not recieve send"); }