+2008-04-06 Geoff Norton <gnorton@novell.com>
+
+ * HttpListener2Test.cs:
+ * HttpListenerRequestTest.cs: HttpListener Basic authenticationt test
+ from Maciej Paszta <paszczi@go2.pl>
+
2008-02-09 Daniel Nauck <dna@mono-project.de>
* CookieContainerTest.cs: added some not working Add/Expired tests
return listener;
}
+ public static HttpListener CreateAndStartListener (string prefix, AuthenticationSchemes authSchemes)
+ {
+ HttpListener listener = new HttpListener ();
+ listener.AuthenticationSchemes = authSchemes;
+ listener.Prefixes.Add (prefix);
+ listener.Start ();
+ return listener;
+ }
+
public static MyNetworkStream CreateNS (int port)
{
Socket sock = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
HttpListener2Test.Send (ctx.Response.OutputStream, "%%%OK%%%");
listener.Close ();
}
+
+ [Test]
+ public void HttpBasicAuthScheme()
+ {
+ HttpListener listener = HttpListener2Test.CreateAndStartListener("http://*:9000/authTest/", AuthenticationSchemes.Basic);
+ //dummy-wait for context
+ listener.BeginGetContext(null, listener);
+ NetworkStream ns = HttpListener2Test.CreateNS(9000);
+ HttpListener2Test.Send(ns, "GET /authTest/ HTTP/1.0\r\n\r\n");
+ String response = HttpListener2Test.Receive(ns, 512);
+ Assert.IsTrue(response.Contains("WWW-Authenticate: Basic realm"), "#A");
+ ns.Close();
+ listener.Close();
+ }
}
}