public void Create_should_throw_when_input_null() { var sp = NSubstitute.Substitute.For <IServiceProvider>(); var sut = new DefaultSagaFactory <DummySaga, DummySagaState>(sp); Assert.Throws <ArgumentNullException>(() => sut.Create(null)); }
public void Create_should_create_valid_instance() { var state = new DummySagaState(Guid.NewGuid()); var expectedSaga = new DummySaga(); var sp = NSubstitute.Substitute.For <IServiceProvider>(); sp.GetService(typeof(DummySaga)) .Returns(expectedSaga); var bus = NSubstitute.Substitute.For <IMessageBus>(); sp.GetService(typeof(IMessageBus)) .Returns(bus); var scope = NSubstitute.Substitute.For <IServiceScope>(); scope.ServiceProvider.Returns(sp); var factory = NSubstitute.Substitute.For <IServiceScopeFactory>(); factory.CreateScope().Returns(scope); sp.GetService(typeof(IServiceScopeFactory)) .Returns(factory); var sut = new DefaultSagaFactory <DummySaga, DummySagaState>(sp); var saga = sut.Create(state); saga.Should().NotBeNull(); saga.State.Should().Be(state); }
public InitiatedBySagaConnectorFactory() { _consumeFilter = new InitiatedBySagaMessageFilter<TSaga, TMessage>(); ISagaFactory<TSaga, TMessage> sagaFactory = new DefaultSagaFactory<TSaga, TMessage>(); _policy = new NewSagaPolicy<TSaga, TMessage>(sagaFactory, false); }
public InitiatedBySagaConnectorFactory() { var consumeFilter = new InitiatedBySagaMessageFilter <TSaga, TMessage>(); ISagaFactory <TSaga, TMessage> sagaFactory = new DefaultSagaFactory <TSaga, TMessage>(); var policy = new NewSagaPolicy <TSaga, TMessage>(sagaFactory, false); _connector = new CorrelatedSagaMessageConnector <TSaga, TMessage>(consumeFilter, policy, x => x.Message.CorrelationId); }