Esempio n. 1
0
        public void TestCorrectParamsForParentId()
        {
            Stream stream = this.GenerateFakeStream();
            IMediaResourceUploadRequest request = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId("{BC1BAE61-ADC6-4B37-B36E-01059B26CF84}")
                                                  .ContentType("image/jpg")
                                                  .ItemName("name1")
                                                  .FileName("bugaga.jpg")
                                                  .ItemTemplatePath("System/Media/Unversioned/Image")
                                                  .ItemDataStream(stream)
                                                  .Build();

            IMediaResourceUploadRequest autocompletedRequest = this.requestMerger.FillUploadMediaGaps(request);

            string result   = this.builder.GetUrlForRequest(autocompletedRequest);
            string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/" +
                              "-/item/v234%2f" +
                              "sitecore%2fshell" +
                              "?" +
                              "sc_database=web&" +
                              "name=name1&" +
                              "template=System%2fMedia%2fUnversioned%2fImage&" +
                              "sc_itemid=%7BBC1BAE61-ADC6-4B37-B36E-01059B26CF84%7D";

            Assert.AreEqual(expected, result);
        }
        public async void UploadBigSizeVideoToDbSpecifiedInSession()
        {
            await this.RemoveAll();

            const string Database          = "master";
            var          sessionToOverride =
                SitecoreWebApiSessionBuilder.AuthenticatedSessionWithHost(this.testData.InstanceUrl)
                .Credentials(this.testData.Users.Admin)
                .DefaultDatabase(Database)
                .BuildSession();

            using (var video = GetStreamFromUrl(TestEnvironment.Videos.IMG_0994_MOV))
            {
                var request = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(testData.Items.UploadMediaHere.Id)
                              .ItemDataStream(video)
                              .ItemName("testVideo")
                              .FileName("test.mov")
                              .Build();
                var response = await sessionToOverride.UploadMediaResourceAsync(request);

                Assert.AreEqual(1, response.ResultCount);
                Assert.AreEqual(Database, response[0].Source.Database);
                this.AssertImageUploaded(response[0].Path, Database);
            }
        }
        public async void OverrideDatabaseInUploadRequest()
        {
            await this.RemoveAll();

            var sessionToOverride =
                SitecoreWebApiSessionBuilder.AuthenticatedSessionWithHost(this.testData.InstanceUrl)
                .Credentials(this.testData.Users.Admin)
                .DefaultDatabase("master")
                .BuildSession();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                const string Database = "web";
                var          request  = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(testData.Items.UploadMediaHere.Id)
                                        .ItemDataStream(image)
                                        .Database(Database)
                                        .ItemName("testPNG")
                                        .FileName("test.png")
                                        .Build();
                var response = await sessionToOverride.UploadMediaResourceAsync(request);

                Assert.AreEqual(1, response.ResultCount);
                Assert.AreEqual(Database, response[0].Source.Database);
            }
        }
        public async void TryToUploadImageAsAnonymousUser()
        {
            await this.RemoveAll();

            var sessionToOverride =
                SitecoreWebApiSessionBuilder.AnonymousSessionWithHost(this.testData.InstanceUrl)
                .BuildSession();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                var request = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(testData.Items.UploadMediaHere.Id)
                              .ItemDataStream(image)
                              .ItemName("testPNG")
                              .FileName("test.png")
                              .Build();
                TestDelegate testCode = async() =>
                {
                    var   task = sessionToOverride.UploadMediaResourceAsync(request);
                    await task;
                };

                Exception exception = Assert.Throws <ParserException>(testCode);
                Assert.AreEqual("[Sitecore Mobile SDK] Data from the internet has unexpected format", exception.Message);
                Assert.AreEqual("Sitecore.MobileSDK.API.Exceptions.WebApiJsonErrorException", exception.InnerException.GetType().ToString());
                Assert.IsTrue(exception.InnerException.Message.Contains("Access denied"));
            }
        }
        public async void UploadImageWithNullItemDataStreamReturnsArgumentException()
        {
            await this.RemoveAll();

            var exception = Assert.Throws <ArgumentNullException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(this.testData.Items.UploadMediaHere.Id)
                                                                  .ItemDataStream(null)
                                                                  .ItemName("test")
                                                                  .FileName("test.png")
                                                                  .Build());

            Assert.IsTrue(exception.Message.Contains("ItemDataStream"));
        }
        public void UploadMediaToNullDbDoesNotReturnException()
        {
            var image   = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2);
            var request = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(testData.Items.UploadMediaHere.Id)
                          .ItemDataStream(image)
                          .Database(null)
                          .ItemName("testPNG")
                          .FileName("test.png")
                          .Build();

            Assert.NotNull(request);
        }
        public async void UploadImageWithEmptyItemNameReturnsArgumentException()
        {
            await this.RemoveAll();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                var exception = Assert.Throws <ArgumentException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(this.testData.Items.UploadMediaHere.Id)
                                                                  .ItemDataStream(image)
                                                                  .ItemName("")
                                                                  .FileName("test.png")
                                                                  .Build());
                Assert.AreEqual("UploadMediaItemByParentIdRequestBuilder.ItemName : The input cannot be empty.", exception.Message);
            }
        }
        public async void UploadImageToInvalidParentItemIdReturnsArgumentException()
        {
            await this.RemoveAll();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                var exception = Assert.Throws <ArgumentException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId("invalid-id")
                                                                  .ItemDataStream(image)
                                                                  .ItemName("test")
                                                                  .FileName("test.png")
                                                                  .Build());
                Assert.AreEqual("UploadMediaItemByParentIdRequestBuilder.ParentId : Item id must have curly braces '{}'", exception.Message);
            }
        }
        public async void UploadImageToNullParentItemIdReturnsNullReferenceException()
        {
            await this.RemoveAll();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                var exception = Assert.Throws <ArgumentNullException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(null)
                                                                      .ItemDataStream(image)
                                                                      .ItemName("test")
                                                                      .FileName("test.png")
                                                                      .Build());
                Assert.IsTrue(exception.Message.Contains("ParentId"));
            }
        }
        public async void UploadImageToWith2FileNamesReturnsInvalidOperationException()
        {
            await this.RemoveAll();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                var exception = Assert.Throws <InvalidOperationException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(this.testData.Items.UploadMediaHere.Id)
                                                                          .ItemDataStream(image)
                                                                          .ItemName("test")
                                                                          .FileName("test1.png")
                                                                          .FileName("test2.png")
                                                                          .Build());
                Assert.AreEqual("UploadMediaItemByParentIdRequestBuilder.FileName : Property cannot be assigned twice.", exception.Message);
            }
        }
        public async void UploadImageWithVeryLongItemName()
        {
            await this.RemoveAll();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Gif.Pictures_2))
            {
                const string Database = "master";
                const string ItemName = "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo Nemo enim ipsam voluptatem quia voluptas si aspernatur aut odit aut fugit sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt neque porro quisquam est";
                var          request  = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(testData.Items.UploadMediaHere.Id)
                                        .ItemDataStream(image)
                                        .Database(Database)
                                        .ItemName(ItemName)
                                        .FileName("test.png")
                                        .Build();
                var response = await this.session.UploadMediaResourceAsync(request);

                Assert.AreEqual(0, response.ResultCount);
            }
        }
        public async void UploadPngImageToWebDatabaseAsSitecoreAdminForParentId()
        {
            await this.RemoveAll();

            using (var image = GetStreamFromUrl(TestEnvironment.Images.Png.Bambuk))
            {
                const string Database = "web";
                var          request  = ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(testData.Items.UploadMediaHere.Id)
                                        .ItemDataStream(image)
                                        .Database(Database)
                                        .ItemName("testPNG")
                                        .FileName("test.png")
                                        .Build();
                var response = await this.session.UploadMediaResourceAsync(request);

                Assert.AreEqual(1, response.ResultCount);
                Assert.AreEqual(Database, response[0].Source.Database);
                this.AssertImageUploaded(response[0].Path, Database);
            }
        }
Esempio n. 13
0
 public void TestNullParentId()
 {
     Assert.Throws <ArgumentNullException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(null));
 }
Esempio n. 14
0
 public void TestEmptyParentId()
 {
     Assert.Throws <ArgumentException>(() => ItemWebApiRequestBuilder.UploadResourceRequestWithParentId(""));
 }