public void WithPagination_ThrowsError_WhenPageSizeIsNegativeOrZeroWithToken(int pageSize)
        {
            // Arrange
            var mockDocumentClient = MockHelpers.GetMockDocumentClient();
            var entityStore        = new CosmosStore <Dummy>(new CosmonautClient(() => mockDocumentClient.Object), "databaseName");

            // Act
            Action action = () => entityStore.Query().WithPagination(string.Empty, pageSize);

            // Assert
            action.Should().Throw <ArgumentOutOfRangeException>().WithMessage($"Page size must be a positive number.\r\nParameter name: {nameof(pageSize)}");
        }
示例#2
0
        private static CosmonautClient SetupCosmonautClient()
        {
            var documentClient = MockHelpers.GetMockDocumentClient();
            var cosmonautClient = new CosmonautClient(documentClient.Object);
            var databaseResource = new Database {
                Id = "databaseName"
            }.ToResourceResponse(HttpStatusCode.OK);

            documentClient.Setup(x =>
                                 x.ReadDatabaseAsync(UriFactory.CreateDatabaseUri("databaseName"), It.IsAny <RequestOptions>()))
            .ReturnsAsync(databaseResource);
            return(cosmonautClient);
        }
示例#3
0
        public void AddCosmosStoreRegistersStore()
        {
            // Arrange
            var serviceCollection = new ServiceCollection();
            var documentClient = MockHelpers.GetMockDocumentClient();
            var databaseResource = new Database {
                Id = "databaseName"
            }.ToResourceResponse(HttpStatusCode.OK);

            documentClient.Setup(x => x.ReadDatabaseAsync(UriFactory.CreateDatabaseUri("databaseName"), It.IsAny <RequestOptions>()))
            .ReturnsAsync(databaseResource);

            // Act
            serviceCollection.AddCosmosStore <Dummy>(new CosmonautClient(documentClient.Object), "databaseName");
            var provider = serviceCollection.BuildServiceProvider();

            // Assert
            var cosmosStore = provider.GetService <ICosmosStore <Dummy> >();

            Assert.NotNull(cosmosStore);
        }
示例#4
0
        public async Task FindAsync_ReturnsEntity_WhenFoundInCosmosDB()
        {
            // Arrange
            Mock <IDocumentClient> mockDocumentClient = MockHelpers.GetMockDocumentClient();
            var id    = Guid.NewGuid().ToString();
            var dummy = new Dummy
            {
                Id   = id,
                Name = "Nick"
            };
            var document         = dummy.ConvertObjectToDocument();
            var resourceResponse = document.ToResourceResponse(HttpStatusCode.OK);

            mockDocumentClient.Setup(x => x.ReadDocumentAsync(UriFactory.CreateDocumentUri("databaseName", "dummies", id), It.IsAny <RequestOptions>()))
            .ReturnsAsync(resourceResponse);

            var entityStore = new CosmosStore <Dummy>(new CosmonautClient(() => mockDocumentClient.Object), "databaseName");

            // Act
            var result = await entityStore.FindAsync(id);

            //Assert
            result.Should().BeEquivalentTo(dummy);
        }
 public CosmosQueryTests()
 {
     _mockDocumentClient = MockHelpers.GetMockDocumentClient();
 }
示例#6
0
 public CosmosUpdateTests()
 {
     _mockDocumentClient = MockHelpers.GetMockDocumentClient();
 }
示例#7
0
 public CollectionCreatorTests()
 {
     _mockDocumentClient = MockHelpers.GetMockDocumentClient();
 }