| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- //
- // XmlSecureResolverTests.cs
- //
- // Authors:
- // Atsushi Enomoto <[email protected]>
- // Sebastien Pouliot <[email protected]>
- //
- // Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
- //
- using System;
- using System.Collections;
- using System.IO;
- using System.Reflection;
- using System.Security;
- using System.Security.Policy;
- using System.Security.Permissions;
- using System.Xml;
- using NUnit.Framework;
- namespace MonoTestsXml
- {
- [TestFixture]
- public class XmlSecureResolverTests
- {
- [Test]
- public void EmptyCtor ()
- {
- new XmlSecureResolver (null, (Evidence) null);
- }
- [Test]
- [ExpectedException (typeof (NullReferenceException))]
- public void EmptyCtorCannotResolve ()
- {
- XmlSecureResolver r = new XmlSecureResolver (null, (Evidence)null);
- r.ResolveUri (null, "http://www.go-mono.com");
- }
- [Test]
- public void EmptyEvidenceWontMatter ()
- {
- XmlSecureResolver r = new XmlSecureResolver (new XmlUrlResolver (), (Evidence)null);
- Uri uri = r.ResolveUri (null, "http://www.go-mono.com");
- Assert.IsNotNull (uri);
- }
- [Test]
- public void CreateEvidenceForUrl_Basic ()
- {
- Evidence e = XmlSecureResolver.CreateEvidenceForUrl (null);
- Assert.AreEqual (0, e.Count, "null");
- e = XmlSecureResolver.CreateEvidenceForUrl (String.Empty);
- Assert.AreEqual (0, e.Count, "String.Empty");
- }
- [Test]
- public void CreateEvidenceForUrl_Local ()
- {
- // "normal" path
- Evidence e = XmlSecureResolver.CreateEvidenceForUrl (Assembly.GetExecutingAssembly ().Location);
- Assert.AreEqual (2, e.Count, "Assembly.GetExecutingAssembly ().Location");
- bool url = false;
- bool zone = false;
- IEnumerator en = e.GetHostEnumerator ();
- while (en.MoveNext ()) {
- if (en.Current is Url)
- url = true;
- else if (en.Current is Zone)
- zone = true;
- }
- Assert.IsTrue (url, "Url-1");
- Assert.IsTrue (zone, "Zone-1");
- // file://
- e = XmlSecureResolver.CreateEvidenceForUrl (Assembly.GetExecutingAssembly ().CodeBase);
- Assert.AreEqual (2, e.Count, "Assembly.GetExecutingAssembly ().CodeBase");
- url = false;
- zone = false;
- en = e.GetHostEnumerator ();
- while (en.MoveNext ()) {
- if (en.Current is Url)
- url = true;
- else if (en.Current is Zone)
- zone = true;
- }
- Assert.IsTrue (url, "Url-1");
- Assert.IsTrue (zone, "Zone-1");
- }
- [Test]
- public void CreateEvidenceForUrl_Http ()
- {
- // http://
- Evidence e = XmlSecureResolver.CreateEvidenceForUrl ("http://www.go-mono.com");
- Assert.AreEqual (3, e.Count, "http://www.go-mono.com");
- bool url = false;
- bool zone = false;
- bool site = false;
- IEnumerator en = e.GetHostEnumerator ();
- while (en.MoveNext ()) {
- if (en.Current is Url)
- url = true;
- else if (en.Current is Zone)
- zone = true;
- else if (en.Current is Site)
- site = true;
- }
- Assert.IsTrue (url, "Url-2");
- Assert.IsTrue (zone, "Zone-2");
- Assert.IsTrue (site, "Site-2");
- }
- }
- }
|