From 32d069ac97b5976831c2c1442108459acc84c842 Mon Sep 17 00:00:00 2001 From: Holger Hagen <19706592+holgerhagen@users.noreply.github.com> Date: Thu, 5 Mar 2020 11:57:01 +0100 Subject: [PATCH] TSK-1152: added test coverage for util methods. --- .../java/pro/taskana/ldap/LdapClient.java | 20 ++++++++++-------- .../java/pro/taskana/ldap/LdapClientTest.java | 21 ++++++++++++++++++- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java index 83b545993..119050c76 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java @@ -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 { @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. */ diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java index 66ada485d..4d357efa5 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java @@ -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])); } }