WebRequestTest.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. //
  2. // WebRequestTest.cs - NUnit Test Cases for System.Net.WebRequest
  3. //
  4. // Author:
  5. // Lawrence Pit ([email protected])
  6. //
  7. using NUnit.Framework;
  8. using System;
  9. using System.Net;
  10. using System.Collections;
  11. using System.Security;
  12. using System.Security.Permissions;
  13. namespace MonoTests.System.Net
  14. {
  15. public class WebRequestTest : TestCase
  16. {
  17. public WebRequestTest () :
  18. base ("[MonoTests.System.Net.WebRequestTest]") {}
  19. public WebRequestTest (string name) : base (name) {}
  20. protected override void SetUp () {}
  21. protected override void TearDown () {}
  22. public static ITest Suite
  23. {
  24. get {
  25. return new TestSuite (typeof (WebRequestTest));
  26. }
  27. }
  28. public void TestAll ()
  29. {
  30. WebRequest req = WebRequest.Create ("http://www.contoso.com");
  31. Assert ("#1", req is HttpWebRequest);
  32. req = WebRequest.Create ("https://www.contoso.com");
  33. Assert ("#2", req is HttpWebRequest);
  34. req = WebRequest.Create ("file://www.contoso.com");
  35. Assert ("#3", req is FileWebRequest);
  36. WebRequest.RegisterPrefix ("http://www.contoso.com", new TestWebRequestCreator ());
  37. bool ret = WebRequest.RegisterPrefix ("http://WWW.contoso.com", new TestWebRequestCreator ());
  38. AssertEquals ("#4a", false, ret);
  39. ret = WebRequest.RegisterPrefix ("http://www.contoso.com/foo/bar", new TestWebRequestCreator2 ());
  40. AssertEquals ("#4b", true, ret);
  41. ret = WebRequest.RegisterPrefix ("http://www", new TestWebRequestCreator3 ());
  42. AssertEquals ("#4c", true, ret);
  43. req = WebRequest.Create ("http://WWW.contoso.com");
  44. Assert ("#5", req is TestWebRequest);
  45. req = WebRequest.Create ("http://WWW.contoso.com/foo/bar/index.html");
  46. Assert ("#6", req is TestWebRequest2);
  47. req = WebRequest.Create ("http://WWW.x.com");
  48. Assert ("#7", req is TestWebRequest3);
  49. req = WebRequest.Create ("http://WWW.c");
  50. Assert ("#8", req is TestWebRequest3);
  51. req = WebRequest.CreateDefault (new Uri("http://WWW.contoso.com"));
  52. Assert ("#9", req is HttpWebRequest);
  53. try {
  54. req = WebRequest.Create ("tcp://www.contoso.com");
  55. Fail ("#10 should have failed with NotSupportedException");
  56. } catch (NotSupportedException) {
  57. }
  58. }
  59. internal class TestWebRequestCreator : IWebRequestCreate
  60. {
  61. internal TestWebRequestCreator () { }
  62. public WebRequest Create (Uri uri)
  63. {
  64. return new TestWebRequest ();
  65. }
  66. }
  67. internal class TestWebRequest : WebRequest
  68. {
  69. internal TestWebRequest () { }
  70. }
  71. internal class TestWebRequestCreator2 : IWebRequestCreate
  72. {
  73. internal TestWebRequestCreator2 () { }
  74. public WebRequest Create (Uri uri)
  75. {
  76. return new TestWebRequest2 ();
  77. }
  78. }
  79. internal class TestWebRequest2 : WebRequest
  80. {
  81. internal TestWebRequest2 () { }
  82. }
  83. internal class TestWebRequestCreator3 : IWebRequestCreate
  84. {
  85. internal TestWebRequestCreator3 () { }
  86. public WebRequest Create (Uri uri)
  87. {
  88. return new TestWebRequest3 ();
  89. }
  90. }
  91. internal class TestWebRequest3 : WebRequest
  92. {
  93. internal TestWebRequest3 () { }
  94. }
  95. }
  96. }