WebRequestTest.cs 2.9 KB

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