public async Task DeleteShouldRemoveTheBlob() { var objId = Guid.NewGuid().ToString(); var azureBlobContainer = new AzureBlobContainer <string>( account, AzureBlobTestContainer); await azureBlobContainer.SaveAsync(objId, "testText"); Assert.IsNotNull(await azureBlobContainer.GetAsync(objId)); await azureBlobContainer.DeleteAsync(objId); Assert.IsNull(await azureBlobContainer.GetAsync(objId)); }
public async Task GetReturnsNullWhenItDoesNotExist() { var storage = new AzureBlobContainer <object>(account, SurveyContainer); var nonExistingObject = "id-for-non-existing-object"; object actualObject = await storage.GetAsync(nonExistingObject); Assert.IsNull(actualObject); }
public async Task CreateNewBlob() { var azureBlobContainer = new AzureBlobContainer <string>( account, AzureBlobTestContainer); var objId = Guid.NewGuid().ToString(); var text = await azureBlobContainer.GetAsync(objId); Assert.IsNull(text); await azureBlobContainer.SaveAsync(objId, "testText"); text = await azureBlobContainer.GetAsync(objId); Assert.IsNotNull(text); }
public async Task SaveAndDelete() { var surveyStorage = new AzureBlobContainer <Survey>(account, SurveyContainer); var expectedSurvey = new Survey { Title = "title", SlugName = "slugname" }; await surveyStorage.SaveAsync(expectedSurvey.SlugName, expectedSurvey); Survey savedSurvey = await surveyStorage.GetAsync(expectedSurvey.SlugName); Assert.IsNotNull(savedSurvey); await surveyStorage.DeleteAsync(expectedSurvey.SlugName); Survey deletedSurveyAnswer = await surveyStorage.GetAsync(expectedSurvey.SlugName); Assert.IsNull(deletedSurveyAnswer); }
private async Task SaveAsync(AzureBlobContainer <List <string> > answerListContainer, string slugName, string surveyAnswerId) { // NOTE: appending ID's into a blob doesn't scale well under heavy load. Other solution is left // for the reader to implement. var answerIdList = await answerListContainer.GetAsync(slugName) .ConfigureAwait(false) ?? new List <string>(); answerIdList.Add(surveyAnswerId); await answerListContainer.SaveAsync(slugName, answerIdList) .ConfigureAwait(false); }
public async Task SaveAndGet() { var surveyStorage = new AzureBlobContainer <Survey>(account, SurveyContainer); var expectedSurvey = new Survey { Title = "title", SlugName = "slugname" }; var question1 = new Question { Text = "text 1", Type = "SimpleText", PossibleAnswers = string.Empty }; var question2 = new Question { Text = "text 2", Type = "MultipleChoice", PossibleAnswers = "answer 1\nanswer2" }; var question3 = new Question { Text = "text 3", Type = "FiveStars", PossibleAnswers = string.Empty }; (expectedSurvey.Questions as List <Question>).AddRange(new[] { question1, question2, question3 }); await surveyStorage.SaveAsync(expectedSurvey.SlugName, expectedSurvey); var actualSurvey = await surveyStorage.GetAsync(expectedSurvey.SlugName); Assert.AreEqual(expectedSurvey.Title, actualSurvey.Title); Assert.AreEqual(expectedSurvey.SlugName, actualSurvey.SlugName); Assert.AreEqual(3, actualSurvey.Questions.Count); var actualQuestionAnswer1 = actualSurvey.Questions.SingleOrDefault(q => q.Text == "text 1" && q.Type == "SimpleText" && q.PossibleAnswers == string.Empty); Assert.IsNotNull(actualQuestionAnswer1); var actualQuestionAnswer2 = actualSurvey.Questions.SingleOrDefault(q => q.Text == "text 2" && q.Type == "MultipleChoice" && q.PossibleAnswers == "answer 1\nanswer2"); Assert.IsNotNull(actualQuestionAnswer2); var actualQuestionAnswer3 = actualSurvey.Questions.SingleOrDefault(q => q.Text == "text 3" && q.Type == "FiveStars" && q.PossibleAnswers == string.Empty); Assert.IsNotNull(actualQuestionAnswer3); }