@Test public void testUserBindPositiveWithDNBlankOldConfig() throws Exception { testCase = defaultBuilder() .baseDN("") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testUserBindPositiveWithShortnameOldConfig() { testCase = defaultBuilder() .baseDN("ou=People,dc=example,dc=com") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); }
@Test public void testUserBindPositiveWithDNOldConfig() { testCase = defaultBuilder() .baseDN("ou=People,dc=example,dc=com") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testUserBindPositiveWithDNWrongOldConfig() { testCase = defaultBuilder() .baseDN("ou=DummyPeople,dc=example,dc=com") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testUserBindPositiveWithDNBlankConfig() { testCase = defaultBuilder() .userDNPatterns(" ") .groupDNPatterns(" ") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testUserBindPositiveWithShortname() { testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .groupDNPatterns("uid=%s,ou=Groups,dc=example,dc=com") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); }
@Test public void testUserBindPositiveWithDNWrongConfig() { testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=DummyPeople,dc=example,dc=com") .groupDNPatterns("uid=%s,ou=DummyGroups,dc=example,dc=com") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testUserBindPositiveWithDN() { testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .groupDNPatterns("uid=%s,ou=Groups,dc=example,dc=com") .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testCustomQueryPositive() { testCase = defaultBuilder() .baseDN("ou=People,dc=example,dc=com") .userDNPatterns( "cn=%s,ou=People,dc=example,dc=com", "uid=%s,ou=People,dc=example,dc=com") .groupDNPatterns("cn=%s,ou=People,dc=example,dc=com") .customQuery( String.format("(&(objectClass=person)(|(uid=%s)(uid=%s)))", USER1.getId(), USER4.getId())) .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER4.credentialsWithId()); testCase.assertAuthenticatePasses(USER4.credentialsWithDn()); }
@Test public void testGroupFilterPositive() { testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .groupDNPatterns("uid=%s,ou=Groups,dc=example,dc=com") .groupFilters( GROUP1_NAME, GROUP2_NAME) .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .groupDNPatterns("uid=%s,ou=Groups,dc=example,dc=com") .groupFilters(GROUP2_NAME) .build(); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testUserAndGroupFilterPositive() { testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .groupDNPatterns("uid=%s,ou=Groups,dc=example,dc=com") .userFilters( USER1.getId(), USER2.getId()) .groupFilters( GROUP1_NAME, GROUP2_NAME) .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
@Test public void testDirectUserMembershipGroupFilterPositive() { testCase = defaultBuilder() .userDNPatterns( "sAMAccountName=%s,ou=Engineering,dc=ad,dc=example,dc=com", "sAMAccountName=%s,ou=Management,dc=ad,dc=example,dc=com") .groupDNPatterns( "sAMAccountName=%s,ou=Teams,dc=ad,dc=example,dc=com", "sAMAccountName=%s,ou=Resources,dc=ad,dc=example,dc=com") .groupFilters( GROUP_TEAM1_NAME, GROUP_TEAM2_NAME, GROUP_RESOURCE1_NAME, GROUP_RESOURCE2_NAME) .guidKey("sAMAccountName") .userMembershipKey("memberOf") .build(); testCase.assertAuthenticatePasses(ENGINEER_1.credentialsWithId()); testCase.assertAuthenticatePasses(ENGINEER_2.credentialsWithId()); testCase.assertAuthenticatePasses(MANAGER_1.credentialsWithId()); testCase.assertAuthenticatePasses(MANAGER_2.credentialsWithId()); }
@Test public void testGroupFilterPositiveWithCustomGUID() { testCase = defaultBuilder() .userDNPatterns("cn=%s,ou=People,dc=example,dc=com") .groupDNPatterns("cn=%s,ou=Groups,dc=example,dc=com") .groupFilters(GROUP3_NAME) .guidKey("cn") .build(); testCase.assertAuthenticatePasses(USER3.credentialsWithId()); testCase.assertAuthenticatePasses(USER3.credentialsWithDn()); }
@Test public void testUserFilterPositive() { testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .userFilters(USER1.getId()) .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .userFilters(USER2.getId()) .build(); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); testCase = defaultBuilder() .userDNPatterns("uid=%s,ou=People,dc=example,dc=com") .userFilters( USER1.getId(), USER2.getId()) .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); }
.build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER2.credentialsWithId()); testCase.assertAuthenticatePasses(USER2.credentialsWithDn()); .build(); testCase.assertAuthenticatePasses(USER1.credentialsWithId()); testCase.assertAuthenticatePasses(USER1.credentialsWithDn()); testCase.assertAuthenticatePasses(USER4.credentialsWithId()); testCase.assertAuthenticatePasses(USER4.credentialsWithDn()); .build(); testCase.assertAuthenticatePasses(USER4.credentialsWithId()); testCase.assertAuthenticatePasses(USER4.credentialsWithDn());
@Test public void testGroupFilterPositiveWithCustomAttributes() { testCase = defaultBuilder() .userDNPatterns("cn=%s,ou=People,dc=example,dc=com") .groupDNPatterns("cn=%s,ou=Groups,dc=example,dc=com") .groupFilters(GROUP4_NAME) .guidKey("cn") .groupMembershipKey("uniqueMember") .groupClassKey("groupOfUniqueNames") .build(); testCase.assertAuthenticatePasses(USER4.credentialsWithId()); testCase.assertAuthenticatePasses(USER4.credentialsWithDn()); }
@Test public void testDirectUserMembershipGroupFilterWithDNCredentials() throws Exception { testCase = defaultBuilder() .userDNPatterns("sAMAccountName=%s,ou=Engineering,dc=ad,dc=example,dc=com") .groupDNPatterns("cn=%s,ou=Teams,dc=ad,dc=example,dc=com") .groupFilters(GROUP_TEAM1_NAME) .guidKey("sAMAccountName") .userMembershipKey("memberOf") .build(); testCase.assertAuthenticatePasses(ENGINEER_1.credentialsWithDn()); testCase.assertAuthenticateFails(MANAGER_1.credentialsWithDn()); }
@Test public void testDirectUserMembershipGroupFilterWithDifferentGroupClassKey() throws Exception { testCase = defaultBuilder() .userDNPatterns("sAMAccountName=%s,ou=Administration,dc=ad,dc=example,dc=com") .groupDNPatterns("cn=%s,ou=Administration,dc=ad,dc=example,dc=com") .groupFilters(GROUP_ADMINS_NAME) .guidKey("sAMAccountName") .userMembershipKey("memberOf") .groupClassKey("groupOfUniqueNames") .build(); testCase.assertAuthenticatePasses(ADMIN_1.credentialsWithId()); testCase.assertAuthenticateFails(ENGINEER_1.credentialsWithId()); testCase.assertAuthenticateFails(MANAGER_1.credentialsWithDn()); }