public void Find_NoSaga_ReturnsNull() { // Act var result = sut.Find <MySaga>(Guid.NewGuid()); // Assert result.Should().BeNull(); }
public void Consume_MessageConsumed_SagaPersisted() { //Arrange var correlationId = Guid.NewGuid(); sut.Consume(new MySagaInitiatingMessage(correlationId)); var message = new MySagaConsumingMessage(correlationId); // Act sut.Consume(message); // Assert var saga = repository.Find <MySaga>(correlationId); saga.SagaData.IsConsumingMessageReceived.Should().BeTrue(); }
public MetadataPipelineIntegrationTests() { initialisationTime = new DateTime(1905, 9, 13); TimeProvider.Current = new StubTimeProvider(initialisationTime); var container = new TinyIoCContainer(); container.RegisterSagas(typeof(MetadataPipelineIntegrationTests).Assembly); var serviceLocator = new TinyIocSagaFactory(container); var jsonNetSerialiser = new JsonNetSerialiser(); var sagaRepository = new InMemorySagaRepository(jsonNetSerialiser, serviceLocator); var hooks = new IPipelineHook[] { new MetadataPipelineHook(jsonNetSerialiser) }; var sagaMediator = new SagaMediator(sagaRepository, serviceLocator, hooks); correlationId = Guid.NewGuid(); var initiatingMessage = new MySagaInitiatingMessage(correlationId); sagaMediator.Consume(initiatingMessage); var saga = sagaRepository.Find <MySaga>(correlationId); sagaMetadata = saga.GetSagaMetadata(new JsonNetSerialiser()); }
public void Initiate_Saves_IntoRepository() { //Arrange var correlationId = Guid.NewGuid(); var initiatingMessage = new MySagaInitiatingMessage(correlationId); // Act sut.Consume(initiatingMessage); // Assert var data = InMemorySagaRepository.DataDictionary; data.Should().HaveCount(1); var saga = repository.Find <MySaga>(correlationId); saga.CorrelationId.Should().Be(correlationId); }
public void MultipleRepo_Instances_ShareDataStorage() { //Arrange var correlationId = Guid.NewGuid(); var expected = Guid.NewGuid(); var saga = new MySaga { CorrelationId = correlationId, SagaData = new MySagaData() { SomeGuid = expected } }; sut.Save(saga); // Act var anotherInstance = new InMemorySagaRepository(new JsonNetSerialiser(), new DumbSagaFactory()); var restoredSaga = anotherInstance.Find <MySaga>(correlationId); // Assert restoredSaga.SagaData.SomeGuid.Should().Be(expected); }