コード例 #1
0
        public async Task UpdateAsyncTest()
        {
            // Arrange
            var factory = new CloudTableFactory();
            await factory.DeleteTableAsync(TableName);

            var crud = new TableEntityStorageCrud <TestEntity>(factory);

            crud.TableName     = TableName;
            crud.PartitionName = "Ralston";
            var testEntity = new TestEntity {
                Name = "Evelyn Ralston", PartitionKey = "Ralston", RowKey = "Evee"
            };
            var createdEntity = await crud.CreateAsync(testEntity);

            // Act
            createdEntity.Name = "Evelyn";
            var updatedEntity = await crud.UpdateAsync(createdEntity);


            // Assert
            var readEntity = await crud.ReadAsync("Evee");

            Assert.IsNotNull(updatedEntity);
            Assert.AreEqual(createdEntity.Name, readEntity.Name);
        }
コード例 #2
0
        public async Task GetTableAsyncTest()
        {
            // Arrange
            var factory = new CloudTableFactory();

            // Act
            var table = await factory.GetTableAsync(TestTableName);

            // Assert
            Assert.IsTrue(table.Exists());
        }
コード例 #3
0
        private static async Task <JObjectStorageCrud> GetCrud()
        {
            var tableFactory = new CloudTableFactory();
            await tableFactory.DeleteTableAsync(TableName);

            var innerCrud = new TableEntityStorageCrud <DynamicTableEntity>(tableFactory);
            var crud      = new JObjectStorageCrud(innerCrud);

            crud.TableName     = TableName;
            crud.PartitionName = "Ralston";
            return(crud);
        }
コード例 #4
0
        /// <summary>
        /// Deletes the table given
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override async Task RetractAsync(StorageTable model)
        {
            var tableName = ExtractTableName(model);

            Trace.TraceInformation("Removing table '{0}' if not exists", tableName);

            // Setup connection
            StorageAccount = await StorageAccounts.ReadAsync(model.StorageAccountId);

            if (StorageAccount == null)
            {
                Trace.TraceError(String.Format("Unable to find storage account {0}", model.StorageAccountId));
                return;
            }

            CloudTableFactory.StorageConnectionString = StorageAccount.ToConnectionString();

            //Remove table, if exists
            await CloudTableFactory.DeleteTableAsync(tableName);

            Trace.TraceInformation("Deleted table '{0}'", model.Name);
        }
コード例 #5
0
        public async Task ReadAllAsyncTest()
        {
            // Arrange
            var factory = new CloudTableFactory();
            await factory.DeleteTableAsync(TableName);

            var crud = new TableEntityStorageCrud <TestEntity>(factory);

            crud.TableName     = TableName;
            crud.PartitionName = "Ralston";

            await crud.CreateAsync(new TestEntity { Name = "Erik Ralston", PartitionKey = "Ralston", RowKey = "Erik" });

            await crud.CreateAsync(new TestEntity { Name = "Evee Ralston", PartitionKey = "Ralston", RowKey = "Evelyn" });

            await crud.CreateAsync(new TestEntity { Name = "Lilly Ralston", PartitionKey = "Ralston", RowKey = "Lillian" });

            // Act
            var entities = await crud.ReadAllAsync();

            // Assert
            Assert.IsTrue(entities.Count() == 3);
        }
コード例 #6
0
        public async Task DeleteAsyncTest()
        {
            // Arrange
            var factory = new CloudTableFactory();
            await factory.DeleteTableAsync(TableName);

            var crud = new TableEntityStorageCrud <TestEntity>(factory);

            crud.TableName     = "People";
            crud.PartitionName = "Ralston";
            var testEnity = new TestEntity {
                Name = "Evelyn Ralston", PartitionKey = "Ralston", RowKey = "Evee"
            };
            var createdEntity = await crud.CreateAsync(testEnity);

            // Act
            await crud.DeleteAsync("Evee");

            // Assert
            var readEntity = await crud.ReadAsync("Evee");

            Assert.IsNull(readEntity);
        }