[TestFixture]
public class HttpClientHandlerTest
{
+ class Proxy : IWebProxy
+ {
+ public ICredentials Credentials {
+ get {
+ throw new NotImplementedException ();
+ }
+ set {
+ throw new NotImplementedException ();
+ }
+ }
+
+ public Uri GetProxy (Uri destination)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public bool IsBypassed (Uri host)
+ {
+ throw new NotImplementedException ();
+ }
+ }
+
[Test]
+#if FEATURE_NO_BSD_SOCKETS
+ [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
public void Properties_Defaults ()
{
var h = new HttpClientHandler ();
Assert.AreEqual (4096, h.CookieContainer.MaxCookieSize, "#3b");
Assert.AreEqual (null, h.Credentials, "#4");
Assert.AreEqual (50, h.MaxAutomaticRedirections, "#5");
- Assert.AreEqual (0x10000, h.MaxRequestContentBufferSize, "#6");
+ Assert.AreEqual (int.MaxValue, h.MaxRequestContentBufferSize, "#6");
Assert.IsFalse (h.PreAuthenticate, "#7");
Assert.IsNull (h.Proxy, "#8");
Assert.IsTrue (h.SupportsAutomaticDecompression, "#9");
Assert.IsTrue (h.UseCookies, "#12");
Assert.IsFalse (h.UseDefaultCredentials, "#13");
Assert.IsTrue (h.UseProxy, "#14");
+ Assert.AreEqual (ClientCertificateOption.Manual, h.ClientCertificateOptions, "#15");
}
[Test]
+#if FEATURE_NO_BSD_SOCKETS
+ [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
public void Properties_Invalid ()
{
var h = new HttpClientHandler ();
} catch (ArgumentOutOfRangeException) {
}
+ h.UseProxy = false;
+ try {
+ h.Proxy = new Proxy ();
+ Assert.Fail ("#3");
+ } catch (InvalidOperationException) {
+ }
+ }
+
+ [Test]
+#if FEATURE_NO_BSD_SOCKETS
+ [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
+ public void Properties_AfterClientCreation ()
+ {
+ var h = new HttpClientHandler ();
+ h.AllowAutoRedirect = true;
+
+ // We may modify properties after creating the HttpClient.
+ using (var c = new HttpClient (h, true)) {
+ h.AllowAutoRedirect = false;
+ }
+ }
+
+ [Test]
+#if FEATURE_NO_BSD_SOCKETS
+ [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
+ public void Disposed ()
+ {
+ var h = new HttpClientHandler ();
+ h.Dispose ();
+ var c = new HttpClient (h);
+ try {
+ c.GetAsync ("http://google.com").Wait ();
+ Assert.Fail ("#1");
+ } catch (AggregateException e) {
+ Assert.IsTrue (e.InnerException is ObjectDisposedException, "#2");
+ }
}
}
}