public async void TestGetItemWithParentScopeByPath()
        {
            var request = ItemWebApiRequestBuilder.ReadItemsRequestWithPath("/sitecore/content/Home/Allowed_Parent")
                          .Payload(PayloadType.Full)
                          .AddScope(ScopeType.Parent)
                          .Build();
            var response = await this.session.ReadItemAsync(request);

            testData.AssertItemsCount(1, response);
            var resultItem = response[0];

            testData.AssertItemsAreEqual(testData.Items.Home, resultItem);
            Assert.AreEqual("The Home item is the default starting point for a website.", resultItem["__Long description"].RawValue);
        }
        public async void TestGetItemAsAuthenticatedUser()
        {
            using
            (
                var session = SitecoreSSCSessionBuilder.AuthenticatedSessionWithHost(this.testData.InstanceUrl)
                              .Credentials(this.testData.Users.Admin)
                              .BuildReadonlySession()
            )
            {
                var response = await session.ReadItemAsync(requestWithItemId);

                testData.AssertItemsCount(1, response);
                Assert.AreEqual(testData.Items.Home.DisplayName, response[0].DisplayName);
            }
        }
        public async void TestGetItemById()
        {
            var response = await GetItemById(this.testData.Items.Home.Id);

            testData.AssertItemsCount(1, response);
            testData.AssertItemsAreEqual(testData.Items.Home, response[0]);
        }
        public async void TestWithoutHttpInUrlByPath()
        {
            var urlWithoutHttp = this.RemoveHttpSymbols(this.testData.InstanceUrl);
            var url            = urlWithoutHttp;

            using
            (
                var session =
                    SitecoreSSCSessionBuilder.AuthenticatedSessionWithHost(url)
                    .Credentials(this.testData.Users.Admin)
                    .BuildReadonlySession()
            )
            {
                var requestWithItemPath = ItemSSCRequestBuilder.ReadItemsRequestWithPath(this.testData.Items.Home.Path).Build();
                var response            = await session.ReadItemAsync(requestWithItemPath);

                testData.AssertItemsCount(1, response);
                testData.AssertItemsAreEqual(testData.Items.Home, response[0]);
            }
        }
        public async void TestGetItemWithNotExistentLanguage()
        {
            const string Db         = "web";
            const string Language   = "da";
            var          itemSource = new ItemSource(Db, Language, 1);

            using
            (
                var session = this.CreateAdminSession(itemSource)
            )
            {
                var response = await this.GetHomeItem(session);

                testData.AssertItemsCount(1, response);
                ISitecoreItem resultItem = response[0];
                Assert.AreEqual(testData.Items.Home.Id, resultItem.Id);
                testData.AssertItemSourcesAreEqual(itemSource, resultItem.Source);
                Assert.AreEqual("", resultItem["Title"].RawValue);
            }
        }
예제 #6
0
        public async void TestGetItemWithDbLanguageAndVersionFromSession()
        {
            const string Db         = "web";
            const string Language   = "da";
            const int    Version    = 1;
            var          itemSource = new ItemSource(Db, Language, Version);
            var          response   = await this.GetItemByIdWithItemSource(itemSource);

            testData.AssertItemsCount(1, response);
            var resultItem = response[0];

            testData.AssertItemsAreEqual(testData.Items.ItemWithVersions, resultItem);

            var source = new ItemSource(Db, Language, Version);

            testData.AssertItemSourcesAreEqual(source, resultItem.Source);
            Assert.AreEqual("Danish version 2 web", resultItem["Title"].RawValue);
            Assert.AreEqual(Db, resultItem.Source.Database);
            Assert.AreEqual(Version, resultItem.Source.VersionNumber.Value);
            Assert.AreEqual(Language, resultItem.Source.Language);
        }
        public async void TestCreateGetAndDelete100ItemsByQuery()
        {
            await this.RemoveAll();

            for (int i = 0; i < 100; i++)
            {
                await this.CreateItem("Test item " + (i + 1));
            }

            var query = testData.Items.CreateItemsHere.Path + "/descendant::*[@@templatename='Sample Item']";

            var readRequest = ItemWebApiRequestBuilder.ReadItemsRequestWithSitecoreQuery(query).PageNumber(0).ItemsPerPage(100).Build();
            var readResult  = await this.session.ReadItemAsync(readRequest);

            testData.AssertItemsCount(100, readResult);

            var deleteRequest = ItemWebApiRequestBuilder.DeleteItemRequestWithSitecoreQuery(query).Build();
            var deleteResult  = await this.session.DeleteItemAsync(deleteRequest);

            Assert.AreEqual(100, deleteResult.Count);
        }
예제 #8
0
        public async void TestGetItemByIdWithContentFields()
        {
            var request  = ItemWebApiRequestBuilder.ReadItemsRequestWithId(testData.Items.Home.Id).Payload(PayloadType.Content).Build();
            var response = await this.sessionAuthenticatedUser.ReadItemAsync(request);

            testData.AssertItemsCount(1, response);
            testData.AssertItemsAreEqual(testData.Items.Home, response[0]);
            ISitecoreItem item = response[0];

            Assert.AreEqual(2, item.FieldsCount);
            Assert.AreEqual("Sitecore", item["Title"].RawValue);
        }