Esempio n. 1
0
        public async Task BoundaryCheck()
        {
            HttpRequestMessage request;
            var cb = new CookieBox();

            request = MakeRequest(cb.cookie, "/v1/diff/2147483647/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/2147483647/right", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/2147483647", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK);

            request = MakeRequest(cb.cookie, "/v1/diff/1/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1/right", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK);

            request = MakeRequest(cb.cookie, "/v1/diff/2147483648/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/0/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);
        }
Esempio n. 2
0
        public async Task PutRouting()
        {
            HttpRequestMessage request;
            var cb = new CookieBox();

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.MethodNotAllowed);

            request = MakeRequest(cb.cookie, "/v1/diff", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/1/right/bla", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/-1.5/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/-1/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/bla/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/1/bla", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);
        }
Esempio n. 3
0
        public async Task GetRouting()
        {
            HttpRequestMessage request;
            var cb = new CookieBox();

            request = MakeRequest(cb.cookie, "/v1/diff/", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/1/bla", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/1/left", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.MethodNotAllowed);
        }
Esempio n. 4
0
        public async Task DiffB64HappyFlow()
        {
            HttpRequestMessage request;
            JObject            exp_cont;
            var cb = new CookieBox();

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/1/left", HttpMethod.Put, "{\"data\":\"AAAAAA==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);

            request = MakeRequest(cb.cookie, "/v1/diff/1/right", HttpMethod.Put, "{\"data\":\"AAAAAA==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK, JObject.Parse(@"{'diffResultType':'Equals'}"));

            request = MakeRequest(cb.cookie, "/v1/diff/1/right", HttpMethod.Put, "{\"data\":\"AQABAQ==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            exp_cont = JObject.Parse(
                @"{
                    'diffResultType': 'ContentDoNotMatch',
                    'diffs': [
                    {
                        'offset': 0,
                        'length': 1
                    },
                    {
                        'offset': 2,
                        'length': 2
                    }
                    ]
                }"
                );
            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK, exp_cont);

            request = MakeRequest(cb.cookie, "/v1/diff/1/left", HttpMethod.Put, "{\"data\":\"AAA=\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK, JObject.Parse(@"{'diffResultType':'SizeDoNotMatch'}"));
        }
Esempio n. 5
0
        public async Task UseDifferentCookie()
        {
            HttpRequestMessage request;
            var cb = new CookieBox();

            request = MakeRequest(cb.cookie, "/v1/diff/1/left", HttpMethod.Put, "{\"data\":\"AAAAAA==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1/right", HttpMethod.Put, "{\"data\":\"AAAAAA==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK, JObject.Parse(@"{'diffResultType':'Equals'}"));

            request = MakeRequest("differentcookie", "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.NotFound);
        }
Esempio n. 6
0
        public async Task OverwriteFromDifferentUser()
        {
            HttpRequestMessage request;
            var cb  = new CookieBox();
            var cb2 = new CookieBox();

            request = MakeRequest(null, "/v1/diff/1/left", HttpMethod.Put, "{\"data\":\"AAAAAA==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1/right", HttpMethod.Put, "{\"data\":\"AAAAAA==\"}");
            await CheckResponse(cb, client, request, HttpStatusCode.Created);

            request = MakeRequest(null, "/v1/diff/1/right", HttpMethod.Put, "{\"data\":\"AQABAQ==\"}");
            await CheckResponse(cb2, client, request, HttpStatusCode.Created);

            request = MakeRequest(cb.cookie, "/v1/diff/1", HttpMethod.Get);
            await CheckResponse(cb, client, request, HttpStatusCode.OK, JObject.Parse(@"{'diffResultType':'Equals'}"));
        }
Esempio n. 7
0
        private static async Task CheckResponse(CookieBox cookiebox, HttpClient client, HttpRequestMessage request, HttpStatusCode exp_status_code, JObject exp_content = null)
        {
            using (var response = await client.SendAsync(request))
            {
                Assert.AreEqual(exp_status_code, response.StatusCode);

                if (exp_content != null)
                {
                    var content = JObject.Parse(response.Content.ReadAsStringAsync().Result);
                    Assert.IsTrue(JToken.DeepEquals(content, exp_content));
                }

                IEnumerable <String> values;
                if (response.Headers.TryGetValues("Set-Cookie", out values))
                {
                    cookiebox.cookie = values.First();
                }
            }
        }