// // CommonAceTest.cs - NUnit Test Cases for CommonAce // // Author: // Kenneth Bell // using System.Security.AccessControl; using System.Security.Principal; using NUnit.Framework; namespace MonoTests.System.Security.AccessControl { [TestFixture] public class CommonAceTest { [Test] public void GetBinaryForm () { SecurityIdentifier builtInAdmins = new SecurityIdentifier (WellKnownSidType.BuiltinAdministratorsSid, null); CommonAce ace = new CommonAce (AceFlags.None, AceQualifier.AccessAllowed, 0x7FFFFFFF, builtInAdmins, false, null); byte[] buffer = new byte[ace.BinaryLength]; ace.GetBinaryForm (buffer, 0); byte[] aceBinary = new byte[] { 0x00, 0x00, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x20, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00 }; Assert.AreEqual (aceBinary, buffer); } [Test] public void MaxOpaqueLength () { Assert.AreEqual (65459, CommonAce.MaxOpaqueLength (true)); Assert.AreEqual (65459, CommonAce.MaxOpaqueLength (false)); Assert.AreEqual (65423, ObjectAce.MaxOpaqueLength (true)); Assert.AreEqual (65423, ObjectAce.MaxOpaqueLength (false)); } } }