コード例 #1
0
        public void Save_Updates_ExistingSagaData()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var expectedGuid  = Guid.NewGuid();
            var saga          = new MySaga
            {
                CorrelationId = correlationId,
                SagaData      = { SomeGuid = Guid.NewGuid(), },
            };

            database.Insert(new SagaData()
            {
                CorrelationId = correlationId, BlobData = JsonConvert.SerializeObject(saga.SagaData)
            });

            saga.SagaData.SomeGuid = expectedGuid;

            // Act
            sut.Save(saga);

            // Assert
            var updatedData = DatabaseHelpers.GetSagaData(database, correlationId);

            updatedData.Should().NotBeNull();
            updatedData.BlobData.Should().ContainEquivalentOf(expectedGuid.ToString());
        }
コード例 #2
0
        public void UseSqlServerWithProviderName_Database_IsUsed()
        {
            //Arrange
            var mediator = Wireup.UseInternalContainer()
                           .UseSqlServer()
                           .WithConnectionString(@"Server=(localdb)\v12.0;Database=NSaga-Testing")
                           .ResolveMediator();
            var correlationId = Guid.NewGuid();

            // Act
            var result = mediator.Consume(new MySagaInitiatingMessage(correlationId));

            // Assert
            result.IsSuccessful.Should().BeTrue();
            var sagaData = DatabaseHelpers.GetSagaData(database, correlationId);

            sagaData.Should().NotBeNull();
        }
コード例 #3
0
        public void UseSqlServer_Database_IsUsed()
        {
            //Arrange
            var mediator = Wireup.UseInternalContainer(Assembly.GetExecutingAssembly())
                           .UseSqlServer()
                           .WithConnectionStringName("TestingConnectionString")
                           .ResolveMediator();
            var correlationId = Guid.NewGuid();

            // Act
            var result = mediator.Consume(new MySagaInitiatingMessage(correlationId));

            // Assert
            result.IsSuccessful.Should().BeTrue();
            var sagaData = DatabaseHelpers.GetSagaData(database, correlationId);

            sagaData.Should().NotBeNull();
        }
コード例 #4
0
        public void Save_Persists_SagaData()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var saga          = new MySaga {
                CorrelationId = correlationId
            };
            var expectedGuid = Guid.NewGuid();

            saga.SagaData.SomeGuid = expectedGuid;

            // Act
            sut.Save(saga);

            // Assert
            var restoredSaga = DatabaseHelpers.GetSagaData(database, correlationId);

            restoredSaga.Should().NotBeNull();
            restoredSaga.CorrelationId.Should().Be(correlationId);
            restoredSaga.BlobData.Should().ContainEquivalentOf(expectedGuid.ToString());
        }
コード例 #5
0
        public void Complete_Removes_Data()
        {
            //Arrange
            var correlationId = Guid.NewGuid();
            var saga          = new MySaga
            {
                CorrelationId = correlationId,
            };

            database.Insert(new SagaData()
            {
                CorrelationId = correlationId, BlobData = JsonConvert.SerializeObject(saga.SagaData)
            });

            // Act
            sut.Complete(saga);

            // Assert
            var updatedData = DatabaseHelpers.GetSagaData(database, correlationId);

            updatedData.Should().BeNull();
        }