Example #1
0
        public void Accept()
        {
            ConcreteHttpWebRequest hwr = new ConcreteHttpWebRequest();

            Assert.IsNull(hwr.Accept, "Accept-get");
            Assert.IsNull(hwr.Headers [HttpRequestHeader.Accept], "Headers[HttpRequestHeader.Accept]-get");
            Assert.IsNull(hwr.Headers ["Accept"], "Headers['Accept']-get");
            Assert.AreEqual(0, hwr.Headers.Count, "Count-a");

            // Empty is accepted (stays null) in SL2 and SL4 (was throwing an ArgumentException in SL3)
            hwr.Accept = String.Empty;
            // still null
            Assert.IsNull(hwr.Accept, "Accept-set-null");
            Assert.IsNull(hwr.Headers [HttpRequestHeader.Accept], "Headers[HttpRequestHeader.Accept]-set-null");
            Assert.IsNull(hwr.Headers ["Accept"], "Headers['Accept']-set-null");
            Assert.AreEqual(0, hwr.Headers.Count, "Count-b");

            hwr.Accept = "a";
            Assert.AreEqual("a", hwr.Accept, "Accept-set");
            Assert.AreEqual("a", hwr.Headers [HttpRequestHeader.Accept], "Headers[HttpRequestHeader.Accept]-set");
            Assert.AreEqual("a", hwr.Headers ["Accept"], "Headers['Accept']-set");
            Assert.AreEqual(1, hwr.Headers.Count, "Count-c");

            hwr.Accept = null;
            Assert.IsNull(hwr.Accept, "Accept-reset-null");
        }
Example #2
0
        public void ContentType()
        {
            ConcreteHttpWebRequest hwr = new ConcreteHttpWebRequest();

            Assert.IsNull(hwr.ContentType, "ContentType-get");
            Assert.IsNull(hwr.Headers [HttpRequestHeader.ContentType], "Headers[HttpRequestHeader.ContentType]-get");
            Assert.IsNull(hwr.Headers ["Content-Type"], "Headers['Content-Type']-get");
            Assert.AreEqual(0, hwr.Headers.Count, "Count-a");

            // Empty is accepted (stays null) in SL2 and SL4 (was throwing an ArgumentException in SL3)
            hwr.ContentType = String.Empty;
            // still null
            Assert.IsNull(hwr.ContentType, "ContentType-set-null");
            Assert.IsNull(hwr.Headers [HttpRequestHeader.ContentType], "Headers[HttpRequestHeader.ContentType]-set-null");
            Assert.IsNull(hwr.Headers ["Content-Type"], "Headers['Content-Type']-set-null");
            Assert.AreEqual(0, hwr.Headers.Count, "Count-b");

            hwr.ContentType = "a";
            Assert.AreEqual("a", hwr.ContentType, "ContentType-set");
            Assert.AreEqual("a", hwr.Headers [HttpRequestHeader.ContentType], "Headers[HttpRequestHeader.ContentType]-set");
            Assert.AreEqual("a", hwr.Headers ["Content-Type"], "Headers['Content-Type']-set");
            Assert.AreEqual(1, hwr.Headers.Count, "Count-c");

            hwr.ContentType = null;
            Assert.IsNull(hwr.ContentType, "ContentType-reset-null");
        }
Example #3
0
        public void Headers_Validation()
        {
            // a WebHeaderCollection can contain any header
            WebHeaderCollection whc = new WebHeaderCollection();

            whc [HttpRequestHeader.Allow] = "yup";

            ConcreteHttpWebRequest wr = new ConcreteHttpWebRequest();
            WebHeaderCollection    c2 = wr.Headers;

            c2 [HttpRequestHeader.CacheControl] = "often";
            Assert.Throws <ArgumentException> (delegate {
                wr.Headers = whc;
            }, "collection with bad header");
            Assert.AreEqual(1, c2.Count, "Count");
            Assert.AreEqual("often", wr.Headers [HttpRequestHeader.CacheControl], "CacheControl");

            // this is NOT a field assignation but a copy of the data
            Assert.IsFalse(Object.ReferenceEquals(whc, wr.Headers), "Assigned?");
            whc [HttpRequestHeader.KeepAlive] = "sure";

            Assert.IsTrue(Object.ReferenceEquals(c2, wr.Headers), "NotAssigned?");
            Assert.Throws <ArgumentException> (delegate {
                c2 [HttpRequestHeader.KeepAlive] = "sure";
            }, "KeepAlive");
        }
Example #4
0
        public void Defaults()
        {
            ConcreteHttpWebRequest hwr = new ConcreteHttpWebRequest();

            Assert.Throws <NotImplementedException> (delegate {
                hwr.Abort();
            }, "Abort");

            Assert.Throws <NotImplementedException> (delegate {
                Assert.IsFalse(hwr.AllowReadStreamBuffering);
            }, "AllowReadStreamBuffering-get");
            Assert.Throws <NotImplementedException> (delegate {
                hwr.AllowReadStreamBuffering = true;
            }, "AllowReadStreamBuffering-set");

            // new in SL4
            Assert.Throws <NotImplementedException> (delegate {
                Assert.IsFalse(hwr.AllowWriteStreamBuffering);
            }, "AllowWriteStreamBuffering-get");
            Assert.Throws <NotImplementedException> (delegate {
                hwr.AllowWriteStreamBuffering = true;
            }, "AllowWriteStreamBuffering-set");

            Assert.Throws <NotImplementedException> (delegate {
                hwr.BeginGetRequestStream(null, null);
            }, "BeginGetRequestStream");

            Assert.Throws <NotImplementedException> (delegate {
                hwr.BeginGetResponse(null, null);
            }, "BeginGetResponse");

            Assert.Throws <NotImplementedException> (delegate {
                hwr.EndGetRequestStream(null);
            }, "EndGetRequestStream");

            Assert.Throws <NotImplementedException> (delegate {
                hwr.EndGetResponse(null);
            }, "EndGetResponse");

            Assert.Throws <NotImplementedException> (delegate {
                Assert.IsFalse(hwr.HaveResponse);
            }, "HaveResponse");

            Assert.AreEqual(0, hwr.Headers.Count, "Headers-get");
            Assert.Throws <NullReferenceException> (delegate {
                hwr.Headers = null;
            }, "Headers-set-null");
            hwr.Headers = new WebHeaderCollection();
            Assert.IsNotNull(hwr.Headers, "Headers-set");

            Assert.Throws <NotImplementedException> (delegate {
                Assert.IsNull(hwr.Method);
            }, "Method-get");
            Assert.Throws <NotImplementedException> (delegate {
                hwr.Method = null;
            }, "Method-set");

            Assert.Throws <NotImplementedException> (delegate {
                Assert.IsNull(hwr.RequestUri);
            }, "RequestUri-get");

            // new in SL3
            Assert.Throws <NotImplementedException> (delegate {
                Assert.IsNull(hwr.CookieContainer);
            }, "CookieContainer-get");
            Assert.Throws <NotImplementedException> (delegate {
                hwr.CookieContainer = null;
            }, "CookieContainer-set");

            // new in SL4
            Assert.IsFalse(hwr.SupportsCookieContainer, "SupportsCookieContainer");

            Assert.IsNull(hwr.CreatorInstance, "CreatorInstance");
        }
Example #5
0
		public void Defaults ()
		{
			ConcreteHttpWebRequest hwr = new ConcreteHttpWebRequest ();

			Assert.Throws<NotImplementedException> (delegate {
				hwr.Abort ();
			}, "Abort");

			Assert.Throws<NotImplementedException> (delegate {
				Assert.IsFalse (hwr.AllowReadStreamBuffering);
			}, "AllowReadStreamBuffering-get");
			Assert.Throws<NotImplementedException> (delegate {
				hwr.AllowReadStreamBuffering = true;
			}, "AllowReadStreamBuffering-set");

			// new in SL4
			Assert.Throws<NotImplementedException> (delegate {
				Assert.IsFalse (hwr.AllowWriteStreamBuffering);
			}, "AllowWriteStreamBuffering-get");
			Assert.Throws<NotImplementedException> (delegate {
				hwr.AllowWriteStreamBuffering = true;
			}, "AllowWriteStreamBuffering-set");

			Assert.Throws<NotImplementedException> (delegate {
				hwr.BeginGetRequestStream (null, null);
			}, "BeginGetRequestStream");

			Assert.Throws<NotImplementedException> (delegate {
				hwr.BeginGetResponse (null, null);
			}, "BeginGetResponse");

			Assert.Throws<NotImplementedException> (delegate {
				hwr.EndGetRequestStream (null);
			}, "EndGetRequestStream");

			Assert.Throws<NotImplementedException> (delegate {
				hwr.EndGetResponse (null);
			}, "EndGetResponse");

			Assert.Throws<NotImplementedException> (delegate {
				Assert.IsFalse (hwr.HaveResponse);
			}, "HaveResponse");

			Assert.AreEqual (0, hwr.Headers.Count, "Headers-get");
			Assert.Throws<NullReferenceException> (delegate {
				hwr.Headers = null;
			}, "Headers-set-null");
			hwr.Headers = new WebHeaderCollection ();
			Assert.IsNotNull (hwr.Headers, "Headers-set");

			Assert.Throws<NotImplementedException> (delegate {
				Assert.IsNull (hwr.Method);
			}, "Method-get");
			Assert.Throws<NotImplementedException> (delegate {
				hwr.Method = null;
			}, "Method-set");

			Assert.Throws<NotImplementedException> (delegate {
				Assert.IsNull (hwr.RequestUri);
			}, "RequestUri-get");

			// new in SL3
			Assert.Throws<NotImplementedException> (delegate {
				Assert.IsNull (hwr.CookieContainer);
			}, "CookieContainer-get");
			Assert.Throws<NotImplementedException> (delegate {
				hwr.CookieContainer = null;
			}, "CookieContainer-set");

			// new in SL4
			Assert.IsFalse (hwr.SupportsCookieContainer, "SupportsCookieContainer");

			Assert.IsNull (hwr.CreatorInstance, "CreatorInstance");
		}
Example #6
0
		public void ContentType ()
		{
			ConcreteHttpWebRequest hwr = new ConcreteHttpWebRequest ();

			Assert.IsNull (hwr.ContentType, "ContentType-get");
			Assert.IsNull (hwr.Headers [HttpRequestHeader.ContentType], "Headers[HttpRequestHeader.ContentType]-get");
			Assert.IsNull (hwr.Headers ["Content-Type"], "Headers['Content-Type']-get");
			Assert.AreEqual (0, hwr.Headers.Count, "Count-a");

			// Empty is accepted (stays null) in SL2 and SL4 (was throwing an ArgumentException in SL3)
			hwr.ContentType = String.Empty;
			// still null
			Assert.IsNull (hwr.ContentType, "ContentType-set-null");
			Assert.IsNull (hwr.Headers [HttpRequestHeader.ContentType], "Headers[HttpRequestHeader.ContentType]-set-null");
			Assert.IsNull (hwr.Headers ["Content-Type"], "Headers['Content-Type']-set-null");
			Assert.AreEqual (0, hwr.Headers.Count, "Count-b");

			hwr.ContentType = "a";
			Assert.AreEqual ("a", hwr.ContentType, "ContentType-set");
			Assert.AreEqual ("a", hwr.Headers [HttpRequestHeader.ContentType], "Headers[HttpRequestHeader.ContentType]-set");
			Assert.AreEqual ("a", hwr.Headers ["Content-Type"], "Headers['Content-Type']-set");
			Assert.AreEqual (1, hwr.Headers.Count, "Count-c");

			hwr.ContentType = null;
			Assert.IsNull (hwr.ContentType, "ContentType-reset-null");
		}
Example #7
0
		public void Accept ()
		{
			ConcreteHttpWebRequest hwr = new ConcreteHttpWebRequest ();

			Assert.IsNull (hwr.Accept, "Accept-get");
			Assert.IsNull (hwr.Headers [HttpRequestHeader.Accept], "Headers[HttpRequestHeader.Accept]-get");
			Assert.IsNull (hwr.Headers ["Accept"], "Headers['Accept']-get");
			Assert.AreEqual (0, hwr.Headers.Count, "Count-a");

			// Empty is accepted (stays null) in SL2 and SL4 (was throwing an ArgumentException in SL3)
			hwr.Accept = String.Empty;
			// still null
			Assert.IsNull (hwr.Accept, "Accept-set-null");
			Assert.IsNull (hwr.Headers [HttpRequestHeader.Accept], "Headers[HttpRequestHeader.Accept]-set-null");
			Assert.IsNull (hwr.Headers ["Accept"], "Headers['Accept']-set-null");
			Assert.AreEqual (0, hwr.Headers.Count, "Count-b");

			hwr.Accept = "a";
			Assert.AreEqual ("a", hwr.Accept, "Accept-set");
			Assert.AreEqual ("a", hwr.Headers [HttpRequestHeader.Accept], "Headers[HttpRequestHeader.Accept]-set");
			Assert.AreEqual ("a", hwr.Headers ["Accept"], "Headers['Accept']-set");
			Assert.AreEqual (1, hwr.Headers.Count, "Count-c");

			hwr.Accept = null;
			Assert.IsNull (hwr.Accept, "Accept-reset-null");
		}
Example #8
0
		public void Headers_Validation ()
		{
			// a WebHeaderCollection can contain any header
			WebHeaderCollection whc = new WebHeaderCollection ();
			whc [HttpRequestHeader.Allow] = "yup";

			ConcreteHttpWebRequest wr = new ConcreteHttpWebRequest ();
			WebHeaderCollection c2 = wr.Headers;
			c2 [HttpRequestHeader.CacheControl] = "often";
			Assert.Throws<ArgumentException> (delegate {
				wr.Headers = whc;
			}, "collection with bad header");
			Assert.AreEqual (1, c2.Count, "Count");
			Assert.AreEqual ("often", wr.Headers [HttpRequestHeader.CacheControl], "CacheControl");

			// this is NOT a field assignation but a copy of the data
			Assert.IsFalse (Object.ReferenceEquals (whc, wr.Headers), "Assigned?");
			whc [HttpRequestHeader.KeepAlive] = "sure";

			Assert.IsTrue (Object.ReferenceEquals (c2, wr.Headers), "NotAssigned?");
			Assert.Throws<ArgumentException> (delegate {
				c2 [HttpRequestHeader.KeepAlive] = "sure";
			}, "KeepAlive");
		}