Пример #1
0
        public void UnsetCookie()
        {
            var context = new RewriteContext {
                HttpContext = new DefaultHttpContext()
            };
            var action = new ChangeCookieAction("Cookie");

            action.ApplyAction(context, null, null);

            var cookieHeaders = context.HttpContext.Response.Headers[HeaderNames.SetCookie];
            var header        = Assert.Single(cookieHeaders);

            Assert.Equal($"Cookie=", header);
        }
Пример #2
0
        public void ZeroLifetime()
        {
            var context = new RewriteContext {
                HttpContext = new DefaultHttpContext()
            };
            var action = new ChangeCookieAction("Cookie")
            {
                Value = "Chocolate Chip",
            };

            action.ApplyAction(context, null, null);

            var cookieHeaders = context.HttpContext.Response.Headers[HeaderNames.SetCookie];
            var header        = Assert.Single(cookieHeaders);

            Assert.Equal($"Cookie=Chocolate%20Chip", header);
        }
Пример #3
0
        public void SetsCookie()
        {
            var now     = DateTimeOffset.UtcNow;
            var context = new RewriteContext {
                HttpContext = new DefaultHttpContext()
            };
            var action = new ChangeCookieAction("Cookie", () => now)
            {
                Value    = "Chocolate Chip",
                Domain   = "contoso.com",
                Lifetime = TimeSpan.FromMinutes(1440),
                Path     = "/recipes",
                Secure   = true,
                HttpOnly = true
            };

            action.ApplyAction(context, null, null);

            var cookieHeaders = context.HttpContext.Response.Headers[HeaderNames.SetCookie];
            var header        = Assert.Single(cookieHeaders);

            Assert.Equal($"Cookie=Chocolate%20Chip; expires={HeaderUtilities.FormatDate(now.AddMinutes(1440))}; domain=contoso.com; path=/recipes; secure; httponly", header);
        }