public void Test_RecursiveSecurity_ChecksAccessOnNestedCall()
        {
            HasStatelessAccessDelegate hasAccess = delegate
            {
                _extension.NewObjectCreating(_testHelper.Transaction, typeof(SecurableObject));
                return(true);
            };

            _testHelper.ExpectFunctionalSecurityStrategyHasAccess(typeof(SecurableObject), GeneralAccessTypes.Create, hasAccess);
            _testHelper.ExpectFunctionalSecurityStrategyHasAccess(typeof(SecurableObject), GeneralAccessTypes.Create, true);
            _testHelper.ReplayAll();

            _extension.NewObjectCreating(_testHelper.Transaction, typeof(SecurableObject));

            _testHelper.VerifyAll();
        }
Exemplo n.º 2
0
 public void ExpectFunctionalSecurityStrategyHasAccess(Type securableObjectType, Enum accessTypeEnum, HasStatelessAccessDelegate doDelegate)
 {
     Expect.Call(
         _mockFunctionalSecurityStrategy.HasAccess(
             Arg.Is(securableObjectType),
             Arg.Is(_mockSecurityProvider),
             Arg.Is(_stubUser),
             Arg <IReadOnlyList <AccessType> > .List.Equal(new[] { AccessType.Get(accessTypeEnum) })))
     .WhenCalled(mi => CheckTransaction())
     .WhenCalled(mi => CheckTransaction())
     .Do(doDelegate);
 }