Exemple #1
0
        public void A_correlated_message_should_find_the_correct_saga()
        {
            try
            {
                using (IUnitOfWork work = UnitOfWork.Start())
                    using (var repository = new NHibernateSagaRepository <TestSaga>())
                    {
                        var ping = new PingMessage(_sagaId);

                        var initiatePolicy = new InitiatingSagaPolicy <TestSaga, PingMessage>(x => false);

                        var message = new PingMessage(_sagaId);
                        repository.Send(x => x.CorrelationId == message.CorrelationId, initiatePolicy, message, saga => saga.Name = "Joe");


                        List <TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList();

                        Assert.AreEqual(1, sagas.Count);
                        Assert.IsNotNull(sagas[0]);
                        Assert.AreEqual(_sagaId, sagas[0].CorrelationId);
                    }
            }
            finally
            {
                UnitOfWork.Finish();
            }
        }
        public void A_correlated_message_should_find_the_correct_saga()
        {
            var repository = new NHibernateSagaRepository <TestSaga>(_sessionFactory);
            var ping       = new PingMessage(_sagaId);

            var initiatePolicy = new InitiatingSagaPolicy <TestSaga, InitiateSimpleSaga>(x => x.CorrelationId, x => false);

            var message = new InitiateSimpleSaga(_sagaId);
            var context = message.ToConsumeContext();

            repository.GetSaga(context, message.CorrelationId, GetHandlers, initiatePolicy)
            .Each(x => x(context));

            List <TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList();

            Assert.AreEqual(1, sagas.Count);
            Assert.IsNotNull(sagas[0]);
            Assert.AreEqual(_sagaId, sagas[0].CorrelationId);
        }
        public void A_correlated_message_should_find_the_correct_saga()
        {
            var repository = new NHibernateSagaRepository<TestSaga>(_sessionFactory);
            var ping = new PingMessage(_sagaId);

            var initiatePolicy = new InitiatingSagaPolicy<TestSaga, InitiateSimpleSaga>(x => x.CorrelationId, x => false);

            var message = new InitiateSimpleSaga(_sagaId);
            IConsumeContext<InitiateSimpleSaga> context = message.ToConsumeContext();

            repository.GetSaga(context, message.CorrelationId, GetHandlers, initiatePolicy)
                .Each(x => x(context));

            List<TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList();

            Assert.AreEqual(1, sagas.Count);
            Assert.IsNotNull(sagas[0]);
            Assert.AreEqual(_sagaId, sagas[0].CorrelationId);
        }
		public void A_correlated_message_should_find_the_correct_saga()
		{
			try
			{
				using (IUnitOfWork work = UnitOfWork.Start())
					using (var repository = new NHibernateSagaRepository<TestSaga>())
					{
						var ping = new PingMessage(_sagaId);

						var initiatePolicy = new InitiatingSagaPolicy<TestSaga, PingMessage>(x => false);

						var message = new PingMessage(_sagaId);
						repository.Send(x => x.CorrelationId == message.CorrelationId, initiatePolicy, message, saga => saga.Name = "Joe");


						List<TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList();

						Assert.AreEqual(1, sagas.Count);
						Assert.IsNotNull(sagas[0]);
						Assert.AreEqual(_sagaId, sagas[0].CorrelationId);
				}
			}
			finally
			{
				UnitOfWork.Finish();
			}
		}