public void Cookie_can_be_overwritten()
 {
     WebsiteCookies w = new WebsiteCookies();
     w.Add("test", "value");
     w.Add("test", "newvalue");
     Assert.IsTrue(w.GetCookie("test").Value == "newvalue");
 }
        public void Cookie_can_be_deleted_from_collection()
        {
            WebsiteCookies w = new WebsiteCookies();
            w.Add("key", "value");
            w.Delete("key");

            Assert.IsTrue(w.Length == 0);
        }
Esempio n. 3
0
 /// <summary>
 /// Constructor
 /// </summary>
 public Response()
 {
     Data = null;
     HttpVersion = Helpers.WebserverConstants.HttpVersion10;
     HttpResponseCode = 200;
     HttpResponseCodeDescription = "OK";
     Cookies = new WebsiteCookies();
 }
        public void Cookie_can_be_removed()
        {
            WebsiteCookies w = new WebsiteCookies();
            w.Add("existant_key", "value");
            w.RequestDelete("existant_key");

            //check if cookie was set to be reset in response
            var cookie = w.GetCookie("existant_key");
            Assert.IsTrue(cookie.Value == "deleted");

            //check if cookie expiration date is lower than current date
            Assert.IsTrue(cookie.Expires < DateTime.Now);
        }
Esempio n. 5
0
        /// <summary>
        /// Find cookies in request and process
        /// </summary>
        /// <param name="message">request string</param>
        private void ParseCookies(string message)
        {
            string wordToParse = "Cookie";
            if (message.Contains(wordToParse))
            {

                this.hasCookie = true;
                string hostString = message.Substring(message.LastIndexOf(wordToParse));
                hostString = hostString.Substring(wordToParse.Length + 1, hostString.IndexOf("\r\n"));

                if (hostString.Contains("\r\n"))
                    cookiesRaw = hostString.Remove(hostString.IndexOf("\r\n")).Trim();
                else
                    cookiesRaw = hostString.Trim();

                //parse into cookies
                if (!Configurator.Instance.IsCookielessSession)
                {
                    Cookies = new WebsiteCookies();
                    var cookies = cookiesRaw.Split(new[] {';'});
                    foreach (var cooky in cookies)
                    {
                        var cookyKeyValue = cooky.Split(new[] {'='});
                        if (cookyKeyValue.Length == 2)
                        {
                            string key = cookyKeyValue[0].Trim();
                            string value = cookyKeyValue[1].Trim();

                            Cookies.Add(key, value);
                        }
                    }
                }

            }
            // Console.WriteLine(CookiesRaw);
        }
 public void Non_existant_cookie_is_nulled()
 {
     WebsiteCookies w = new WebsiteCookies();
     var value = w.GetCookie("non-existant-key");
     Assert.IsNull(value);
 }
 public void Cookie_can_be_saved_and_restored()
 {
     WebsiteCookies w = new WebsiteCookies();
     w.Add("test", "value");
     Assert.IsTrue(w.GetCookie("test").Value == "value");
 }