Пример #1
0
        public async void TestItemByPathRequestMutationDoesNotAffectSession()
        {
            string homePath = "/sitecore/content/home";

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

            MockGetItemsByPathParameters mockMutableRequest = new MockGetItemsByPathParameters();

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

            try
            {
                Task <ScItemsResponse> loadItemsTask = this.session.ReadItemAsync(mockMutableRequest);
                //      await Task.Factory.StartNew(() => mockMutableRequest.ItemPath = this.env.Items.MediaLibrary.Path);
                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 TestBuildWithEmptyPathCausesArgumentException()
        {
            MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.ItemPath        = "";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = this.payload;

            IReadItemsByPathRequest request = mutableParameters;

            TestDelegate action = () => this.builder.GetUrlForRequest(request);

            Assert.Throws <ArgumentException>(action);
        }
        public void TestBuildWithoutPayloadIsAllowed()
        {
            MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.ItemPath        = "/path/TO/iTEm";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = null;

            IReadItemsByPathRequest request = mutableParameters;
            string result   = this.builder.GetUrlForRequest(request);
            string expected = "https://mobiledev1ua1.dk.sitecore.net/sitecore/api/ssc/item?database=web&language=en&path=%2fpath%2fto%2fitem";

            Assert.AreEqual(expected, result);
        }
Пример #4
0
        public void TestNullPayloadIsNotReplacedWithDefault()
        {
            MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.ItemPath        = "/path/TO/iTEm";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = new QueryParameters(null, null, null);

            IReadItemsByPathRequest request = mutableParameters;

            string result   = this.builder.GetUrlForRequest(request);
            string expected = "http://mobiledev1ua1.dk.sitecore.net/-/item/v2%2fpath%2fto%2fitem?sc_database=web&language=en";

            Assert.AreEqual(expected, result);
        }
Пример #5
0
        public void TestBuildWithUnEscapedPath()
        {
            MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.ItemPath        = "/path TO iTEm";
            mutableParameters.SessionSettings = this.sessionConfig;
            mutableParameters.QueryParameters = this.payload;

            IReadItemsByPathRequest request = mutableParameters;

            string result   = this.builder.GetUrlForRequest(request);
            string expected = "http://mobiledev1ua1.dk.sitecore.net/-/item/v2%2fpath%20to%20item?sc_database=web&language=en&payload=content";

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

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

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

            mutableParameters.QueryParameters = duplicatedFields;


            IReadItemsByPathRequest parameters = mutableParameters;

            Assert.Throws <ArgumentException>(() => this.builder.GetUrlForRequest(parameters));
        }
        public void TestBuildRequestWithPathAndFieldList()
        {
            MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.ItemPath        = "/path/TO/iTEm";
            mutableParameters.SessionSettings = this.sessionConfig;

            QueryParameters fieldsList = new QueryParameters(new string[2] {
                "x", "y"
            });

            mutableParameters.QueryParameters = fieldsList;

            IReadItemsByPathRequest request = mutableParameters;

            string result   = this.builder.GetUrlForRequest(request);
            string expected = "https://mobiledev1ua1.dk.sitecore.net/sitecore/api/ssc/item?database=web&language=en&fields=x%2cy%2citemid%2citemname%2citempath%2cparentid%2ctemplateid%2ctemplatename%2citemlanguage%2citemversion%2cdisplayname&path=%2fpath%2fto%2fitem";

            Assert.AreEqual(expected, result);
        }
Пример #8
0
        public void TestBuildRequestWithPathAndFieldList()
        {
            MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters();

            mutableParameters.ItemSource      = LegacyConstants.DefaultSource();
            mutableParameters.ItemPath        = "/path/TO/iTEm";
            mutableParameters.SessionSettings = this.sessionConfig;

            QueryParameters fieldsList = new QueryParameters(PayloadType.Default, null, new string[2] {
                "x", "y"
            });

            mutableParameters.QueryParameters = fieldsList;

            IReadItemsByPathRequest request = mutableParameters;

            string result   = this.builder.GetUrlForRequest(request);
            string expected = "http://mobiledev1ua1.dk.sitecore.net/-/item/v2%2fpath%2fto%2fitem?sc_database=web&language=en&payload=min&fields=x|y";

            Assert.AreEqual(expected, result);
        }