-//\r
-// SocketPermissionTest.cs - NUnit Test Cases for System.Net.SocketPermission\r
-//\r
-// Author:\r
-// Lawrence Pit (loz@cable.a2000.nl)\r
-//\r
-\r
-using NUnit.Framework;\r
-using System;\r
-using System.Net;\r
-using System.Collections;\r
-using System.Security;\r
-using System.Security.Permissions;\r
-\r
-namespace MonoTests.System.Net\r
-{\r
-\r
-public class SocketPermissionTest : TestCase\r
-{\r
- SocketPermission s1;\r
- SocketPermission s2;\r
- \r
- public SocketPermissionTest () :\r
- base ("[MonoTests.System.Net.SocketPermissionTest]") {}\r
-\r
- public SocketPermissionTest (string name) : base (name) {}\r
-\r
- protected override void SetUp () \r
- {\r
- s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "localhost", 8080);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "123", SocketPermission.AllPorts);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "www.ximian.com", SocketPermission.AllPorts);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "120.4.3.2", SocketPermission.AllPorts);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.google.com", 80);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "1.*.10.*.99", SocketPermission.AllPorts);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", SocketPermission.AllPorts);\r
- //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "0.0.0.0", SocketPermission.AllPorts);\r
- s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);\r
-\r
- s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "localhost", 8080);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "123", 8080);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.google.com", SocketPermission.AllPorts);\r
- s2.AddPermission(NetworkAccess.Accept, TransportType.All, "213.*.*.*", SocketPermission.AllPorts);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", 9090);\r
- s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "216.239.*.*", SocketPermission.AllPorts);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", SocketPermission.AllPorts);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "120.4.3.2", 80);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "196.*.*.*", SocketPermission.AllPorts);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "1.*.*.*.99", SocketPermission.AllPorts);\r
- s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);\r
- //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.7", SocketPermission.AllPorts); \r
- }\r
-\r
- protected override void TearDown () {}\r
-\r
- public static ITest Suite\r
- {\r
- get {\r
- return new TestSuite (typeof (SocketPermissionTest));\r
- }\r
- }\r
- \r
- public void TestIsSubsetOf ()\r
- {\r
- s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);\r
- s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);\r
- s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);\r
- s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);\r
- \r
- Assert ("#1", !s1.IsSubsetOf (s2));\r
- Assert ("#2", !s2.IsSubsetOf (s1));\r
-\r
- s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);\r
- s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", 9090);\r
- s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);\r
- s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);\r
- \r
- Assert ("#3: bug in MS.Net", s1.IsSubsetOf (s2));\r
- Assert ("#4", !s2.IsSubsetOf (s1));\r
- \r
- s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.*.*", 80);\r
- s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.*", 80);\r
- Assert ("#5", !s1.IsSubsetOf (s2));\r
- Assert ("#6", !s2.IsSubsetOf (s1));\r
-\r
- s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);\r
- s1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "10.11.*.*", 9090);\r
- s2 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);\r
- s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);\r
- Assert ("#7", !s1.IsSubsetOf (s2));\r
- Assert ("#8", s2.IsSubsetOf (s1));\r
- }\r
- \r
- public void TestIntersect ()\r
- {\r
- }\r
- \r
- public void TestUnion ()\r
- {\r
- }\r
- \r
- public void TestXml ()\r
- {\r
- SecurityElement elem = s2.ToXml ();\r
- s1.FromXml (elem);\r
- Assert ("#1", s2.IsSubsetOf (s1) && s1.IsSubsetOf (s2));\r
- }\r
-}\r
-\r
-}\r
-\r
+//
+// SocketPermissionTest.cs - NUnit Test Cases for System.Net.SocketPermission
+//
+// Authors:
+// Lawrence Pit (loz@cable.a2000.nl)
+// Martin Willemoes Hansen (mwh@sysrq.dk)
+//
+// (C) 2003 Martin Willemoes Hansen
+//
+
+#if !MOBILE
+
+using NUnit.Framework;
+using System;
+using System.Net;
+using System.Collections;
+using System.Security;
+using System.Security.Permissions;
+
+namespace MonoTests.System.Net
+{
+
+[TestFixture]
+public class SocketPermissionTest
+{
+ SocketPermission s1;
+ SocketPermission s2;
+
+ [SetUp]
+ public void GetReady ()
+ {
+ s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "localhost", 8080);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "123", SocketPermission.AllPorts);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "www.ximian.com", SocketPermission.AllPorts);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "120.4.3.2", SocketPermission.AllPorts);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.google.com", 80);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "1.*.10.*.99", SocketPermission.AllPorts);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", SocketPermission.AllPorts);
+ //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "0.0.0.0", SocketPermission.AllPorts);
+ s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);
+
+ s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "localhost", 8080);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "123", 8080);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.google.com", SocketPermission.AllPorts);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.All, "213.*.*.*", SocketPermission.AllPorts);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", 9090);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "216.239.*.*", SocketPermission.AllPorts);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", SocketPermission.AllPorts);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "120.4.3.2", 80);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "196.*.*.*", SocketPermission.AllPorts);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "1.*.*.*.99", SocketPermission.AllPorts);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
+ //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.7", SocketPermission.AllPorts);
+ }
+
+ [Test]
+ public void IsSubsetOf ()
+ {
+ s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
+ s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);
+ s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
+
+ Assert.IsFalse (s1.IsSubsetOf (s2), "#1");
+ Assert.IsFalse (s2.IsSubsetOf (s1), "#2");
+
+ s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
+ s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", 9090);
+ s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
+
+ Assert.IsFalse (s2.IsSubsetOf (s1), "#4");
+
+ s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.*.*", 80);
+ s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.*", 80);
+ Assert.IsTrue (s1.IsSubsetOf (s2), "#5");
+ Assert.IsFalse (s2.IsSubsetOf (s1), "#6");
+
+ s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
+ s1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "10.11.*.*", 9090);
+ s2 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);
+ Assert.IsTrue (s1.IsSubsetOf (s2), "#7");
+ Assert.IsFalse (s2.IsSubsetOf (s1), "#8");
+ }
+
+ [Test]
+ [Category("NotDotNet")]
+ public void IsSubsetOf2 ()
+ {
+ s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
+ s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", 9090);
+ s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
+ s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
+
+ Assert.IsTrue (s1.IsSubsetOf (s2), "#3: bug in MS.Net");
+ }
+
+ [Test]
+ public void Intersect ()
+ {
+ }
+
+ [Test]
+ public void Union ()
+ {
+ }
+
+ [Test]
+ public void Xml ()
+ {
+ SecurityElement elem = s2.ToXml ();
+ s1.FromXml (elem);
+ Assert.IsTrue (s2.IsSubsetOf (s1) && s1.IsSubsetOf (s2), "#1");
+ }
+}
+
+}
+
+#endif