public void Constructor() { MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), new PolicyStatement(new PermissionSet(PermissionState.None))); Assert.IsNotNull(cg.PolicyStatement, "PolicyStatement property not set correctly by constructor."); Assert.IsNotNull(cg.MembershipCondition, "MembershipCondition property not set correctly by constructor."); }
public void AddChild () { MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.None))); Assert.AreEqual (0, cg.Children.Count, "Unexpected number of children (before add)"); cg.AddChild (new MyCodeGroup (new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.Unrestricted)))); Assert.AreEqual (1, cg.Children.Count, "Unexpected number of children (after add)"); }
public void Description () { const string description = "Test Description"; MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition(), new PolicyStatement(new PermissionSet(PermissionState.None))); cg.Description = description; Assert.AreEqual (description, cg.Description, "Description not the expected value"); }
public void Name () { const string name = "Test Name"; MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition(), new PolicyStatement(new PermissionSet(PermissionState.None))); cg.Name = name; Assert.AreEqual (name, cg.Name, "Description not the expected value"); }
public void RemoveChild_Null() { MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), new PolicyStatement(new PermissionSet(PermissionState.None))); cg.RemoveChild(null); // no exception }
public void FromXml_Bad() { MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), new PolicyStatement(new PermissionSet(PermissionState.None))); SecurityElement se = cg.ToXml(); se.Tag = "Mono"; // strangely this works :( cg.FromXml(se); // let's get weirder :) foreach (SecurityElement child in se.Children) { child.Tag = "Mono"; } cg.FromXml(se); // it's not enough :(( - very relax parsing se.Attributes = new Hashtable(); cg.FromXml(se); // arghh - I will prevail! foreach (SecurityElement child in se.Children) { child.Attributes = new Hashtable(); } cg.FromXml(se); // huh ? well maybe not (but this is both cruel and injust) }
public void RemoveChild() { PolicyStatement ps = new PolicyStatement(new NamedPermissionSet(ps_Name)); MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; MyCodeGroup cgChild = new MyCodeGroup(new ApplicationDirectoryMembershipCondition(), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; cg.AddChild(cgChild); MyCodeGroup cgChild2 = new MyCodeGroup(new ApplicationDirectoryMembershipCondition(), ps); cgChild2.Name = "ChildName2"; cgChild2.Description = "Child Descripiton 2"; cg.AddChild(cgChild2); Assert.AreEqual(2, cg.Children.Count, "Should be two children before the call to Remove()"); cg.RemoveChild(cgChild); Assert.AreEqual(1, cg.Children.Count, "Should be one children after the call to Remove()"); Assert.AreEqual("ChildName2", ((CodeGroup)cg.Children[0]).Name, "Remaining child does not have correct name"); }
public void EqualsWithChildren() { PolicyStatement ps = new PolicyStatement(new NamedPermissionSet(ps_Name)); MyCodeGroup cgChild = new MyCodeGroup(new ApplicationDirectoryMembershipCondition(), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; cg.AddChild(cgChild); MyCodeGroup cg2 = new MyCodeGroup(cg.MembershipCondition, cg.PolicyStatement); cg2.Name = cg.Name; cg2.Description = cg.Description; Assert.IsTrue(cg.Equals(cg2), "Should be equal when Children are ignored"); Assert.IsTrue(!cg.Equals(cg2, true), "Should not be equal when Child count is different"); cg2.AddChild(cgChild); Assert.IsTrue(cg2.Equals(cg, true), "Should be equal when children are equal"); }
public void PermissionSetName() { PolicyStatement ps = new PolicyStatement(new NamedPermissionSet(ps_Name)); MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), ps); Assert.AreEqual(ps_Name, cg.PermissionSetName, "PermissionSetName"); }
public void Constructor_MembershipConditionPolicyStatementNull() { // legal MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition(), null); Assert.IsNull(cg.PolicyStatement, "PolicyStatement"); }
public void AttributeString () { PolicyStatementAttribute psa = PolicyStatementAttribute.LevelFinal; PolicyStatement ps = new PolicyStatement (new PermissionSet (PermissionState.None)); ps.Attributes = psa; MyCodeGroup cg = new MyCodeGroup(new AllMembershipCondition (), ps); Assert.AreEqual (psa.ToString(), cg.AttributeString, "AttributeString"); }
public void ToXml () { MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.None))); SecurityElement se = cg.ToXml (); string s = se.ToString (); Assert.IsTrue (s.StartsWith ("<CodeGroup class=\"MonoTests.System.Security.Policy.MyCodeGroup,"), "ToXml-Starts"); Assert.IsTrue (s.EndsWith ("version=\"1\"/>" + Environment.NewLine + "</CodeGroup>" + Environment.NewLine), "ToXml-Ends"); cg.AddChild (new MyCodeGroup (new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.Unrestricted)))); se = cg.ToXml (); s = se.ToString (); Assert.IsTrue (s.IndexOf ("<CodeGroup class=\"MonoTests.System.Security.Policy.MyCodeGroup,", 1) > 0, "ToXml-Child"); }
public void RemoveChild_NonExistant () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); MyCodeGroup cgChild = new MyCodeGroup (new ApplicationDirectoryMembershipCondition (), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.AddChild (cgChild); cg.RemoveChild (cgChild); cg.RemoveChild (cgChild); // no exception }
public void ToFromXmlRoundtrip () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; Assert.IsTrue (cg.Equals (cg), "Equals (itself)"); SecurityElement se = cg.ToXml (); MyCodeGroup cg2 = new MyCodeGroup (new AllMembershipCondition(), ps); cg2.Name = "SomeOtherName"; cg2.Description = "Some Other Description"; Assert.IsTrue (!cg.Equals (cg2), "Equals (another)"); cg2.FromXml (se); Assert.IsTrue (cg.Equals (cg2), "Equals (FromXml)"); }
public void Equals () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; Assert.IsTrue (cg.Equals (cg), "Equals (itself)"); Assert.IsTrue (!cg.Equals ("Not Equal to this"), "Equals (string)"); MyCodeGroup cg2 = new MyCodeGroup(new AllMembershipCondition(), ps); cg2.Name = "SomeOtherName"; cg2.Description = "Some Other Description"; Assert.IsTrue (!cg.Equals (cg2), "Equals (another)"); cg2 = new MyCodeGroup (new ApplicationDirectoryMembershipCondition(), ps); cg2.Name = cg.Name; cg2.Description = cg.Description; Assert.IsTrue (!cg.Equals (cg2), "Equals (different Membership Condition)"); }
public void ToFromXmlRoundtrip_WithChildren_Second () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); // only the child is MySecondCodeGroup MySecondCodeGroup cgChild = new MySecondCodeGroup (new ApplicationDirectoryMembershipCondition (), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; cg.AddChild (cgChild); Assert.IsTrue (cg.Equals (cg), "Equals (itself)"); SecurityElement se = cg.ToXml (); MyCodeGroup cg2 = (MyCodeGroup) cg.Copy (); cg2.FromXml (se); Assert.IsTrue (cg.Equals (cg2, true), "Equals (FromXml)"); }
public void ToFromXmlRoundtrip_WithChildren () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); MyCodeGroup cgChild = new MyCodeGroup (new ApplicationDirectoryMembershipCondition (), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; cg.AddChild (cgChild); cg.AddChild (cgChild); Assert.IsTrue (cg.Equals (cg), "Equals (itself)"); SecurityElement se = cg.ToXml (); MyCodeGroup cg2 = (MyCodeGroup) cg.Copy (); cg2.FromXml (se); // MissingMethodException down here (stangely not up here ?!? delayed ?) Assert.IsTrue (cg.Equals (cg2, true), "Equals (FromXml)"); }
public void Constructor () { MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition(), new PolicyStatement(new PermissionSet(PermissionState.None))); Assert.IsNotNull (cg.PolicyStatement, "PolicyStatement property not set correctly by constructor."); Assert.IsNotNull (cg.MembershipCondition, "MembershipCondition property not set correctly by constructor."); }
public void Constructor_MembershipConditionPolicyStatementNull () { // legal MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition(), null); Assert.IsNull (cg.PolicyStatement, "PolicyStatement"); }
public void Constructor_MembershipConditionNullPolicyStatement () { MyCodeGroup cg = new MyCodeGroup (null, new PolicyStatement(new PermissionSet(PermissionState.None))); }
public void FromXml_Bad () { MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.None))); SecurityElement se = cg.ToXml (); se.Tag = "Mono"; // strangely this works :( cg.FromXml (se); // let's get weirder :) foreach (SecurityElement child in se.Children) { child.Tag = "Mono"; } cg.FromXml (se); // it's not enough :(( - very relax parsing se.Attributes = new Hashtable (); cg.FromXml (se); // arghh - I will prevail! foreach (SecurityElement child in se.Children) { child.Attributes = new Hashtable (); } cg.FromXml (se); // huh ? well maybe not (but this is both cruel and injust) }
public void Children_Null () { MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.None))); cg.Children = null; }
public void PermissionSetName () { PolicyStatement ps = new PolicyStatement(new NamedPermissionSet (ps_Name)); MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); Assert.AreEqual (ps_Name, cg.PermissionSetName, "PermissionSetName"); }
public void RemoveChild_Null () { MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), new PolicyStatement(new PermissionSet (PermissionState.None))); cg.RemoveChild (null); // no exception }
public void EqualsWithChildren () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); MyCodeGroup cgChild = new MyCodeGroup(new ApplicationDirectoryMembershipCondition(), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; cg.AddChild (cgChild); MyCodeGroup cg2 = new MyCodeGroup (cg.MembershipCondition, cg.PolicyStatement); cg2.Name = cg.Name; cg2.Description = cg.Description; Assert.IsTrue (cg.Equals (cg2), "Should be equal when Children are ignored"); Assert.IsTrue (!cg.Equals(cg2, true), "Should not be equal when Child count is different"); cg2.AddChild(cgChild); Assert.IsTrue (cg2.Equals(cg, true), "Should be equal when children are equal"); }
public void RemoveChild () { PolicyStatement ps = new PolicyStatement (new NamedPermissionSet (ps_Name)); MyCodeGroup cg = new MyCodeGroup (new AllMembershipCondition (), ps); cg.Name = "SomeName"; cg.Description = "Some Description"; MyCodeGroup cgChild = new MyCodeGroup (new ApplicationDirectoryMembershipCondition (), ps); cgChild.Name = "ChildName"; cgChild.Description = "Child Descripiton"; cg.AddChild (cgChild); MyCodeGroup cgChild2 = new MyCodeGroup (new ApplicationDirectoryMembershipCondition (), ps); cgChild2.Name = "ChildName2"; cgChild2.Description = "Child Descripiton 2"; cg.AddChild (cgChild2); Assert.AreEqual (2, cg.Children.Count, "Should be two children before the call to Remove()"); cg.RemoveChild(cgChild); Assert.AreEqual (1, cg.Children.Count, "Should be one children after the call to Remove()"); Assert.AreEqual("ChildName2", ((CodeGroup)cg.Children[0]).Name, "Remaining child does not have correct name"); }