1 // CryptoKeyAccessRuleTest.cs - NUnit Test Cases for CryptoKeyAccessRule
2 //
3 // Authors:
4 //	James Bellinger  <jfb@zer7.com>
5 //
6 // Copyright (C) 2012 James Bellinger
7 
8 using System;
9 using System.Collections.Generic;
10 using System.Security.AccessControl;
11 using System.Security.Principal;
12 using NUnit.Framework;
13 
14 namespace MonoTests.System.Security.AccessControl
15 {
16 	[TestFixture]
17 	public class CryptoKeyAccessRuleTest
18 	{
19 		[Test]
StringOverloadIsNTAccount()20 		public void StringOverloadIsNTAccount ()
21 		{
22 			CryptoKeyAccessRule rule;
23 			rule = new CryptoKeyAccessRule (@"BUILTIN\Users", CryptoKeyRights.FullControl, AccessControlType.Allow);
24 			Assert.AreNotEqual (new SecurityIdentifier ("BU"), rule.IdentityReference);
25 			Assert.AreEqual (new NTAccount (@"BUILTIN\Users"), rule.IdentityReference);
26 		}
27 
28 		[Test]
StringOverloadIsNotSID()29 		public void StringOverloadIsNotSID ()
30 		{
31 			CryptoKeyAccessRule rule;
32 			rule = new CryptoKeyAccessRule (@"S-1-5-32-545", CryptoKeyRights.FullControl, AccessControlType.Allow);
33 			Assert.AreNotEqual (new SecurityIdentifier ("S-1-5-32-545"), rule.IdentityReference);
34 			Assert.AreEqual (new NTAccount (@"S-1-5-32-545"), rule.IdentityReference);
35 		}
36 	}
37 }
38 
39