예제 #1
0
        public async Task TableClientService_NotConnectedMergeDoNothing()
        {
            var service = new TableClientService(null);

            await service.MergeAsync(new[] { new Test() });

            Assert.IsFalse(service.IsConnected);
        }
예제 #2
0
        public async Task TableClientService_ShouldReturnEmptyQueryWhenNotConnected()
        {
            var service = new TableClientService(null);

            var result = await service.QueryAsync <Test>(1000);

            Assert.AreEqual(result.Count(), 0);
        }
예제 #3
0
        public void TableClientService_ShouldDisposeClient()
        {
            var client  = Substitute.For <IAzureStorageContext>();
            var service = new TableClientService(client);

            service.Dispose();

            client.Received().Dispose();
        }
예제 #4
0
        public void TableClientService_ShouldAddSchema()
        {
            var client  = Substitute.For <IAzureStorageContext>();
            var service = new TableClientService(client);
            var data    = typeof(Test);

            service.AddAttributeMapper(new[] { data });

            client.Received().AddAttributeMapper(data);
        }
예제 #5
0
        public async Task TableClientService_ShouldQuery()
        {
            var client  = Substitute.For <IAzureStorageContext>();
            var service = new TableClientService(client);
            var data    = new Test();

            client.QueryAsync <Test>(1000).Returns(new[] { data }.AsQueryable());

            var result = await service.QueryAsync <Test>(1000);

            Assert.AreEqual(result.First(), data);
        }
예제 #6
0
        public async Task TableClientService_ShouldQueryByExpression()
        {
            var client  = Substitute.For <IAzureStorageContext>();
            var service = new TableClientService(client);
            var data    = new Test();

            client.QueryAsync <Test>(null, Arg.Any <IEnumerable <QueryFilter> >(), 1000).Returns(new[] { data }.AsQueryable());

            var result = await service.QueryAsync <Test>("Prop1 eq 2", 1000);

            Assert.AreEqual(result.First(), data);
        }
예제 #7
0
        public async Task TableClientService_ShouldMergeOrInsertRecord()
        {
            var client  = Substitute.For <IAzureStorageContext>();
            var service = new TableClientService(client);
            var data    = new Test();

            await service.MergeOrInsertAsync <Test>(data);

            Assert.IsTrue(service.IsConnected);
            await client.Received().CreateTableAsync <Test>(true);

            await client.Received().MergeOrInsertAsync <Test>(data);
        }
예제 #8
0
        public async Task TableClientService_ShouldMergeRecords()
        {
            var client  = Substitute.For <IAzureStorageContext>();
            var service = new TableClientService(client);
            var data    = new[] { new Test() };

            await service.MergeAsync <Test>(data);

            Assert.IsTrue(service.IsConnected);
            client.Received().AddAttributeMapper(typeof(Test));
            await client.Received().CreateTableAsync(typeof(Test), true);

            await client.Received().MergeAsync <Test>(data);
        }