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(); }
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); }