public async void ShouldFailToUploadSampleBinaryDataAsImage()
        {
            var    imageBytes = TestData.TestImageBytes;
            Stream s          = new MemoryStream(imageBytes);

            s.Position = 1;

            const string title   = "Test Title";
            const string desc    = "Test Description\nSecond Line";
            const string tags    = "testtag1,testtag2";
            var          photoId = await AuthInstance.UploadPictureAsync(s, "Test.fig", title, desc, tags, false, false, false, ContentType.Other, SafetyLevel.Safe, HiddenFromSearch.Visible);

            Exception ex = null;

            try
            {
                PhotoInfo info = await AuthInstance.PhotosGetInfoAsync(photoId);

                Assert.AreEqual(title, info.Title);
                Assert.AreEqual(desc, info.Description);
                Assert.AreEqual(2, info.Tags.Count);
                Assert.AreEqual("testtag1", info.Tags[0].Raw);
                Assert.AreEqual("testtag2", info.Tags[1].Raw);

                Assert.IsFalse(info.IsPublic);
                Assert.IsFalse(info.IsFamily);
                Assert.IsFalse(info.IsFriend);

                var sizes = await AuthInstance.PhotosGetSizesAsync(photoId);

                var url = sizes[sizes.Count - 1].Source;
                using (var client = new WebClient())
                {
                    var downloadBytes  = client.DownloadData(url);
                    var downloadBase64 = Convert.ToBase64String(downloadBytes);

                    Assert.AreEqual(TestData.TestImageBase64, downloadBase64);
                }
            }
            catch (Exception exception)
            {
                ex = exception;
            }

            await AuthInstance.PhotosDeleteAsync(photoId);

            if (ex != null)
            {
                throw ex;
            }
        }
Beispiel #2
0
        public void ShouldUploadImageAsync()
        {
            var    imageBytes = TestData.TestImageBytes;
            Stream s          = new MemoryStream(imageBytes);

            s.Position = 0;

            const string title   = "Test Title";
            const string desc    = "Test Description\nSecond Line";
            const string tags    = "testtag1,testtag2";
            var          photoId = AuthInstance.UploadPicture(s, "Test.jpg", title, desc, tags, false, false, false, ContentType.Other, SafetyLevel.Safe, HiddenFromSearch.Visible).Result;

            try
            {
                PhotoInfo info = AuthInstance.PhotosGetInfoAsync(photoId).Result;

                Assert.AreEqual(title, info.Title);
                Assert.AreEqual(desc, info.Description);
                Assert.AreEqual(2, info.Tags.Count);
                Assert.AreEqual("testtag1", info.Tags[0].Raw);
                Assert.AreEqual("testtag2", info.Tags[1].Raw);

                Assert.IsFalse(info.IsPublic);
                Assert.IsFalse(info.IsFamily);
                Assert.IsFalse(info.IsFriend);

                var sizes = AuthInstance.PhotosGetSizesAsync(photoId).Result;

                var url = sizes[sizes.Count - 1].Source;
                using (var client = new HttpClient())
                {
                    var downloadBytes  = client.GetByteArrayAsync(url).Result;
                    var downloadBase64 = Convert.ToBase64String(downloadBytes);

                    Assert.AreEqual(TestData.TestImageBase64, downloadBase64);
                }
            }
            finally
            {
                AuthInstance.PhotosDeleteAsync(photoId).RunSynchronously();
            }
        }