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 MetadataPipelineHookConsumingTests() { initialisationTime = new DateTime(1905, 9, 13); TimeProvider.Current = new StubTimeProvider(initialisationTime); sut = new MetadataPipelineHook(new JsonNetSerialiser()); correlationId = Guid.NewGuid(); var initiatingMessage = new MySagaInitiatingMessage(correlationId) { SomeRandomValue = Guid.NewGuid(), }; saga = new MySaga(); var context = new PipelineContext(initiatingMessage, saga); sut.AfterInitialisation(context); // change time so we can compare dates consumingTime = new DateTime(1955, 7, 13); TimeProvider.Current = new StubTimeProvider(consumingTime); // and throw in another message consumingMessage = new MySagaConsumingMessage(correlationId) { SomeRandomValue = Guid.NewGuid().ToString() }; sut.AfterConsuming(new PipelineContext(consumingMessage, saga)); sagaMetadata = saga.GetSagaMetadata(new JsonNetSerialiser()); }
public void Initiation_PipelineHooks_ExecutedInOrder() { //Arrange var initiatingMessage = new MySagaInitiatingMessage(Guid.NewGuid()); // Act sut.Consume(initiatingMessage); // Assert Received.InOrder(() => { pipelineHook.BeforeInitialisation(Arg.Any <PipelineContext>()); pipelineHook.AfterInitialisation(Arg.Any <PipelineContext>()); pipelineHook.AfterSave(Arg.Any <PipelineContext>()); }); }
public MetadataPipelineHookInitialisationTests() { currentTime = new DateTime(1905, 9, 13); TimeProvider.Current = new StubTimeProvider(currentTime); sut = new MetadataPipelineHook(new JsonNetSerialiser()); correlationId = Guid.NewGuid(); message = new MySagaInitiatingMessage(correlationId) { SomeRandomValue = Guid.NewGuid(), }; saga = new MySaga(); var context = new PipelineContext(message, saga); sut.AfterInitialisation(context); sagaMetadata = saga.GetSagaMetadata(new JsonNetSerialiser()); }