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); }
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); }
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); }
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'}")); }
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); }
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'}")); }
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(); } } }