public void CreateHTMLReport_2ValidationsWithBadImages_TheTwoUsersAreIncludedInReport()
        {
            var report = new ValidationReport(
                new ProfileValidationResult(new SlackUser {
                Id = "User1", Name = "User 1"
            }, "errors", new Uri("http://suspect1.jpg")),
                new ProfileValidationResult(new SlackUser {
                Id = "User2", Name = "User 2"
            }, "errors"),
                new ProfileValidationResult(new SlackUser {
                Id = "User3", Name = "User 3"
            }, "errors", new Uri("http://suspect3.jpg")));

            var html = report.CreateHTMLReport();

            Assert.Contains("User1", html);
            Assert.Contains("User 1", html);
            Assert.Contains("http://suspect1.jpg", html);
            Assert.DoesNotContain("User2", html);
            Assert.DoesNotContain("User 2", html);
            Assert.DoesNotContain("http://suspect2.jpg", html);
            Assert.Contains("User3", html);
            Assert.Contains("User 3", html);
            Assert.Contains("http://suspect3.jpg", html);
        }
        /// <summary>
        ///     Uploads a report to the Azure Blob Storage.
        /// </summary>
        /// <param name="report">The report to upload.</param>
        /// <returns>No object or value is returned by this method when it completes.</returns>
        public async Task UploadReport(ValidationReport report)
        {
            if (report == null)
            {
                throw new ArgumentNullException(nameof(report));
            }

            const string ReportName      = "report";
            var          reportContainer = blobClient.GetContainerReference(ReportName);

            reportContainer.CreateIfNotExists();

            var blobRef = reportContainer.GetBlockBlobReference(ReportName + ".html");
            await blobRef.UploadTextAsync(report.CreateHTMLReport());
        }