### Question:
AbsSecurityProvider extends PurRepositorySecurityProvider implements IAbsSecurityProvider,
    java.io.Serializable { @Override public void validateAction( RepositoryOperation... operations ) throws KettleException { for ( RepositoryOperation operation : operations ) { switch ( operation ) { case EXECUTE_TRANSFORMATION: case EXECUTE_JOB: checkOperationAllowed( EXECUTE_CONTENT_ACTION ); break; case MODIFY_TRANSFORMATION: case MODIFY_JOB: checkOperationAllowed( CREATE_CONTENT_ACTION ); break; case SCHEDULE_TRANSFORMATION: case SCHEDULE_JOB: checkOperationAllowed( SCHEDULE_CONTENT_ACTION ); break; } } } AbsSecurityProvider( PurRepository repository, PurRepositoryMeta repositoryMeta, IUser userInfo,
      ServiceManager serviceManager ); List<String> getAllowedActions( String nameSpace ); boolean isAllowed( String actionName ); @Override void validateAction( RepositoryOperation... operations );  }### Answer:
@Test( expected = KettleException.class ) public void exceptionThrown_WhenOperationNotAllowed_ExecuteOperation() throws Exception { setOperationPermissions( IAbsSecurityProvider.EXECUTE_CONTENT_ACTION, false ); provider.validateAction( RepositoryOperation.EXECUTE_TRANSFORMATION ); }
@Test( expected = KettleException.class ) public void exceptionThrown_WhenOperationNotAllowed_ScheduleOperation() throws Exception { setOperationPermissions( IAbsSecurityProvider.SCHEDULE_CONTENT_ACTION, false ); provider.validateAction( RepositoryOperation.SCHEDULE_JOB ); }
@Test( expected = KettleException.class ) public void exceptionThrown_WhenOperationNotAllowed_CreateOperation() throws Exception { setOperationPermissions( IAbsSecurityProvider.CREATE_CONTENT_ACTION, false ); provider.validateAction( RepositoryOperation.MODIFY_JOB ); }
@Test public void noExceptionThrown_WhenOperationIsAllowed_ScheduleOperation() throws Exception { setOperationPermissions( IAbsSecurityProvider.EXECUTE_CONTENT_ACTION, true ); provider.validateAction( RepositoryOperation.EXECUTE_JOB ); }
@Test public void noExceptionThrown_WhenOperationIsAllowed_CreateOperation() throws Exception { setOperationPermissions( IAbsSecurityProvider.SCHEDULE_CONTENT_ACTION, true ); provider.validateAction( RepositoryOperation.SCHEDULE_TRANSFORMATION ); }
@Test public void noExceptionThrown_WhenOperationIsAllowed_ExecuteOperation() throws Exception { setOperationPermissions( IAbsSecurityProvider.CREATE_CONTENT_ACTION, true ); provider.validateAction( RepositoryOperation.MODIFY_TRANSFORMATION ); }