2 // XmlSecureResolverTests.cs
5 // Atsushi Enomoto <atsushi@ximian.com>
6 // Sebastien Pouliot <sebastien@ximian.com>
8 // Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
12 using System.Collections;
14 using System.Reflection;
15 using System.Security;
16 using System.Security.Policy;
17 using System.Security.Permissions;
19 using NUnit.Framework;
21 namespace MonoTestsXml
24 public class XmlSecureResolverTests
27 public void EmptyCtor ()
29 new XmlSecureResolver (null, (Evidence) null);
33 [ExpectedException (typeof (NullReferenceException))]
34 public void EmptyCtorCannotResolve ()
36 XmlSecureResolver r = new XmlSecureResolver (null, (Evidence)null);
37 r.ResolveUri (null, "http://www.go-mono.com");
41 public void EmptyEvidenceWontMatter ()
43 XmlSecureResolver r = new XmlSecureResolver (new XmlUrlResolver (), (Evidence)null);
44 Uri uri = r.ResolveUri (null, "http://www.go-mono.com");
45 Assert.IsNotNull (uri);
49 public void CreateEvidenceForUrl_Basic ()
51 Evidence e = XmlSecureResolver.CreateEvidenceForUrl (null);
52 Assert.AreEqual (0, e.Count, "null");
54 e = XmlSecureResolver.CreateEvidenceForUrl (String.Empty);
55 Assert.AreEqual (0, e.Count, "String.Empty");
59 public void CreateEvidenceForUrl_Local ()
62 Evidence e = XmlSecureResolver.CreateEvidenceForUrl (Assembly.GetExecutingAssembly ().Location);
63 Assert.AreEqual (2, e.Count, "Assembly.GetExecutingAssembly ().Location");
66 IEnumerator en = e.GetHostEnumerator ();
67 while (en.MoveNext ()) {
68 if (en.Current is Url)
70 else if (en.Current is Zone)
73 Assert.IsTrue (url, "Url-1");
74 Assert.IsTrue (zone, "Zone-1");
77 e = XmlSecureResolver.CreateEvidenceForUrl (Assembly.GetExecutingAssembly ().CodeBase);
78 Assert.AreEqual (2, e.Count, "Assembly.GetExecutingAssembly ().CodeBase");
81 en = e.GetHostEnumerator ();
82 while (en.MoveNext ()) {
83 if (en.Current is Url)
85 else if (en.Current is Zone)
88 Assert.IsTrue (url, "Url-1");
89 Assert.IsTrue (zone, "Zone-1");
93 public void CreateEvidenceForUrl_Http ()
96 Evidence e = XmlSecureResolver.CreateEvidenceForUrl ("http://www.go-mono.com");
97 Assert.AreEqual (3, e.Count, "http://www.go-mono.com");
101 IEnumerator en = e.GetHostEnumerator ();
102 while (en.MoveNext ()) {
103 if (en.Current is Url)
105 else if (en.Current is Zone)
107 else if (en.Current is Site)
110 Assert.IsTrue (url, "Url-2");
111 Assert.IsTrue (zone, "Zone-2");
112 Assert.IsTrue (site, "Site-2");