public static void ClassInitialize(TestContext testContext)
 {
     UserMedia1 = new UserMedia("test")
     {
         StorageFormat = "Test",
         Type = "Test"
     };
 }
        public void GetPartitionAsync_InsertEntitiesInTwoPartitions_CorrectAmountOfSegmentsAndCountsReturned()
        {
            var userMediaList = new List<UserMedia>();

            for (int i = 1; i <= 1050; i++)
            {
                var entity = new UserMedia("one")
                {
                    StorageFormat = "Test",
                    Type = "Test"
                };


                userMediaList.Add(entity);
            }

            Task<IList<TableResult>> insertTask = _repo.InsertBatchAsync(userMediaList);
            insertTask.Wait();

            Task<TableQuerySegment<UserMedia>> getResultTask = _repo.GetPartitionAsync(userMediaList[0].PartitionKey);
            getResultTask.Wait();

            var getResult = (TableQuerySegment<UserMedia>)getResultTask.Result;
            var segmentList = new List<TableQuerySegment<UserMedia>>();
            segmentList.Add(getResult);

            TableContinuationToken cToken = getResult.ContinuationToken;
            while (cToken != null)
            {
                var task = _repo.GetPartitionAsync(
                    userMediaList[0].PartitionKey,
                    cToken
                );

                task.Wait();

                segmentList.Add(task.Result);

                cToken = task.Result.ContinuationToken;
            }

            Assert.AreEqual(segmentList.Select(r => r.Results.Count()).Sum(), 1050, "Unexpected result count returned");
            Assert.AreEqual(getResult.First().PartitionKey, userMediaList[0].PartitionKey, "Wrong partition key returned");
        }
        public void GetPartition_InsertEntitiesInTwoPartitions_CorrectPartitionAndCountReturned()
        {
            var userMediaList = new List<UserMedia>();

            for (int i = 1; i <= 150; i++)
            {
                var entity = new UserMedia("test")
                {
                    StorageFormat = "Test",
                    Type = "Test"
                };

                if (i > 75)
                {
                    entity.PartitionKey = UserMedia.FormatPartitionKey("two");
                    entity.UserId = "two";

                }

                userMediaList.Add(entity);
            }

            Task<IList<TableResult>> insertTask = _repo.InsertBatchAsync(userMediaList);
            insertTask.Wait();

            IEnumerable<UserMedia> getResult = _repo.GetPartition(userMediaList[0].PartitionKey);

            Assert.AreEqual(getResult.Count(), 75, "Unexpected result count returned");
            Assert.AreEqual(getResult.First().PartitionKey, userMediaList[0].PartitionKey, "Wrong partition key returned");

        }
        public void GetPartitionAsync_InsertEntitiesInTwoPartitions_CorrectPartitionAndCountReturned()
        {
            var userMediaList = new List<UserMedia>();

            for (int i = 1; i <= 150; i++)
            {
                var entity = new UserMedia("one")
                {
                    StorageFormat = "Test",
                    Type = "Test"
                };

                if (i > 75)
                {
                    entity.PartitionKey = UserMedia.FormatPartitionKey("two");
                    entity.UserId = "two";
                }

                userMediaList.Add(entity);
            }

            Task<IList<TableResult>> insertTask = _repo.InsertBatchAsync(userMediaList);
            insertTask.Wait();

            Assert.AreEqual(insertTask.Result.Where(r => r.HttpStatusCode == 201 &&
                    ((UserMedia)r.Result).PartitionKey == userMediaList[0].PartitionKey).Select(r => r).Count(),
                    75,
                    "Unexpected result count returned for first group");

            Assert.AreEqual(insertTask.Result.Where(r => r.HttpStatusCode == 201 &&
                    ((UserMedia)r.Result).PartitionKey == userMediaList[149].PartitionKey).Select(r => r).Count(),
                    75,
                    "Unexpected result count returned for second group");
        }
Пример #5
0
      private static void ProcessNextPhotoUpload(string username, string origImageUrl, BlobValet blobValet)
      {
         var httpClient = new HttpClient();
         var origStream = httpClient.GetStreamAsync(origImageUrl).Result;
         var origMime = blobValet.GetSupportedMimeTypeFromFileName(origImageUrl);
         var origImage = Image.FromStream(origStream);

         // create thumb version of image
         var thumbUrl = BuildThumbnailVersionOfBlobUrl(origImageUrl);
         var thumbUri = new Uri(thumbUrl);
         var thumbMime = origMime;
#if true
         var thumbStream = MediaFormatter.PopImageThumbnailer.GetThumbnailStream(origImage, thumbMime);
#else
         var thumb = MediaFormatter.PopImageThumbnailer.GetThumbnail(origImage);
         thumb.Save(@"d:\temp\foo.png");
         var thumbStream = File.Open(@"d:\temp\foo.png", FileMode.Open);
#endif

#if true
         blobValet.UploadStream(thumbUri, thumbStream, thumbMime);
#else
         using (var thumbStream2 = new MemoryStream())
         {
            origImage.GetThumbnailImage(100, 100, () => false, IntPtr.Zero).Save(thumbStream2, ImageFormat.Jpeg);
            thumbStream2.Position = 0;
            blobValet.UploadStream(thumbUri, thumbStream2);
         }
#endif

         // now attach it to an account
         var userMediaRepo = new UserMediaRepository(CloudStorageAccount.DevelopmentStorageAccount, "usermedia");

         var userMedia = new UserMedia(username)
         {
            StorageFormat = origMime,
            Url = origImageUrl,
            ThumbUrl = thumbUrl,
            UserName = "******" // TODO: << may not want to store this long-term since we have UserId (in SQL Azuregi)
         };
         userMediaRepo.Insert(userMedia);
      }