2 // WebRequestTest.cs - NUnit Test Cases for System.Net.WebRequest
5 // Lawrence Pit (loz@cable.a2000.nl)
6 // Martin Willemoes Hansen (mwh@sysrq.dk)
8 // (C) 2003 Martin Willemoes Hansen
11 using NUnit
.Framework
;
14 using System
.Collections
;
15 using System
.Security
;
16 using System
.Security
.Permissions
;
18 namespace MonoTests
.System
.Net
22 public class WebRequestTest
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
);
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 () { }