Exemplo n.º 1
0
        public async Task should_handle_the_initial_state()
        {
            var harness = new InMemoryTestHarness();

            _machine = new InvestigationStateMachine(new List <Provider>());

            StateMachineSagaTestHarness <Investigation, InvestigationStateMachine> saga = harness.StateMachineSaga <Investigation, InvestigationStateMachine>(_machine);


            await harness.Start();

            var searchRequestedEvent = SearchRequested.Create(new PeopleSearchRequest("test", "test", "test"));

            try
            {
                await harness.InputQueueSendEndpoint.Send(searchRequestedEvent);

                Assert.IsTrue(harness.Consumed.Select <SearchRequested>().Any(), "Message not received");

                Investigation instance = saga.Created.Select(x => x.CorrelationId == searchRequestedEvent.CorrelationId)
                                         .FirstOrDefault()
                                         ?.Saga;
                Assert.IsNotNull(instance, "Saga instance not found");

                Assert.AreEqual(instance.CurrentState, nameof(_machine.Started));
            }
            finally
            {
                await harness.Stop();
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Search([FromBody] PeopleSearchRequest peopleSearchRequest)
        {
            var searchRequested = SearchRequested.Create(peopleSearchRequest);

            await this._busControl.Publish(searchRequested);

            return(Accepted(PeopleSearchResponse.Create(searchRequested.CorrelationId)));
        }
        public void should_return_an_instence_of_InvestigatePerson()
        {
            var sut = SearchRequested.Create(new PeopleSearchRequest("test", "test", "test"));

            Assert.AreNotEqual(default(Guid), sut.CorrelationId);
        }