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);
        }
Ejemplo n.º 5
0
        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);
        }