public void DeleteChunkedCookieWithOptionsAndResponseCookies_AllDeleted() { var chunkingCookieManager = new ChunkingCookieManager(); HttpContext httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Cookie"] = new[] { "TestCookie=chunks-7", "TestCookieC1=abcdefghi", "TestCookieC2=jklmnopqr", "TestCookieC3=stuvwxyz0", "TestCookieC4=123456789", "TestCookieC5=ABCDEFGHI", "TestCookieC6=JKLMNOPQR", "TestCookieC7=STUVWXYZ" }; var cookieOptions = new CookieOptions() { Domain = "foo.com", Path = "/", Secure = true }; httpContext.Response.Headers[HeaderNames.SetCookie] = new[] { "TestCookie=chunks-7; domain=foo.com; path=/; secure", "TestCookieC1=STUVWXYZ; domain=foo.com; path=/; secure", "TestCookieC2=123456789; domain=foo.com; path=/; secure", "TestCookieC3=stuvwxyz0; domain=foo.com; path=/; secure", "TestCookieC4=123456789; domain=foo.com; path=/; secure", "TestCookieC5=ABCDEFGHI; domain=foo.com; path=/; secure", "TestCookieC6=JKLMNOPQR; domain=foo.com; path=/; secure", "TestCookieC7=STUVWXYZ; domain=foo.com; path=/; secure" }; chunkingCookieManager.DeleteCookie(httpContext, "TestCookie", cookieOptions); Assert.Equal(8, httpContext.Response.Headers[HeaderNames.SetCookie].Count); Assert.Equal(new[] { "TestCookie=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC1=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC2=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC3=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC4=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC5=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC6=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure", "TestCookieC7=; expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=foo.com; path=/; secure" }, httpContext.Response.Headers[HeaderNames.SetCookie]); }
public void GetLargeChunkedCookie_Reassembled() { HttpContext context = new DefaultHttpContext(); context.Request.Headers["Cookie"] = new[] { "TestCookie=chunks-7", "TestCookieC1=abcdefghi", "TestCookieC2=jklmnopqr", "TestCookieC3=stuvwxyz0", "TestCookieC4=123456789", "TestCookieC5=ABCDEFGHI", "TestCookieC6=JKLMNOPQR", "TestCookieC7=STUVWXYZ" }; string result = new ChunkingCookieManager().GetRequestCookie(context, "TestCookie"); string testString = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; Assert.Equal(testString, result); }
public void GetLargeChunkedCookieWithMissingChunk_ThrowingDisabled_NotReassembled() { HttpContext context = new DefaultHttpContext(); context.Request.Headers["Cookie"] = new[] { "TestCookie=chunks-7", "TestCookieC1=abcdefghi", // Missing chunk "TestCookieC2=jklmnopqr", "TestCookieC3=stuvwxyz0", "TestCookieC4=123456789", "TestCookieC5=ABCDEFGHI", "TestCookieC6=JKLMNOPQR", "TestCookieC7=STUVWXYZ" }; string result = new ChunkingCookieManager() { ThrowForPartialCookies = false }.GetRequestCookie(context, "TestCookie"); string testString = "chunks-7"; Assert.Equal(testString, result); }