private static void ShowSecurity(EventWaitHandleSecurity security) { Console.WriteLine("\r\nCurrent access rules:\r\n"); foreach (EventWaitHandleAccessRule ar in security.GetAccessRules(true, true, typeof(NTAccount))) { Console.WriteLine(" User: {0}", ar.IdentityReference); Console.WriteLine(" Type: {0}", ar.AccessControlType); Console.WriteLine(" Rights: {0}", ar.EventWaitHandleRights); Console.WriteLine(); } }
private void VerifyEventWaitHandleSecurity(EventWaitHandleSecurity expectedSecurity, EventWaitHandleSecurity actualSecurity) { Assert.Equal(typeof(EventWaitHandleRights), expectedSecurity.AccessRightType); Assert.Equal(typeof(EventWaitHandleRights), actualSecurity.AccessRightType); List <EventWaitHandleAccessRule> expectedAccessRules = expectedSecurity.GetAccessRules(includeExplicit: true, includeInherited: false, typeof(SecurityIdentifier)) .Cast <EventWaitHandleAccessRule>().ToList(); List <EventWaitHandleAccessRule> actualAccessRules = actualSecurity.GetAccessRules(includeExplicit: true, includeInherited: false, typeof(SecurityIdentifier)) .Cast <EventWaitHandleAccessRule>().ToList(); Assert.Equal(expectedAccessRules.Count, actualAccessRules.Count); if (expectedAccessRules.Count > 0) { Assert.All(expectedAccessRules, actualAccessRule => { int count = expectedAccessRules.Count(expectedAccessRule => AreAccessRulesEqual(expectedAccessRule, actualAccessRule)); Assert.True(count > 0); }); } }