Exemple #1
0
        public void TestParseEmptyData()
        {
            var          responseString = "";
            TestDelegate action         = () => DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);

            Assert.Throws <ArgumentException>(action, "cannot parse empty response");
        }
Exemple #2
0
        public void TestEmptyItemsResponseData()
        {
            var responseString             = "{\"statusCode\":200,\"result\":{\"count\":0,\"itemIds\":[]}}";
            ScDeleteItemsResponse response = DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);

            Assert.AreEqual(0, response.Count);
        }
        public void TestEmptyItemsResponseData()
        {
            var responseString             = "444";
            ScDeleteItemsResponse response = DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);

            Assert.IsFalse(response.Deleted);
        }
        public void TestParseSingleItemCorrectData()
        {
            var responseString             = "204";
            ScDeleteItemsResponse response = DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);

            Assert.AreEqual(204, response.StatusCode);
        }
Exemple #5
0
        public void TestParseSingleItemCorrectData()
        {
            var responseString = "{\"statusCode\":200,\"result\":{\"count\":1,\"itemIds\":" +
                                 "[\"{40C28707-DCB1-4614-842A-8BE17880921E}\"]}}";
            ScDeleteItemsResponse response = DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);

            Assert.AreEqual(1, response.Count);
        }
Exemple #6
0
        public async Task <ScDeleteItemsResponse> ParseResponseDataAsync(string httpData, CancellationToken cancelToken)
        {
            Func <ScDeleteItemsResponse> syncParseResponse = () =>
            {
                //TODO: @igk debug response output, remove later
                //Debug.WriteLine("RESPONSE: " + httpData);
                return(DeleteItemsResponseParser.ParseResponse(httpData, cancelToken));
            };

            return(await Task.Factory.StartNew(syncParseResponse, cancelToken));
        }
        public void TestErrorResponseData()
        {
            TestDelegate action = () =>
            {
                var responseString = "{\"statusCode\":401,\"error\":" +
                                     "{\"message\":\"Access to the \u0027master\u0027 database is denied. " +
                                     "Only members of the Sitecore Client Users role can switch databases.\"}" +
                                     "}";
                DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);
            };

            var exception = Assert.Throws <ParserException>(action);

            Assert.AreEqual("[Sitecore Mobile SDK] Data from the internet has unexpected format",
                            exception.Message);
        }
Exemple #8
0
        public void TestParseMultiItemCorrectData()
        {
            var responseString = "{\"statusCode\":200,\"result\":{\"count\":5,\"itemIds\":[\"" +
                                 "{B0ED4777-1F5D-478D-AF47-145CCA9E4311}\"," +
                                 "\"{FDB51F93-47ED-4186-AED8-FCAB82DA5BE7}\"," +
                                 "\"{F27C2E36-7907-41F3-ADB3-0118220E4DF8}\"," +
                                 "\"{9691126E-6BB9-47C5-9AA9-6EEAC9D4E70B}\"," +
                                 "\"{97154E04-622E-4561-A20C-B6463AEB2AEE}\"]}}";
            ScDeleteItemsResponse response = DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);

            Assert.AreEqual(5, response.Count);
            Assert.AreEqual("{B0ED4777-1F5D-478D-AF47-145CCA9E4311}", response[0]);
            Assert.AreEqual("{FDB51F93-47ED-4186-AED8-FCAB82DA5BE7}", response[1]);
            Assert.AreEqual("{F27C2E36-7907-41F3-ADB3-0118220E4DF8}", response[2]);
            Assert.AreEqual("{9691126E-6BB9-47C5-9AA9-6EEAC9D4E70B}", response[3]);
            Assert.AreEqual("{97154E04-622E-4561-A20C-B6463AEB2AEE}", response[4]);
        }
Exemple #9
0
        public void TestErrorResponseData()
        {
            TestDelegate action = () =>
            {
                var responseString = "{\"statusCode\":401,\"error\":" +
                                     "{\"message\":\"Access to the \u0027master\u0027 database is denied. " +
                                     "Only members of the Sitecore Client Users role can switch databases.\"}" +
                                     "}";
                DeleteItemsResponseParser.ParseResponse(responseString, CancellationToken.None);
            };

            var exception = Assert.Throws <WebApiJsonErrorException>(action);

            Assert.AreEqual(401, exception.Response.StatusCode);
            Assert.AreEqual("Access to the \u0027master\u0027 database is denied." +
                            " Only members of the Sitecore Client Users role can switch databases.",
                            exception.Response.Message);
        }
Exemple #10
0
        public void TestCancellationCausesOperationCanceledException()
        {
            TestDelegate testAction = async() =>
            {
                var cancel = new CancellationTokenSource();

                Task <ScDeleteItemsResponse> action = Task.Factory.StartNew(() =>
                {
                    var millisecondTimeout = 10;
                    Thread.Sleep(millisecondTimeout);

                    var responseString = "{\"statusCode\":200,\"result\":{\"count\":1,\"itemIds\":" +
                                         "[\"{40C28707-DCB1-4614-842A-8BE17880921E}\"]}}";
                    return(DeleteItemsResponseParser.ParseResponse(responseString, cancel.Token));
                });

                cancel.Cancel();
                await action;
            };

            Assert.Catch <OperationCanceledException>(testAction);
        }
Exemple #11
0
        public void TestParseNullData()
        {
            TestDelegate action = () => DeleteItemsResponseParser.ParseResponse(null, CancellationToken.None);

            Assert.Throws <ArgumentException>(action, "cannot parse null response");
        }