Merge pull request #2400 from esdrubal/extrahead
[mono.git] / mcs / class / System / Test / System.Net / SocketPermissionTest.cs
index 5704aadebe5c923f4d38241a3ed5d8eee7d8995b..29f10e11a8cb624f28e9387a22ee17d440a77c9e 100644 (file)
-//\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