Esempio n. 1
0
        public async Task GetWalksToDisplayAsync_ReturnsListOfBlobs()
        {
            // Arrange
            var sampleEntity = new WalkToSave(submittedBy, walkName)
            {
                Description = description,
                Location    = "nowhere",
                Url         = storageUrl
            };

            _tableStorage.Setup(m => m.GetAllEntities()).ReturnsAsync(new List <WalkToSave> {
                sampleEntity
            });

            // Act
            var result = await _target.GetWalksToDisplayAsync();

            // Assert
            var element = result.First();

            Assert.AreEqual(storageUrl, element.StorageUrl.ToString());
            Assert.AreEqual(submittedBy, element.SubmittedBy);
            Assert.AreEqual(walkName, element.WalkName);
            Assert.AreEqual(description, element.Description);
        }
Esempio n. 2
0
 private WalkToDisplay MapWalkToSaveToWalkToDisplay(WalkToSave walk)
 {
     return(new WalkToDisplay
     {
         Description = walk.Description,
         SubmittedBy = walk.SubmitterName,
         WalkName = walk.WalkName,
         StorageUrl = new Uri(walk.Url)
     });
 }
Esempio n. 3
0
        public async Task SaveBench(WalkToSave entityToSave)
        {
            CloudStorageAccount account     = CloudStorageAccount.Parse(_storageConfig.TableConnectionString);
            CloudTableClient    tableClient = account.CreateCloudTableClient();
            CloudTable          table       = tableClient.GetTableReference(_storageConfig.MetadataTableName);
            await table.CreateIfNotExistsAsync();

            var result = await InsertEntity(table, entityToSave);

            if (result.HttpStatusCode != (int)HttpStatusCode.NoContent)
            {
                throw new ApplicationException("Failed to insert entity in database.");
            }
        }
Esempio n. 4
0
        private async Task <TableResult> InsertEntity(CloudTable table, WalkToSave entityToSave)
        {
            // Create an entity and set properties
            var lens = new WalkToSave(entityToSave.SubmitterName, entityToSave.WalkName)
            {
                Description   = entityToSave.Description,
                Location      = entityToSave.Location,
                SubmitterName = entityToSave.SubmitterName,
                WalkName      = entityToSave.WalkName,
                Url           = entityToSave.Url
            };
            // Add the entity
            TableOperation insertOrMerge = TableOperation.InsertOrMerge(lens);

            return(await table.ExecuteAsync(insertOrMerge));
        }