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; return result;
} }
private boolean nameIsDn(String name) { boolean nameIsDn(String name) {
return name.toLowerCase().endsWith(getBaseDn().toLowerCase()); 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. */ /** Context Mapper for user entries. */
class GroupContextMapper extends AbstractContextMapper<AccessIdResource> { class GroupContextMapper extends AbstractContextMapper<AccessIdResource> {
@Override @Override
public AccessIdResource doMapFromContext(final DirContextOperations context) { public AccessIdResource doMapFromContext(final DirContextOperations context) {
final AccessIdResource accessId = new AccessIdResource(); final AccessIdResource accessId = new AccessIdResource();
String dn = getDnWithBaseDn(context); String dn = getDnWithBaseDn(context.getDn().toString());
accessId.setAccessId(dn); // fully qualified dn accessId.setAccessId(dn); // fully qualified dn
accessId.setName(context.getStringAttribute(getGroupNameAttribute())); accessId.setName(context.getStringAttribute(getGroupNameAttribute()));
return accessId; 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. */ /** Context Mapper for user entries. */

View File

@ -135,6 +135,23 @@ class LdapClientTest {
.hasSize(LdapSettings.values().length - 2); .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() { private void setUpEnvMock() {
Stream.of( Stream.of(
@ -156,6 +173,8 @@ class LdapClientTest {
{"taskana.ldap.userFirstnameAttribute", "givenName"}, {"taskana.ldap.userFirstnameAttribute", "givenName"},
{"taskana.ldap.userSearchFilterValue", "person"} {"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]));
} }
} }