Class AclQueryUtilsTest


public class AclQueryUtilsTest extends BaseSpringContextTest5
  • Constructor Details

    • AclQueryUtilsTest

      public AclQueryUtilsTest()
  • Method Details

    • setUp

      @BeforeEach public void setUp()
    • tearDown

      @AfterEach public void tearDown()
    • testSecurableEntitiesNamesAreUnchanged

      @Test public void testSecurableEntitiesNamesAreUnchanged()
      Since ACL relies on the class name, and these class names are stored in the database, we must ensure that they are never changed.
    • testFormAclJoinClauseAsAdmin

      @Test public void testFormAclJoinClauseAsAdmin()
    • testFormAclJoinClauseAsNonAdminIncludesAoiEntriesInnerJointure

      @Test public void testFormAclJoinClauseAsNonAdminIncludesAoiEntriesInnerJointure()
    • testAddAclJoinParameters

      @Test public void testAddAclJoinParameters()
    • testFormNativeRestrictionClause

      @Test public void testFormNativeRestrictionClause()
    • testFormNativeRestrictionClauseAsAnonymous

      @Test public void testFormNativeRestrictionClauseAsAnonymous()
    • testAsAdmin

      @Test public void testAsAdmin()
    • testAsUser

      @Test public void testAsUser()
    • testAsAnonymous

      @Test public void testAsAnonymous()
    • testIsPubliclyReadableExpressionIsBoundForAdmin

      @Test public void testIsPubliclyReadableExpressionIsBoundForAdmin()
      The isPublic filter emits AclQueryUtils.formIsPubliclyReadableExpression(String), which declares :aclQueryUtils_aoiClassId for every caller — including an administrator, whose restriction clause is only the (1=1) placeholder. The binding therefore cannot sit behind the admin bypass in AclQueryUtils.addAclParameters(Query, Class).

      Before the fix this threw No argument for named parameter ':aclQueryUtils_aoiClassId', which is what /datasets?filter=isPublic returned to every authenticated curator.

    • testIsPubliclyReadableExpressionIsBoundForAnonymous

      @Test public void testIsPubliclyReadableExpressionIsBoundForAnonymous()
    • testNative

      @Test public void testNative()
    • testNativeAsUser

      @Test public void testNativeAsUser()
    • testNativeAsAnonymous

      @Test public void testNativeAsAnonymous()