1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
//
// 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));
}
}
}
|