Пример #1
0
        public void can_save_saga_instance_via_custom_persister()
        {
            var persisterType = _container.Resolve<IReflection>()
                                .GetGenericVersionOf(typeof(ISagaPersister<>), typeof(SampleInMemorySaga));

            var persister = _container.Resolve(persisterType) as ISagaPersister<SampleInMemorySaga>;

            Assert.NotNull(persister);

            var saga = new SampleInMemorySaga() {SagaId = _saga_id};
            persister.Save(saga);

            var fromPersister = persister.Find(_saga_id);
            Assert.Equal(saga, fromPersister);
        }
Пример #2
0
        public void can_remove_saga_from_persistance_store_when_saga_is_marked_as_completed()
        {
            var persisterType = _container.Resolve<IReflection>()
                                           .GetGenericVersionOf(typeof(ISagaPersister<>), typeof(SampleInMemorySaga));

            var persister = _container.Resolve(persisterType) as ISagaPersister<SampleInMemorySaga>;

            Assert.NotNull(persister);

            var saga = new SampleInMemorySaga() { SagaId = _saga_id };
            persister.Save(saga);

            var fromPersister = persister.Find(_saga_id);
            Assert.Equal(saga.SagaId, fromPersister.SagaId);

            persister.Complete(fromPersister.SagaId);
            Assert.Null(persister.Find(_saga_id));
        }