TSK-1152: added test coverage for util methods.

This commit is contained in:
Holger Hagen 2020-03-05 11:57:01 +01:00
parent 9615e8f77d
commit 32d069ac97
2 changed files with 31 additions and 10 deletions

View File

@ -90,7 +90,7 @@ public class LdapClient {
return result;
}
private boolean nameIsDn(String name) {
boolean nameIsDn(String name) {
return name.toLowerCase().endsWith(getBaseDn().toLowerCase());
}
@ -348,25 +348,27 @@ public class LdapClient {
}
}
String getDnWithBaseDn(final String givenDn) {
String dn = givenDn;
if (!dn.toLowerCase().endsWith(getBaseDn().toLowerCase())) {
dn = dn + "," + getBaseDn();
}
return dn;
}
/** Context Mapper for user entries. */
class GroupContextMapper extends AbstractContextMapper<AccessIdResource> {
@Override
public AccessIdResource doMapFromContext(final DirContextOperations context) {
final AccessIdResource accessId = new AccessIdResource();
String dn = getDnWithBaseDn(context);
String dn = getDnWithBaseDn(context.getDn().toString());
accessId.setAccessId(dn); // fully qualified dn
accessId.setName(context.getStringAttribute(getGroupNameAttribute()));
return accessId;
}
private String getDnWithBaseDn(final DirContextOperations context) {
String dn = context.getDn().toString();
if (!dn.toLowerCase().endsWith(getBaseDn().toLowerCase())) {
dn = dn + "," + getBaseDn();
}
return dn;
}
}
/** Context Mapper for user entries. */

View File

@ -135,6 +135,23 @@ class LdapClientTest {
.hasSize(LdapSettings.values().length - 2);
}
@Test
void testNameIsRecognizedAsDnCorrectly() {
setUpEnvMock();
assertThat(cut.nameIsDn("uid=userid,cn=users,o=TaskanaTest")).isTrue();
assertThat(cut.nameIsDn("uid=userid,cn=users,o=taskanatest")).isTrue();
assertThat(cut.nameIsDn("uid=userid,cn=users,o=taskana")).isFalse();
}
@Test
void testDnIsCompletedCorrectly() {
setUpEnvMock();
assertThat(cut.getDnWithBaseDn("uid=userid,cn=users,o=TaskanaTest"))
.isEqualTo("uid=userid,cn=users,o=TaskanaTest");
assertThat(cut.getDnWithBaseDn("uid=userid,cn=users"))
.isEqualTo("uid=userid,cn=users,o=TaskanaTest");
}
private void setUpEnvMock() {
Stream.of(
@ -156,6 +173,8 @@ class LdapClientTest {
{"taskana.ldap.userFirstnameAttribute", "givenName"},
{"taskana.ldap.userSearchFilterValue", "person"}
})
.forEach(strings -> when(this.environment.getProperty(strings[0])).thenReturn(strings[1]));
.forEach(
strings ->
lenient().when(this.environment.getProperty(strings[0])).thenReturn(strings[1]));
}
}