public void It_should_persist_successfully() { var saga1 = new SagaWithUniqueProperty { Id = Guid.NewGuid(), UniqueString = "whatever" }; var saga2 = new SagaWithUniqueProperty { Id = Guid.NewGuid(), UniqueString = "whatever" }; var inMemorySagaPersister = new InMemorySagaPersister() as ISagaPersister; inMemorySagaPersister.Save(saga1); inMemorySagaPersister.Complete(saga1); inMemorySagaPersister.Save(saga2); inMemorySagaPersister.Complete(saga2); inMemorySagaPersister.Save(saga1); inMemorySagaPersister.Complete(saga1); }
public async Task It_should_successfully_remove_the_saga() { var id = Guid.NewGuid(); var sagaData = new SagaWithoutUniquePropertyData { Id = id, NonUniqueString = "whatever" }; var persister = new InMemorySagaPersister(); var savingSession = new InMemorySynchronizedStorageSession(); await persister.Save(sagaData, null, savingSession, new ContextBag()); await savingSession.CompleteAsync(); // second session var completingSession = new InMemorySynchronizedStorageSession(); var completingContextBag = new ContextBag(); var saga = await persister.Get<SagaWithoutUniquePropertyData>(id, completingSession, completingContextBag); await persister.Complete(saga, completingSession, completingContextBag); await completingSession.CompleteAsync(); var result = await persister.Get<SagaWithoutUniquePropertyData>(sagaData.Id, savingSession, new ContextBag()); Assert.That(result, Is.Null); }
public async Task Should_delete_the_saga() { var saga = new SagaWithUniquePropertyData { Id = Guid.NewGuid(), UniqueString = "whatever" }; var persister = new InMemorySagaPersister(); var insertSession = new InMemorySynchronizedStorageSession(); await persister.Save(saga, SagaMetadataHelper.GetMetadata <SagaWithUniqueProperty>(saga), insertSession, new ContextBag()); await insertSession.CompleteAsync(); var intentionallySharedContext = new ContextBag(); var sagaData = await persister.Get <SagaWithUniquePropertyData>(saga.Id, new InMemorySynchronizedStorageSession(), intentionallySharedContext); var completeSession = new InMemorySynchronizedStorageSession(); await persister.Complete(saga, completeSession, intentionallySharedContext); await completeSession.CompleteAsync(); var completedSagaData = await persister.Get <SagaWithUniquePropertyData>(saga.Id, new InMemorySynchronizedStorageSession(), new ContextBag()); Assert.NotNull(sagaData); Assert.Null(completedSagaData); }
public async Task It_should_successfully_remove_the_saga() { var id = Guid.NewGuid(); var sagaData = new SagaWithoutUniquePropertyData { Id = id, NonUniqueString = "whatever" }; var persister = new InMemorySagaPersister(); var savingSession = new InMemorySynchronizedStorageSession(); await persister.Save(sagaData, null, savingSession, new ContextBag()); await savingSession.CompleteAsync(); // second session var completingSession = new InMemorySynchronizedStorageSession(); var completingContextBag = new ContextBag(); var saga = await persister.Get <SagaWithoutUniquePropertyData>(id, completingSession, completingContextBag); await persister.Complete(saga, completingSession, completingContextBag); await completingSession.CompleteAsync(); var result = await persister.Get <SagaWithoutUniquePropertyData>(sagaData.Id, savingSession, new ContextBag()); Assert.That(result, Is.Null); }
public void It_should_persist_successfully() { var saga1 = new SagaWithUniqueProperty { Id = Guid.NewGuid(), UniqueString = "whatever" }; var saga2 = new SagaWithUniqueProperty { Id = Guid.NewGuid(), UniqueString = "whatever" }; var inMemorySagaPersister = new InMemorySagaPersister(); inMemorySagaPersister.Save(saga1); inMemorySagaPersister.Complete(saga1); inMemorySagaPersister.Save(saga2); inMemorySagaPersister.Complete(saga2); inMemorySagaPersister.Save(saga1); inMemorySagaPersister.Complete(saga1); }
public void Should_delete_the_saga() { var inMemorySagaPersister = new InMemorySagaPersister(); var saga = new SagaWithUniqueProperty { Id = Guid.NewGuid(), UniqueString = "whatever" }; inMemorySagaPersister.Save(saga); Assert.NotNull(inMemorySagaPersister.Get<SagaWithUniqueProperty>(saga.Id)); inMemorySagaPersister.Complete(saga); Assert.Null(inMemorySagaPersister.Get<SagaWithUniqueProperty>(saga.Id)); }
public void Should_delete_the_saga() { var inMemorySagaPersister = new InMemorySagaPersister() as ISagaPersister; var saga = new TestSaga { Id = Guid.NewGuid() }; inMemorySagaPersister.Save(saga); Assert.NotNull(inMemorySagaPersister.Get<TestSaga>(saga.Id)); inMemorySagaPersister.Complete(saga); Assert.Null(inMemorySagaPersister.Get<TestSaga>(saga.Id)); }
public async Task It_should_persist_successfully() { var saga1 = new SagaWithUniquePropertyData { Id = Guid.NewGuid(), UniqueString = "whatever" }; var saga2 = new SagaWithUniquePropertyData { Id = Guid.NewGuid(), UniqueString = "whatever" }; var persister = new InMemorySagaPersister(); using (var session1 = new InMemorySynchronizedStorageSession()) { await persister.Save(saga1, SagaMetadataHelper.GetMetadata <SagaWithUniqueProperty>(saga1), session1, new ContextBag()); await persister.Complete(saga1, session1, new ContextBag()); await session1.CompleteAsync(); } using (var session2 = new InMemorySynchronizedStorageSession()) { await persister.Save(saga2, SagaMetadataHelper.GetMetadata <SagaWithUniqueProperty>(saga2), session2, new ContextBag()); await persister.Complete(saga2, session2, new ContextBag()); await session2.CompleteAsync(); } using (var session3 = new InMemorySynchronizedStorageSession()) { await persister.Save(saga1, SagaMetadataHelper.GetMetadata <SagaWithUniqueProperty>(saga1), session3, new ContextBag()); await persister.Complete(saga1, session3, new ContextBag()); await session3.CompleteAsync(); } }
public void Should_delete_the_saga() { var inMemorySagaPersister = new InMemorySagaPersister(); var saga = new SagaWithUniqueProperty { Id = Guid.NewGuid(), UniqueString = "whatever" }; inMemorySagaPersister.Save(saga); Assert.NotNull(inMemorySagaPersister.Get <SagaWithUniqueProperty>(saga.Id)); inMemorySagaPersister.Complete(saga); Assert.Null(inMemorySagaPersister.Get <SagaWithUniqueProperty>(saga.Id)); }
public void Should_delete_the_saga() { var inMemorySagaPersister = new InMemorySagaPersister() as ISagaPersister; var saga = new TestSaga { Id = Guid.NewGuid() }; inMemorySagaPersister.Save(saga); Assert.NotNull(inMemorySagaPersister.Get <TestSaga>(saga.Id)); inMemorySagaPersister.Complete(saga); Assert.Null(inMemorySagaPersister.Get <TestSaga>(saga.Id)); }
async Task CompleteSaga(Guid sagaId) { using (var session = new InMemorySynchronizedStorageSession()) { var ctx = new ContextBag(); var saga = await persister.Get <SagaWithUniquePropertyData>(sagaId, session, ctx); await persister.Complete(saga, session, ctx); await session.CompleteAsync(); } }
public async Task Should_delete_the_saga() { var saga = new SagaWithUniquePropertyData { Id = Guid.NewGuid(), UniqueString = "whatever" }; var persister = new InMemorySagaPersister(); var insertSession = new InMemorySynchronizedStorageSession(); await persister.Save(saga,SagaMetadataHelper.GetMetadata<SagaWithUniqueProperty>(saga), insertSession, new ContextBag()); await insertSession.CompleteAsync(); var intentionallySharedContext = new ContextBag(); var sagaData = await persister.Get<SagaWithUniquePropertyData>(saga.Id, new InMemorySynchronizedStorageSession(), intentionallySharedContext ); var completeSession = new InMemorySynchronizedStorageSession(); await persister.Complete(saga, completeSession, intentionallySharedContext ); await completeSession.CompleteAsync(); var completedSagaData = await persister.Get<SagaWithUniquePropertyData>(saga.Id, new InMemorySynchronizedStorageSession(), new ContextBag()); Assert.NotNull(sagaData); Assert.Null(completedSagaData); }
public async Task Should_delete_the_saga() { var saga = new TestSagaData { Id = Guid.NewGuid() }; var persister = new InMemorySagaPersister(); var insertSession = new InMemorySynchronizedStorageSession(); await persister.Save(saga, SagaMetadataHelper.GetMetadata <TestSaga>(saga), insertSession, new ContextBag()); await insertSession.CompleteAsync(); var sagaData = await persister.Get <TestSagaData>(saga.Id, new InMemorySynchronizedStorageSession(), new ContextBag()); var deleteSession = new InMemorySynchronizedStorageSession(); await persister.Complete(saga, deleteSession, new ContextBag()); await deleteSession.CompleteAsync(); var completedSaga = await persister.Get <TestSagaData>(saga.Id, new InMemorySynchronizedStorageSession(), new ContextBag()); Assert.NotNull(sagaData); Assert.Null(completedSaga); }