test_class.declarator: authenticationContextProvider
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private AuthenticationContextProvider authenticationContextProvider;
test_class.type: AuthenticationContextProvider
test_class.var_name: authenticationContextProvider
test_class.declarator: readServiceProvider
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ReadServiceProvider readServiceProvider;
test_class.type: ReadServiceProvider
test_class.var_name: readServiceProvider
test_class.declarator: user
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private User user;
test_class.type: User
test_class.var_name: user
test_class.declarator: readService
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ReadService<? extends Identifiable> readService;
test_class.type: ReadService<? extends Identifiable>
test_class.var_name: readService
test_class.declarator: identifiable
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Identifiable identifiable;
test_class.type: Identifiable
test_class.var_name: identifiable
test_class.declarator: entityPermissionEvaluator
test_class.modifier: private
test_class.original_string: private EntityPermissionEvaluator entityPermissionEvaluator;
test_class.type: EntityPermissionEvaluator
test_class.var_name: entityPermissionEvaluator
test_class.file: api/src/test/java/engineering/everest/lhotse/api/rest/security/EntityPermissionEvaluatorTest.java
test_class.identifier: EntityPermissionEvaluatorTest
test_case.body: @Test
      void hasDeletePermissionWillDelegate() {
          entityPermissionEvaluator.hasPermission(null, randomUUID(), "Entity", "delete");
          verify(identifiable).canDelete(user);
      }
test_case.class_method_signature: EntityPermissionEvaluatorTest.hasDeletePermissionWillDelegate()
test_case.full_signature: @Test void hasDeletePermissionWillDelegate()
test_case.identifier: hasDeletePermissionWillDelegate
test_case.invocations: hasPermission randomUUID canDelete verify
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void hasDeletePermissionWillDelegate()
focal_class.declarator: authenticationContextProvider
focal_class.modifier: private final
focal_class.original_string: private final AuthenticationContextProvider authenticationContextProvider;
focal_class.type: AuthenticationContextProvider
focal_class.var_name: authenticationContextProvider
focal_class.declarator: readServiceProvider
focal_class.modifier: private final
focal_class.original_string: private final ReadServiceProvider readServiceProvider;
focal_class.type: ReadServiceProvider
focal_class.var_name: readServiceProvider
focal_class.file: api/src/main/java/engineering/everest/lhotse/api/rest/security/EntityPermissionEvaluator.java
focal_class.identifier: EntityPermissionEvaluator
focal_class.interfaces: implements PermissionEvaluator
focal_class.class_method_signature: EntityPermissionEvaluator.EntityPermissionEvaluator(AuthenticationContextProvider authenticationContextProvider,
                                       ReadServiceProvider readServiceProvider)
focal_class.full_signature: public  EntityPermissionEvaluator(AuthenticationContextProvider authenticationContextProvider,
                                       ReadServiceProvider readServiceProvider)
focal_class.identifier: EntityPermissionEvaluator
focal_class.modifiers: public
focal_class.parameters: (AuthenticationContextProvider authenticationContextProvider,
                                       ReadServiceProvider readServiceProvider)
focal_class.signature:  EntityPermissionEvaluator(AuthenticationContextProvider authenticationContextProvider,
                                       ReadServiceProvider readServiceProvider)
focal_class.class_method_signature: EntityPermissionEvaluator.hasPermission(Authentication authentication, Object targetDomainObject, Object permission)
focal_class.full_signature: @Override public boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission)
focal_class.identifier: hasPermission
focal_class.modifiers: @Override public
focal_class.parameters: (Authentication authentication, Object targetDomainObject, Object permission)
focal_class.return: boolean
focal_class.signature: boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission)
focal_class.class_method_signature: EntityPermissionEvaluator.hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission)
focal_class.full_signature: @Override public boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission)
focal_class.identifier: hasPermission
focal_class.modifiers: @Override public
focal_class.parameters: (Authentication authentication, Serializable targetId, String targetType, Object permission)
focal_class.return: boolean
focal_class.signature: boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission)
focal_method.body: @Override
      public boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission) {
          throw new UnsupportedOperationException("NYI");
      }
focal_method.class_method_signature: EntityPermissionEvaluator.hasPermission(Authentication authentication, Object targetDomainObject, Object permission)
focal_method.full_signature: @Override public boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission)
focal_method.identifier: hasPermission
focal_method.modifiers: @Override public
focal_method.parameters: (Authentication authentication, Object targetDomainObject, Object permission)
focal_method.return: boolean
focal_method.signature: boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission)