public void EventListenerReceivesMessageAsync(string firstName, string lastName, string email, string phone)
        {
            // Arrange
            using var busContext = new RabbitMqContextBuilder()
                                   .WithExchange("TestExchange")
                                   .WithConnectionString("amqp://*****:*****@localhost")
                                   .CreateContext();

            using var host = new MicroserviceHostBuilder()
                             .WithBusContext(busContext)
                             .AddEventListener <PersonEventListener>()
                             .CreateHost();

            host.Start();

            var publisher = new EventPublisher(busContext);

            var personEvent = new PersonAddedEvent {
                Person = new Person
                {
                    FirstName   = firstName,
                    LastName    = lastName,
                    Email       = email,
                    PhoneNumber = phone
                }
            };

            // Act
            publisher.PublishAsync(personEvent);
            Thread.Sleep(WaitTime);

            // Assert
            Assert.AreEqual(personEvent, PersonEventListener.ResultEvent);
        }
 public void Handles(PersonAddedEvent addedEvent)
 {
     ResultEvent = addedEvent;
 }
Example #3
0
 public void Handle(PersonAddedEvent message)
 {
     CountEmployees();
 }