示例#1
0
        public void TestReadItemByIdCopiesSessionSettings()
        {
            var defaultSource   = new MutableItemSource("master", "en", 33);
            var sessionSettings = new MutableSessionConfig("localhost", "/sitecore/shell", "v100500");

            ScopeParameters scope = new ScopeParameters();

            scope.AddScope(ScopeType.Parent);
            scope.AddScope(ScopeType.Self);

            string[] fields          = { "Ukraine", "is", "Europe" };
            var      queryParameters = new QueryParameters(PayloadType.Content, scope, fields);

            IPagingParameters       pagingSettings = null;
            ReadItemsByIdParameters request        = new ReadItemsByIdParameters(
                sessionSettings,
                defaultSource,
                queryParameters,
                pagingSettings,
                "{aaaa-aa-bb}");
            var otherRequest = request.DeepCopyGetItemByIdRequest();

            {
                sessionSettings.SetInstanceUrl("paappaa");

                Assert.AreEqual("localhost", otherRequest.SessionSettings.InstanceUrl);
                Assert.AreNotSame(request.SessionSettings, otherRequest.SessionSettings);
                Assert.AreNotSame(request.ItemSource, otherRequest.ItemSource);
                Assert.AreNotSame(request.QueryParameters, otherRequest.QueryParameters);
            }
        }
示例#2
0
        public void TestReadItemQueryRequestCopiesPagingOptions()
        {
            var defaultSource   = new MutableItemSource("master", "en", 33);
            var sessionSettings = new MutableSessionConfig("localhost", "/sitecore/shell", "v100500");

            ScopeParameters scope = new ScopeParameters();

            scope.AddScope(ScopeType.Parent);
            scope.AddScope(ScopeType.Self);

            string[] fields          = { "Ukraine", "is", "Europe" };
            var      queryParameters = new QueryParameters(PayloadType.Content, scope, fields);

            var pagingSettings = new MutablePagingParameters(1, 10);
            ReadItemByQueryParameters request = new ReadItemByQueryParameters(
                sessionSettings,
                defaultSource,
                queryParameters,
                pagingSettings,
                "/x/y/z");
            var otherRequest = request.DeepCopyGetItemByQueryRequest();


            {
                pagingSettings.PageNumber        = 20;
                pagingSettings.ItemsPerPageCount = 100500;


                Assert.AreEqual(10, otherRequest.PagingSettings.ItemsPerPageCount);
                Assert.AreEqual(1, otherRequest.PagingSettings.PageNumber);
            }
        }
示例#3
0
        public void TestForceHttpsProtocol()
        {
            var localSessionConfig = new MutableSessionConfig("http://testurl");

            var parameters = new DeleteItemByIdParameters(localSessionConfig, this.database, this.id);

            var url = this.builder.GetUrlForRequest(parameters);

            Assert.AreEqual("https://testurl/sitecore/api/ssc/item/%7bb0ed4777-1f5d-478d-af47-145cca9e4311%7d?database=master", url);
        }
示例#4
0
        public void TestCredentialsCannotBeMutated()
        {
            var connection = new MutableSessionConfig("localhost");
            var anonymous  = new MutableWebApiCredentialsPOD(null, null);

            var defaultSource = LegacyConstants.DefaultSource();

            var session = new ScApiSession(connection, anonymous, this.mediaSettings, defaultSource);

            Assert.AreEqual(defaultSource, session.DefaultSource);
            Assert.AreNotSame(defaultSource, session.DefaultSource);

            anonymous.Username = "******";
            anonymous.Password = "******";

            Assert.AreNotEqual(anonymous, session.Credentials);
            Assert.AreNotSame(anonymous, session.Credentials);
        }
示例#5
0
        public void TestSessionConfigCannotBeMutated()
        {
            var connection = new MutableSessionConfig("localhost");
            var anonymous  = new MutableWebApiCredentialsPOD(null, null);

            var defaultSource = LegacyConstants.DefaultSource();

            var session = new ScApiSession(connection, anonymous, this.mediaSettings, defaultSource);

            Assert.AreEqual(defaultSource, session.DefaultSource);
            Assert.AreNotSame(defaultSource, session.DefaultSource);

            connection.SetInstanceUrl("sitecore.net");
            connection.SetSite("/sitecore/shell");
            connection.SetItemWebApiVersion("v100500");

            anonymous.Username = "******";
            anonymous.Password = "******";

            Assert.AreNotEqual(connection, session.Config);
            Assert.AreNotSame(connection, session.Config);
        }
示例#6
0
        public void TestReadItemByIdCopiesItemSource()
        {
            var defaultSource   = new MutableItemSource("master", "en", 33);
            var sessionSettings = new MutableSessionConfig("localhost", "/sitecore/shell", "v100500");

            ScopeParameters scope = new ScopeParameters();

            scope.AddScope(ScopeType.Parent);
            scope.AddScope(ScopeType.Self);

            string[] fields          = { "Ukraine", "is", "Europe" };
            var      queryParameters = new QueryParameters(PayloadType.Content, scope, fields);

            IPagingParameters       pagingSettings = null;
            ReadItemsByIdParameters request        = new ReadItemsByIdParameters(
                sessionSettings,
                defaultSource,
                queryParameters,
                pagingSettings,
                "{aaaa-aa-bb}");
            var otherRequest = request.DeepCopyGetItemByIdRequest();

            {
                defaultSource.SetDatabase("web");
                defaultSource.SetLanguage("xyz");
                defaultSource.SetVersion(9999);

                Assert.AreEqual("master", otherRequest.ItemSource.Database);
                Assert.AreEqual("en", otherRequest.ItemSource.Language);
                Assert.AreEqual(33, otherRequest.ItemSource.VersionNumber.Value);

                Assert.AreNotSame(request.SessionSettings, otherRequest.SessionSettings);
                Assert.AreNotSame(request.ItemSource, otherRequest.ItemSource);
                Assert.AreNotSame(request.QueryParameters, otherRequest.QueryParameters);
            }
        }