コード例 #1
0
        public void GivenADocumentDbQuerySagaRepository_WhenFindingSaga()
        {
            _correlationId = Guid.NewGuid();

            SagaRepository.Instance.InsertSaga(new SimpleSaga {
                CorrelationId = _correlationId
            }).GetAwaiter().GetResult();

            var repository = new DocumentDbSagaRepository <SimpleSaga>(SagaRepository.Instance.Client, SagaRepository.DatabaseName);

            ISagaQuery <SimpleSaga> query = new SagaQuery <SimpleSaga>(x => x.CorrelationId == _correlationId);

            _result = repository.Find(query).GetAwaiter().GetResult();
        }
コード例 #2
0
        public async Task Query_Passes_With_Json_Property_Attribute()
        {
            // Arrange
            var correlationId = Guid.NewGuid();

            _ids.Add(correlationId);
            SagaRepository.Instance.InsertSaga(new SimpleSagaResource {
                CorrelationId = correlationId
            }, false).GetAwaiter().GetResult();
            ISagaQuery <SimpleSagaResource> query = new SagaQuery <SimpleSagaResource>(x => x.CorrelationId == correlationId);

            // Act
            var repository = new DocumentDbSagaRepository <SimpleSagaResource>(SagaRepository.Instance.Client, SagaRepository.DatabaseName);
            var result     = repository.Find(query).GetAwaiter().GetResult();

            // Assert
            Assert.That(result.Single(), Is.EqualTo(correlationId));
        }
コード例 #3
0
        public async Task Query_Fails_With_Json_Resolver_Rename()
        {
            // Arrange
            var correlationId = Guid.NewGuid();

            _ids.Add(correlationId);
            SagaRepository.Instance.InsertSaga(new SimpleSaga {
                CorrelationId = correlationId
            }, true).GetAwaiter().GetResult();
            ISagaQuery <SimpleSaga> query = new SagaQuery <SimpleSaga>(x => x.CorrelationId == correlationId);

            // Act
            var repository = new DocumentDbSagaRepository <SimpleSaga>(SagaRepository.Instance.Client, SagaRepository.DatabaseName, JsonSerializerSettingsExtensions.GetSagaRenameSettings <SimpleSaga>());
            var result     = repository.Find(query).GetAwaiter().GetResult();

            // Assert
            Assert.That(result.Any(), Is.False);
        }
コード例 #4
0
        public async Task Query_Other_Property_Passes_With_Json_Resolver_Rename()
        {
            // Arrange
            var correlationId = Guid.NewGuid();

            _ids.Add(correlationId);
            var username = Guid.NewGuid().ToString(); // wouldn't actually be a guid, but used this for uniqueness

            SagaRepository.Instance.InsertSaga(new SimpleSaga {
                CorrelationId = correlationId, Username = username
            }, true).GetAwaiter().GetResult();
            ISagaQuery <SimpleSaga> query = new SagaQuery <SimpleSaga>(x => x.Username == username);

            // Act
            var repository = new DocumentDbSagaRepository <SimpleSaga>(SagaRepository.Instance.Client, SagaRepository.DatabaseName, JsonSerializerSettingsExtensions.GetSagaRenameSettings <SimpleSaga>());
            var result     = repository.Find(query).GetAwaiter().GetResult();

            // Assert
            Assert.That(result.Single(), Is.EqualTo(correlationId)); // So it does find it
        }