public void ToXml_Unrestricted () { NamedPermissionSet ps = new NamedPermissionSet (name, PermissionState.Unrestricted); SecurityElement se = ps.ToXml (); Assert.IsTrue (ps.ToString().StartsWith ("<PermissionSet"), "Unrestricted.ToString().StartsWith"); Assert.AreEqual ("System.Security.NamedPermissionSet", (se.Attributes ["class"] as string), "Unrestricted.class"); Assert.AreEqual ("1", (se.Attributes ["version"] as string), "Unrestricted.version"); Assert.AreEqual (name, (se.Attributes ["Name"] as string), "Unrestricted.Name"); Assert.IsNull ((se.Attributes ["Description"] as string), "Unrestricted.Description"); Assert.AreEqual ("true", (se.Attributes ["Unrestricted"] as string), "Unrestricted.Unrestricted"); }
public void FromXml_NoName () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", se.Attribute ("class")); w.AddAttribute ("version", "1"); nps.FromXml (w); // having a null name can badly influence the rest of the class code Assert.IsNull (nps.Name, "Name"); NamedPermissionSet copy = (NamedPermissionSet) nps.Copy (); Assert.IsNull (copy.Name, "Copy.Name"); copy = nps.Copy ("name"); Assert.AreEqual ("name", copy.Name, "Copy(Name).Name"); se = nps.ToXml (); Assert.IsNull (se.Attribute ("Name"), "Name attribute"); #if NET_2_0 Assert.AreEqual (0, nps.GetHashCode (), "GetHashCode"); Assert.IsTrue (nps.Equals (nps), "Equals-self"); #endif }
public void FromXml () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); Assert.IsNotNull (se, "ToXml()"); NamedPermissionSet nps2 = (NamedPermissionSet) nps.Copy (); nps2.FromXml (se); Assert.AreEqual (name, nps2.Name, "FromXml-Copy.Name"); // strangely it's empty when converted from XML (but null when created) Assert.AreEqual ("", nps2.Description, "FromXml-Copy.Description"); Assert.IsTrue (!nps2.IsUnrestricted () , "FromXml-Copy.IsUnrestricted"); se.AddAttribute ("Description", sentinel); nps2.FromXml (se); Assert.AreEqual (name, nps2.Name, "FromXml-Add1.Name"); Assert.AreEqual (sentinel, nps2.Description, "FromXml-Add1.Description"); Assert.IsTrue (!nps2.IsUnrestricted () , "FromXml-Add1.IsUnrestricted"); se.AddAttribute ("Unrestricted", "true"); nps2.FromXml (se); Assert.AreEqual (name, nps2.Name, "FromXml-Add2.Name"); Assert.AreEqual (sentinel, nps2.Description, "FromXml-Add2.Description"); Assert.IsTrue (nps2.IsUnrestricted () , "FromXml-Add2.IsUnrestricted"); }
// [ExpectedException (typeof (ArgumentException))] public void FromXml_WrongVersion () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); // can't modify - so we create our own SecurityElement se2 = new SecurityElement (se.Tag, se.Text); se2.AddAttribute ("class", se.Attribute ("class")); se2.AddAttribute ("version", "2"); se2.AddAttribute ("Name", se.Attribute ("Name")); nps.FromXml (se2); // wow - here we accept a version 2 !!! }
public void FromXml_NoVersion () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", se.Attribute ("class")); w.AddAttribute ("Name", se.Attribute ("Name")); nps.FromXml (w); }
public void FromXml_NoClass () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("version", se.Attribute ("version")); nps.FromXml (w); // doesn't even care of the class attribute presence }
public void FromXml_WrongClass () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", "Wrong" + se.Attribute ("class")); w.AddAttribute ("version", se.Attribute ("version")); w.AddAttribute ("Name", se.Attribute ("Name")); nps.FromXml (w); // doesn't care of the class name at that stage // anyway the class has already be created so... }
public void FromXml_WrongTagCase () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); se.Tag = se.Tag.ToUpper (); // instead of PermissionSet nps.FromXml (se); }
public void FromXml_InvalidPermission () { NamedPermissionSet nps = new NamedPermissionSet (name, PermissionState.None); SecurityElement se = nps.ToXml (); // can't modify - so we create our own SecurityElement se2 = new SecurityElement ("InvalidPermissionSet", se.Text); se2.AddAttribute ("class", se.Attribute ("class")); se2.AddAttribute ("version", se.Attribute ("version")); se2.AddAttribute ("Name", se.Attribute ("Name")); nps.FromXml (se2); }
public void ToXml_Unrestricted () { NamedPermissionSet ps = new NamedPermissionSet (name, PermissionState.Unrestricted); SecurityElement se = ps.ToXml (); Assert ("Unrestricted.ToString().StartsWith", ps.ToString().StartsWith ("<PermissionSet")); AssertEquals ("Unrestricted.class", "System.Security.NamedPermissionSet", (se.Attributes ["class"] as string)); AssertEquals ("Unrestricted.version", "1", (se.Attributes ["version"] as string)); AssertEquals ("Unrestricted.Name", name, (se.Attributes ["Name"] as string)); AssertNull ("Unrestricted.Description", (se.Attributes ["Description"] as string)); AssertEquals ("Unrestricted.Unrestricted", "true", (se.Attributes ["Unrestricted"] as string)); }