**** Merged from MCS ****
[mono-project.git] / mcs / class / System / Test / System.Net / WebRequestTest.cs
blob8a337cdef4a5308ad31c97ecc3d6ec720b236a05
1 //
2 // WebRequestTest.cs - NUnit Test Cases for System.Net.WebRequest
3 //
4 // Authors:
5 // Lawrence Pit (loz@cable.a2000.nl)
6 // Martin Willemoes Hansen (mwh@sysrq.dk)
7 //
8 // (C) 2003 Martin Willemoes Hansen
9 //
11 using NUnit.Framework;
12 using System;
13 using System.Net;
14 using System.Collections;
15 using System.Security;
16 using System.Security.Permissions;
18 namespace MonoTests.System.Net
21 [TestFixture]
22 public class WebRequestTest
24 [Test]
25 public void All ()
27 WebRequest req = WebRequest.Create ("http://www.contoso.com");
28 Assertion.Assert ("#1", req is HttpWebRequest);
29 req = WebRequest.Create ("https://www.contoso.com");
30 Assertion.Assert ("#2", req is HttpWebRequest);
31 req = WebRequest.Create ("file://www.contoso.com");
32 Assertion.Assert ("#3", req is FileWebRequest);
34 WebRequest.RegisterPrefix ("http://www.contoso.com", new TestWebRequestCreator ());
35 bool ret = WebRequest.RegisterPrefix ("http://WWW.contoso.com", new TestWebRequestCreator ());
36 Assertion.AssertEquals ("#4a", false, ret);
37 ret = WebRequest.RegisterPrefix ("http://www.contoso.com/foo/bar", new TestWebRequestCreator2 ());
38 Assertion.AssertEquals ("#4b", true, ret);
39 ret = WebRequest.RegisterPrefix ("http://www", new TestWebRequestCreator3 ());
40 Assertion.AssertEquals ("#4c", true, ret);
42 req = WebRequest.Create ("http://WWW.contoso.com");
43 Assertion.Assert ("#5", req is TestWebRequest);
45 req = WebRequest.Create ("http://WWW.contoso.com/foo/bar/index.html");
46 Assertion.Assert ("#6", req is TestWebRequest2);
48 req = WebRequest.Create ("http://WWW.x.com");
49 Assertion.Assert ("#7", req is TestWebRequest3);
51 req = WebRequest.Create ("http://WWW.c");
52 Assertion.Assert ("#8", req is TestWebRequest3);
54 req = WebRequest.CreateDefault (new Uri("http://WWW.contoso.com"));
55 Assertion.Assert ("#9", req is HttpWebRequest);
57 try {
58 req = WebRequest.Create ("tcp://www.contoso.com");
59 Assertion.Fail ("#10 should have failed with NotSupportedException");
60 } catch (NotSupportedException) {
64 internal class TestWebRequestCreator : IWebRequestCreate
66 internal TestWebRequestCreator () { }
68 public WebRequest Create (Uri uri)
70 return new TestWebRequest ();
74 internal class TestWebRequest : WebRequest
76 internal TestWebRequest () { }
79 internal class TestWebRequestCreator2 : IWebRequestCreate
81 internal TestWebRequestCreator2 () { }
83 public WebRequest Create (Uri uri)
85 return new TestWebRequest2 ();
89 internal class TestWebRequest2 : WebRequest
91 internal TestWebRequest2 () { }
94 internal class TestWebRequestCreator3 : IWebRequestCreate
96 internal TestWebRequestCreator3 () { }
98 public WebRequest Create (Uri uri)
100 return new TestWebRequest3 ();
104 internal class TestWebRequest3 : WebRequest
106 internal TestWebRequest3 () { }