Exemplo n.º 1
0
        public void GetAccessTypes_WithMatchingAce()
        {
            AccessControlEntry   ace            = AccessControlEntry.NewObject();
            AccessTypeDefinition readAccessType = _testHelper.CreateReadAccessTypeAndAttachToAce(ace, true);

            _testHelper.CreateWriteAccessTypeAndAttachToAce(ace, null);
            AccessTypeDefinition deleteAccessType = _testHelper.CreateDeleteAccessTypeAndAttachToAce(ace, false);
            AccessTypeDefinition copyAccessType   = _testHelper.CreateAccessTypeForAce(ace, true, Guid.NewGuid(), "Copy", 3);
            AccessTypeDefinition moveAccessType   = _testHelper.CreateAccessTypeForAce(ace, false, Guid.NewGuid(), "Move", 4);

            AccessControlList acl   = _testHelper.CreateStatefulAcl(ace);
            SecurityToken     token = _testHelper.CreateTokenWithoutUser();

            AccessInformation accessInformation = acl.GetAccessTypes(token);

            Assert.That(accessInformation.AllowedAccessTypes, Is.EquivalentTo(new[] { readAccessType, copyAccessType }));
            Assert.That(accessInformation.DeniedAccessTypes, Is.EquivalentTo(new[] { deleteAccessType, moveAccessType }));
        }