2 // SocketPermissionTest.cs - NUnit Test Cases for System.Net.SocketPermission
\r
5 // Lawrence Pit (loz@cable.a2000.nl)
\r
6 // Martin Willemoes Hansen (mwh@sysrq.dk)
\r
8 // (C) 2003 Martin Willemoes Hansen
\r
11 using NUnit.Framework;
\r
14 using System.Collections;
\r
15 using System.Security;
\r
16 using System.Security.Permissions;
\r
18 namespace MonoTests.System.Net
\r
22 public class SocketPermissionTest
\r
24 SocketPermission s1;
\r
25 SocketPermission s2;
\r
28 public void GetReady ()
\r
30 s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
\r
31 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "localhost", 8080);
\r
32 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "123", SocketPermission.AllPorts);
\r
33 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "www.ximian.com", SocketPermission.AllPorts);
\r
34 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "120.4.3.2", SocketPermission.AllPorts);
\r
35 //s1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.google.com", 80);
\r
36 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "1.*.10.*.99", SocketPermission.AllPorts);
\r
37 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", SocketPermission.AllPorts);
\r
38 //s1.AddPermission(NetworkAccess.Accept, TransportType.All, "0.0.0.0", SocketPermission.AllPorts);
\r
39 s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);
\r
41 s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
\r
42 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "localhost", 8080);
\r
43 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "123", 8080);
\r
44 //s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.google.com", SocketPermission.AllPorts);
\r
45 s2.AddPermission(NetworkAccess.Accept, TransportType.All, "213.*.*.*", SocketPermission.AllPorts);
\r
46 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", 9090);
\r
47 s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "216.239.*.*", SocketPermission.AllPorts);
\r
48 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "128.0.0.1", SocketPermission.AllPorts);
\r
49 //s2.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "120.4.3.2", 80);
\r
50 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "196.*.*.*", SocketPermission.AllPorts);
\r
51 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "1.*.*.*.99", SocketPermission.AllPorts);
\r
52 s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
\r
53 //s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.7", SocketPermission.AllPorts);
\r
57 public void IsSubsetOf ()
\r
59 s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
\r
60 s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);
\r
61 s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
\r
62 s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
\r
64 Assertion.Assert ("#1", !s1.IsSubsetOf (s2));
\r
65 Assertion.Assert ("#2", !s2.IsSubsetOf (s1));
\r
67 s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
\r
68 s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", 9090);
\r
69 s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
\r
70 s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
\r
72 Assertion.Assert ("#4", !s2.IsSubsetOf (s1));
\r
74 s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.*.*", 80);
\r
75 s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.*", 80);
\r
76 Assertion.Assert ("#5", s1.IsSubsetOf (s2));
\r
77 Assertion.Assert ("#6", !s2.IsSubsetOf (s1));
\r
79 s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
\r
80 s1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "10.11.*.*", 9090);
\r
81 s2 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
\r
82 s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", SocketPermission.AllPorts);
\r
83 Assertion.Assert ("#7", s1.IsSubsetOf (s2));
\r
84 Assertion.Assert ("#8", !s2.IsSubsetOf (s1));
\r
88 [Category("NotDotNet")]
\r
89 public void IsSubsetOf2 ()
\r
91 s1 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "12.13.14.15", 80);
\r
92 s1.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.4.*", 9090);
\r
93 s2 = new SocketPermission(NetworkAccess.Connect, TransportType.All, "12.13.14.15", 80);
\r
94 s2.AddPermission(NetworkAccess.Accept, TransportType.All, "10.11.*.*", 9090);
\r
96 Assertion.Assert ("#3: bug in MS.Net", s1.IsSubsetOf (s2));
\r
100 public void Intersect ()
\r
105 public void Union ()
\r
112 SecurityElement elem = s2.ToXml ();
\r
114 Assertion.Assert ("#1", s2.IsSubsetOf (s1) && s1.IsSubsetOf (s2));
\r