public async Task Should_work()
        {
            var runSettings = new RunSettings();

            runSettings.DoNotRegisterDefaultPartitionKeyProvider();
            runSettings.DoNotRegisterDefaultContainerInformationProvider();

            var context = await Scenario.Define <Context>()
                          .WithEndpoint <EndpointWithFluentExtractor>(b => b.When((session, ctx) =>
            {
                var sendOptions = new SendOptions();
                sendOptions.RouteToThisEndpoint();
                sendOptions.SetHeader("PartitionKeyHeader", ctx.TestRunId.ToString());
                sendOptions.SetHeader("ContainerNameHeader", ctx.ContainerName);

                return(session.Send(new StartSaga1 {
                    DataId = Guid.NewGuid()
                }, sendOptions));
            }))
                          .Done(c => c.SagaReceivedMessage)
                          .Run(runSettings);

            Assert.True(context.PartitionHeaderStateMatched);
            Assert.True(context.ContainerHeaderStateMatched);
        }
        public async Task Should_persist_into_the_provided_container()
        {
            var runSettings = new RunSettings();

            runSettings.DoNotRegisterDefaultContainerInformationProvider();

            var context = await Scenario.Define <Context>()
                          .WithEndpoint <EndpointWithFluentExtractor>(b => b.When((session, ctx) =>
            {
                ctx.NonDefaultContainerName = nonDefaultContainerName;
                return(session.SendLocal(new StartOrder {
                    OrderId = Guid.NewGuid()
                }));
            }))
                          .Done(c => c.OrderCompleted)
                          .Run(runSettings);

            var orderProcessSagaData = await SetupFixture.Container.ReadItemAsync <dynamic>(context.OrderProcessId,
                                                                                            new PartitionKey(context.OrderProcessId));

            var shippingProcessSagaData = await nonDefaultContainer.ReadItemAsync <dynamic>(context.ShippingProcessId,
                                                                                            new PartitionKey(context.ShippingProcessId));

            Assert.AreEqual(HttpStatusCode.OK, orderProcessSagaData.StatusCode);
            Assert.AreEqual(HttpStatusCode.OK, shippingProcessSagaData.StatusCode);
        }
        public async Task Should_work()
        {
            var runSettings = new RunSettings();

            runSettings.DoNotRegisterDefaultContainerInformationProvider();

            var context = await Scenario.Define <Context>()
                          .WithEndpoint <EndpointWithRegularHandler>(b => b.When(session => session.SendLocal(new MyMessage())))
                          .Done(c => c.MessageReceived)
                          .Run(runSettings);

            Assert.True(context.MessageReceived);
        }
        public async Task Should_be_used()
        {
            var runSettings = new RunSettings();

            runSettings.DoNotRegisterDefaultContainerInformationProvider();

            var context = await Scenario.Define <Context>()
                          .WithEndpoint <EndpointWithCustomExtractor>(b => b.When(session => session.SendLocal(new StartSaga1
            {
                DataId = Guid.NewGuid()
            })))
                          .Done(c => c.SagaReceivedMessage)
                          .Run(runSettings);

            Assert.True(context.ExtractorWasCalled);
        }
Example #5
0
        public async Task Should_work()
        {
            var runSettings = new RunSettings();

            runSettings.DoNotRegisterDefaultPartitionKeyProvider();
            runSettings.DoNotRegisterDefaultContainerInformationProvider();

            var context = await Scenario.Define <Context>()
                          .WithEndpoint <EndpointWithFluentExtractor>(b => b.When((session, ctx) =>
                                                                                  session.SendLocal(new StartSaga1 {
                DataId = Guid.NewGuid(), PartitionKey = ctx.TestRunId
            })))
                          .Done(c => c.SagaReceivedMessage)
                          .Run(runSettings);

            Assert.True(context.PartitionStateMatched);
            Assert.True(context.ContainerStateMatched);
        }