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"); }
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"); }
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"); }
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"); }
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"); }
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"); }
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"); }
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"); }