public void PermissionState_Unrestricted () { PermissionState ps = PermissionState.Unrestricted; DirectoryServicesPermission dsp = new DirectoryServicesPermission (ps); Assert.AreEqual (0, dsp.PermissionEntries.Count, "PermissionEntries"); Assert.IsTrue (dsp.IsUnrestricted (), "IsUnrestricted"); SecurityElement se = dsp.ToXml (); // only class and version are present Assert.AreEqual ("true", se.Attribute ("Unrestricted"), "Xml-Unrestricted"); Assert.IsNull (se.Children, "Xml-Children"); DirectoryServicesPermission copy = (DirectoryServicesPermission)dsp.Copy (); Assert.IsFalse (Object.ReferenceEquals (dsp, copy), "ReferenceEquals"); Assert.AreEqual (dsp.PermissionEntries.Count, copy.PermissionEntries.Count, "copy-PermissionEntries"); Assert.AreEqual (dsp.IsUnrestricted (), copy.IsUnrestricted (), "copy-IsUnrestricted ()"); }
public void FromXml_NoVersion () { DirectoryServicesPermission dsp = new DirectoryServicesPermission (PermissionState.None); SecurityElement se = dsp.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", se.Attribute ("class")); dsp.FromXml (w); }
public void FromXml_WrongVersion () { DirectoryServicesPermission dsp = new DirectoryServicesPermission (PermissionState.None); SecurityElement se = dsp.ToXml (); se.Attributes.Remove ("version"); se.Attributes.Add ("version", "2"); dsp.FromXml (se); }
public void FromXml_NoClass () { DirectoryServicesPermission dsp = new DirectoryServicesPermission (PermissionState.None); SecurityElement se = dsp.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("version", se.Attribute ("version")); dsp.FromXml (w); // doesn't even care of the class attribute presence }
public void FromXml_WrongClass () { DirectoryServicesPermission dsp = new DirectoryServicesPermission (PermissionState.None); SecurityElement se = dsp.ToXml (); SecurityElement w = new SecurityElement (se.Tag); w.AddAttribute ("class", "Wrong" + se.Attribute ("class")); w.AddAttribute ("version", se.Attribute ("version")); dsp.FromXml (w); // doesn't care of the class name at that stage // anyway the class has already be created so... }
public void FromXml_WrongTagCase () { DirectoryServicesPermission dsp = new DirectoryServicesPermission (PermissionState.None); SecurityElement se = dsp.ToXml (); se.Tag = "IPERMISSION"; // instead of IPermission dsp.FromXml (se); // note: normally IPermission classes (in corlib) DO care about the // IPermission tag }