Exemplo n.º 1
0
        public void Headers_Response()
        {
            HttpRequestMessage message = new HttpRequestMessage();
            HttpRequestHeaders headers = message.Headers;

            headers.Add("Age", "vv");
            Assert.AreEqual("vv", headers.GetValues("Age").First(), "#1");

            headers.Clear();
            headers.AddWithoutValidation("Age", "vv");
            Assert.AreEqual("vv", headers.GetValues("Age").First(), "#2");

            Assert.AreEqual("Method: GET, RequestUri: '<null>', Version: 1.1, Content: <null>, Headers:\r\n{\r\nAge: vv\r\n}", message.ToString(), "#3");
        }
Exemplo n.º 2
0
        public void Headers_Invalid()
        {
            HttpRequestMessage message = new HttpRequestMessage();
            HttpRequestHeaders headers = message.Headers;

            try {
                headers.Add("Allow", "");
                Assert.Fail("#1");
            } catch (InvalidOperationException) {
            }

            try {
                headers.Add(null, "");
                Assert.Fail("#2");
            } catch (ArgumentException) {
            }

            try {
                headers.Add("mm", null as IEnumerable <string>);
                Assert.Fail("#2b");
            } catch (ArgumentNullException) {
            }

            try {
                headers.Add("accept", "audio");
                Assert.Fail("#2c");
            } catch (FormatException) {
            }

            try {
                headers.AddWithoutValidation("Allow", "");
                Assert.Fail("#3");
            } catch (InvalidOperationException) {
            }

            try {
                headers.AddWithoutValidation(null, "");
                Assert.Fail("#4");
            } catch (ArgumentException) {
            }

            try {
                headers.Contains(null);
                Assert.Fail("#5");
            } catch (ArgumentException) {
            }

            try {
                headers.GetValues(null);
                Assert.Fail("#6a");
            } catch (ArgumentException) {
            }

            try {
                headers.GetValues("bbbb");
                Assert.Fail("#6b");
            } catch (InvalidOperationException) {
            }

            try {
                headers.Add("from", new[] { "*****@*****.**", "*****@*****.**" });
                Assert.Fail("#7a");
            } catch (FormatException) {
            }

            headers.AddWithoutValidation("from", "*****@*****.**");
            try {
                headers.Add("from", "*****@*****.**");
                Assert.Fail("#7b");
            } catch (FormatException) {
            }
        }
Exemplo n.º 3
0
        public void Header_BaseImplementation()
        {
            HttpRequestMessage message = new HttpRequestMessage();
            HttpRequestHeaders headers = message.Headers;

            headers.Add("a", "a-value");
            headers.Add("b", new List <string> {
                "v1", "v2"
            });
            headers.Add("c", null as string);
            headers.Add("d", new string[0]);

            headers.AddWithoutValidation("accept", "audio");

            Assert.IsFalse(headers.Contains("nn"), "#1a");
            Assert.IsTrue(headers.Contains("b"), "#1b");

            var values = headers.GetValues("b").ToList();

            Assert.AreEqual("v1", values[0], "#2a");
            Assert.AreEqual("v2", values[1], "#2b");

            Assert.IsFalse(headers.Remove("p"), "#3a");
            Assert.IsTrue(headers.Remove("b"), "#3b");
            Assert.IsFalse(headers.Contains("b"), "#3b-c");

            IEnumerable <string> values2;

            Assert.IsTrue(headers.TryGetValues("c", out values2));
            values = values2.ToList();
            Assert.AreEqual("", values[0], "#4a");

            int counter = 0;

            foreach (var i in headers)
            {
                ++counter;
            }

            Assert.AreEqual(3, counter, "#5");

            headers.Clear();

            headers.Accept.Add(new MediaTypeWithQualityHeaderValue("audio/x"));
            headers.AddWithoutValidation("accept", "audio");

            values = headers.GetValues("accept").ToList();
            Assert.AreEqual(2, values.Count, "#6");
            Assert.AreEqual("audio/x", values[0], "#6a");
            Assert.AreEqual("audio", values[1], "#6b");
            Assert.AreEqual(1, headers.Accept.Count, "#6c");

            headers.Clear();

            headers.AddWithoutValidation("from", new[] { "*****@*****.**", "*****@*****.**" });
            values = headers.GetValues("from").ToList();

            Assert.AreEqual(2, values.Count, "#7");
            Assert.AreEqual("*****@*****.**", values[0], "#7a");
            Assert.AreEqual("*****@*****.**", values[1], "#7b");
            Assert.AreEqual("*****@*****.**", headers.From, "#7c");

            headers.Clear();

            headers.AddWithoutValidation("Date", "wrong date");
            var value = headers.Date;

            Assert.IsNull(headers.Date, "#8");
        }