Exemple #1
0
        public async void TestItemByQueryRequestMutationDoesNotAffectSession()
        {
            string homePath = "/sitecore/content/home";

            IQueryParameters payload = new QueryParameters(PayloadType.Min, null, null);

            MockGetItemsByQueryParameters mockMutableRequest = new MockGetItemsByQueryParameters();

            mockMutableRequest.SitecoreQuery   = homePath;
            mockMutableRequest.QueryParameters = payload;
            mockMutableRequest.ItemSource      = this.itemSource;

            try
            {
                Task <ScItemsResponse> loadItemsTask = this.session.ReadItemAsync(mockMutableRequest);
                //      await Task.Factory.StartNew(() => mockMutableRequest.SitecoreQuery = "/sitecore/content/media library");
                ScItemsResponse response = await loadItemsTask;
                var             item     = response[0];
                Assert.AreEqual(homePath.ToLowerInvariant(), item.Path.ToLowerInvariant());
            }
            catch (LoadDataFromNetworkException)
            {
                //IDLE
            }
            finally
            {
                Assert.AreEqual(1, this.itemSource.CopyInvocationCount);
                Assert.AreEqual(1, mockMutableRequest.CopyInvocationCount);
            }
        }
        public void TestQueryCannotBeWhitespace()
        {
            MockGetItemsByQueryParameters mutableParameters = new MockGetItemsByQueryParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.SitecoreQuery   = "   \t \r \n   ";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = this.payload;

            IReadItemsByQueryRequest request = mutableParameters;

            Assert.Throws <ArgumentException> (() => this.builder.GetUrlForRequest(request));
        }
        public void TestBuildWithFastQuery()
        {
            MockGetItemsByQueryParameters mutableParameters = new MockGetItemsByQueryParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.SitecoreQuery   = "fast:/sitecore/content/Home/Products/*[@@name = 'Hammer']";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = this.payload;

            IReadItemsByQueryRequest request = mutableParameters;

            string result   = this.builder.GetUrlForRequest(request);
            string expected = "http://mobiledev1ua1.dk.sitecore.net:722/-/item/v13?sc_database=web&language=en&payload=full&query=fast%3a%2fsitecore%2fcontent%2fHome%2fProducts%2f%2a%5b%40%40name%20%3d%20%27Hammer%27%5d";

            Assert.AreEqual(expected, result);
        }
        public void TestNullPayloadStructIsIgnored()
        {
            MockGetItemsByQueryParameters mutableParameters = new MockGetItemsByQueryParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.SitecoreQuery   = "/Sitecore/Content/*";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = null;

            IReadItemsByQueryRequest request = mutableParameters;

            string result   = this.builder.GetUrlForRequest(request);
            string expected = "http://mobiledev1ua1.dk.sitecore.net:722/-/item/v13?sc_database=web&language=en&query=%2fSitecore%2fContent%2f%2a";

            Assert.AreEqual(expected, result);
        }
        public void TestDuplicateFieldsCauseException()
        {
            var mutableParameters = new MockGetItemsByQueryParameters();

            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.SitecoreQuery   = "/aaa/bbb/ccc/*";

            string[]         fields           = { "x", "y", "x" };
            IQueryParameters duplicatedFields = new QueryParameters(null, null, fields);

            mutableParameters.QueryParameters = duplicatedFields;


            IReadItemsByQueryRequest parameters = mutableParameters;

            Assert.Throws <ArgumentException>(() => this.builder.GetUrlForRequest(parameters));
        }