public void FromXml_NoVersion () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); SecurityElement se = zmc.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", se.Attribute ("class")); zmc.FromXml (w); }
public void ToXml_Null () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); // no ArgumentNullException here SecurityElement se = zmc.ToXml (null); Assert.IsNotNull (se, "ToXml(null)"); }
public void FromXml_InvalidClass () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); SecurityElement se = zmc.ToXml (); se.Attributes ["class"] = "Hello world"; zmc.FromXml (se); }
public void FromXml_NoClass () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); SecurityElement se = zmc.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("version", se.Attribute ("version")); zmc.FromXml (w); // doesn't even care of the class attribute presence }
public void FromXml_Null () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); zmc.FromXml (null); }
public void FromXml_InvalidTag () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); SecurityElement se = zmc.ToXml (); se.Tag = "IMonoship"; zmc.FromXml (se); }
public void SecurityZone_NoZone () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); zmc.SecurityZone = SecurityZone.NoZone; }
public void Resolve_ZoneMembershipCondition_NoZone () { IMembershipCondition mc = new ZoneMembershipCondition (SecurityZone.NoZone); }
public void ZoneMembershipCondition_Invalid () { ZoneMembershipCondition zmc = new ZoneMembershipCondition ((SecurityZone)128); }
public void ZoneMembershipCondition_NoZone () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.NoZone); }
/// <summary>用确定成员身份的区域初始化 <see cref="T:System.Security.Policy.ZoneMembershipCondition" /> 类的新实例。</summary> /// <param name="zone">要对其进行测试的 <see cref="T:System.Security.SecurityZone" />。</param> /// <exception cref="T:System.ArgumentException"> /// <paramref name="zone" /> 参数不是有效的 <see cref="T:System.Security.SecurityZone" />。</exception> public ZoneMembershipCondition(SecurityZone zone) { ZoneMembershipCondition.VerifyZone(zone); this.SecurityZone = zone; }
private void Resolve_Zone_Unrestricted_Attribute (SecurityZone zone, PolicyStatementAttribute attr) { IMembershipCondition mc = new ZoneMembershipCondition (zone); PolicyStatement ps = new PolicyStatement (new PermissionSet (PermissionState.Unrestricted)); ps.Attributes = attr; PolicyLevel pl = PolicyLevel.CreateAppDomainLevel (); pl.RootCodeGroup = new UnionCodeGroup (mc, ps); Resolve_Zone (pl, SecurityZone.Internet, attr, (zone == SecurityZone.Internet), 0); Resolve_Zone (pl, SecurityZone.Intranet, attr, (zone == SecurityZone.Intranet), 0); Resolve_Zone (pl, SecurityZone.MyComputer, attr, (zone == SecurityZone.MyComputer), 0); Resolve_Zone (pl, SecurityZone.NoZone, attr, (zone == SecurityZone.NoZone), 0); Resolve_Zone (pl, SecurityZone.Trusted, attr, (zone == SecurityZone.Trusted), 0); Resolve_Zone (pl, SecurityZone.Untrusted, attr, (zone == SecurityZone.Untrusted), 0); }
public void Resolve_ZoneMembershipCondition_Untrusted () { IMembershipCondition mc = new ZoneMembershipCondition (SecurityZone.Untrusted); PermissionSet pset = new PermissionSet (PermissionState.None); UnionCodeGroup cg = new UnionCodeGroup (mc, new PolicyStatement (pset, PolicyStatementAttribute.Nothing)); Evidence e = new Evidence (); e.AddHost (new Zone (SecurityZone.Untrusted)); PolicyStatement result = cg.Resolve (e); Assert.AreEqual (PolicyStatementAttribute.Nothing, result.Attributes, "Untrusted-Attributes"); Assert.AreEqual (String.Empty, result.AttributeString, "Untrusted-AttributeString"); Assert.IsFalse (result.PermissionSet.IsUnrestricted (), "Untrusted-IsUnrestricted"); Assert.AreEqual (0, result.PermissionSet.Count, "Untrusted-Count"); e = new Evidence (); e.AddHost (new Zone (SecurityZone.Internet)); Assert.IsNull (cg.Resolve (e), "Internet"); e = new Evidence (); e.AddHost (new Zone (SecurityZone.Intranet)); Assert.IsNull (cg.Resolve (e), "Intranet"); e = new Evidence (); e.AddHost (new Zone (SecurityZone.MyComputer)); Assert.IsNull (cg.Resolve (e), "MyComputer"); e = new Evidence (); e.AddHost (new Zone (SecurityZone.NoZone)); Assert.IsNull (cg.Resolve (e), "NoZone"); e = new Evidence (); e.AddHost (new Zone (SecurityZone.Trusted)); Assert.IsNull (cg.Resolve (e), "Trusted"); }
public void ToXml_PolicyLevel () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); SecurityElement se = zmc.ToXml (); string s = zmc.ToXml ().ToString (); // is it accepted for all policy levels ? IEnumerator e = SecurityManager.PolicyHierarchy (); while (e.MoveNext ()) { PolicyLevel pl = e.Current as PolicyLevel; ZoneMembershipCondition spl = new ZoneMembershipCondition (SecurityZone.Internet); spl.FromXml (se, pl); Assert.AreEqual (s, spl.ToXml (pl).ToString (), "ToXml(PolicyLevel='" + pl.Label + "')"); } // yes! }
public void SecurityZone_Invalid () { ZoneMembershipCondition zmc = new ZoneMembershipCondition (SecurityZone.MyComputer); zmc.SecurityZone = (SecurityZone)128; }
private ZoneMembershipCondition BasicTest (SecurityZone zone) { ZoneMembershipCondition zmc = new ZoneMembershipCondition (zone); Assert.AreEqual (zone, zmc.SecurityZone, "SecurityZone"); Assert.IsFalse (zmc.Check (null), "Check(null)"); Assert.IsFalse (zmc.Check (allEmpty), "Check(empty)"); Assert.IsFalse (zmc.Check (hostOther), "Check(hostOther)"); Assert.IsFalse (zmc.Check (assemblyOther), "Check(assemblyOther)"); ZoneMembershipCondition copy = (ZoneMembershipCondition) zmc.Copy (); Assert.IsTrue (zmc.Equals (copy), "Equals-1"); Assert.IsTrue (copy.Equals (zmc), "Equals-2"); Assert.IsFalse (Object.ReferenceEquals (zmc, copy), "!ReferenceEquals"); Assert.IsFalse (zmc.Equals (null), "Equals-3"); Assert.IsFalse (zmc.Equals (wrongEvidence), "Equals-4"); SecurityElement se = zmc.ToXml (); copy.FromXml (se); Assert.IsTrue (zmc.Equals (copy), "Equals-5"); Assert.AreEqual (se.ToString (), zmc.ToXml (null).ToString (), "Equals-6"); Assert.IsTrue (zmc.ToString ().StartsWith ("Zone - "), "ToString-1"); Assert.IsTrue (zmc.ToString ().EndsWith (zmc.SecurityZone.ToString ()), "ToString-2"); Assert.AreEqual (zmc.SecurityZone.GetHashCode (), zmc.GetHashCode (), "GetHashCode"); return zmc; // for further tests }
/// <summary>Determines whether the zone from the specified object is equivalent to the zone contained in the current <see cref="T:System.Security.Policy.ZoneMembershipCondition" />.</summary> /// <returns>true if the zone from the specified object is equivalent to the zone contained in the current <see cref="T:System.Security.Policy.ZoneMembershipCondition" />; otherwise, false.</returns> /// <param name="o">The object to compare to the current <see cref="T:System.Security.Policy.ZoneMembershipCondition" />. </param> /// <exception cref="T:System.ArgumentNullException">The <see cref="P:System.Security.Policy.ZoneMembershipCondition.SecurityZone" /> property for the current object or the specified object is null. </exception> /// <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Policy.ZoneMembershipCondition.SecurityZone" /> property for the current object or the specified object is not a valid <see cref="T:System.Security.SecurityZone" />. </exception> public override bool Equals(object o) { ZoneMembershipCondition zoneMembershipCondition = o as ZoneMembershipCondition; return(zoneMembershipCondition != null && zoneMembershipCondition.SecurityZone == this.zone); }