diff --git a/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java b/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java index c71151ecd630bde09ea3ca835430031be361d34b..a18a572526e3e4da1ca1bbc66433fe17266acedc 100644 --- a/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java +++ b/src/main/java/de/ozgcloud/admin/keycloak/GroupMapper.java @@ -23,15 +23,6 @@ abstract class GroupMapper { public abstract List<Group> fromGroupRepresentations(List<GroupRepresentation> groupRepresentations); - @AfterMapping - protected void deleteGroupsWithoutOrganisationsEinheitId(@MappingTarget List<Group> groups) { - groups.removeIf(this::isMissingOrganisationsEinheitId); - } - - protected boolean isMissingOrganisationsEinheitId(Group group) { - return StringUtils.isBlank(group.getOrganisationsEinheitId()); - } - @Mapping(target = "organisationsEinheitId", source = "attributes") public abstract Group fromGroupRepresentation(GroupRepresentation groupRepresentation); @@ -49,6 +40,15 @@ abstract class GroupMapper { return values.getFirst(); } + @AfterMapping + protected void deleteGroupsWithoutOrganisationsEinheitId(@MappingTarget List<Group> groups) { + groups.removeIf(this::isMissingOrganisationsEinheitId); + } + + protected boolean isMissingOrganisationsEinheitId(Group group) { + return StringUtils.isBlank(group.getOrganisationsEinheitId()); + } + @Mapping(target = "attributes", expression = "java(buildGroupAttributes(groupToAdd))") public abstract GroupRepresentation toGroupRepresentation(AddGroupData groupToAdd); diff --git a/src/test/java/de/ozgcloud/admin/keycloak/GroupMapperTest.java b/src/test/java/de/ozgcloud/admin/keycloak/GroupMapperTest.java index cbe73bd7b0186d895a6ff8140940ad478bc8f851..82b47bca310517e47c6ac5b812c4abc9aef66db9 100644 --- a/src/test/java/de/ozgcloud/admin/keycloak/GroupMapperTest.java +++ b/src/test/java/de/ozgcloud/admin/keycloak/GroupMapperTest.java @@ -93,65 +93,6 @@ class GroupMapperTest { } } - @Nested - class TestDeleteGroupsWithoutOrganisationsEinheitId { - - private final Group group = GroupTestFactory.create(); - private final List<Group> groups = new ArrayList<>(); - - @BeforeEach - void init() { - groups.add(group); - } - - @Test - void shouldCheckIfGroupHasOrganisationsEinheitId() { - mapper.deleteGroupsWithoutOrganisationsEinheitId(groups); - - verify(mapper).isMissingOrganisationsEinheitId(group); - } - - @Test - void shouldKeepGroupsWithOrganisationsEinheitId() { - doReturn(false).when(mapper).isMissingOrganisationsEinheitId(group); - - mapper.deleteGroupsWithoutOrganisationsEinheitId(groups); - - assertThat(groups).containsExactly(group); - } - - @Test - void shouldRemoveGroupsWithoutOrganisationsEinheitId() { - doReturn(true).when(mapper).isMissingOrganisationsEinheitId(group); - - mapper.deleteGroupsWithoutOrganisationsEinheitId(groups); - - assertThat(groups).isEmpty(); - } - } - - @Nested - class TestIsMissingOrganisationsEinheitId { - - @ParameterizedTest - @ValueSource(strings = " ") - @NullAndEmptySource - void shouldReturnTrueIfIdIsBlank(String organisationsEinheitId) { - var group = GroupTestFactory.createBuilder().organisationsEinheitId(organisationsEinheitId).build(); - - var isMissing = mapper.isMissingOrganisationsEinheitId(group); - - assertThat(isMissing).isTrue(); - } - - @Test - void shouldReturnFalseIfIdIsSet() { - var isMissing = mapper.isMissingOrganisationsEinheitId(GroupTestFactory.create()); - - assertThat(isMissing).isFalse(); - } - } - @Nested class TestFromGroupRepresentation { @@ -246,6 +187,65 @@ class GroupMapperTest { } } + @Nested + class TestDeleteGroupsWithoutOrganisationsEinheitId { + + private final Group group = GroupTestFactory.create(); + private final List<Group> groups = new ArrayList<>(); + + @BeforeEach + void init() { + groups.add(group); + } + + @Test + void shouldCheckIfGroupHasOrganisationsEinheitId() { + mapper.deleteGroupsWithoutOrganisationsEinheitId(groups); + + verify(mapper).isMissingOrganisationsEinheitId(group); + } + + @Test + void shouldKeepGroupsWithOrganisationsEinheitId() { + doReturn(false).when(mapper).isMissingOrganisationsEinheitId(group); + + mapper.deleteGroupsWithoutOrganisationsEinheitId(groups); + + assertThat(groups).containsExactly(group); + } + + @Test + void shouldRemoveGroupsWithoutOrganisationsEinheitId() { + doReturn(true).when(mapper).isMissingOrganisationsEinheitId(group); + + mapper.deleteGroupsWithoutOrganisationsEinheitId(groups); + + assertThat(groups).isEmpty(); + } + } + + @Nested + class TestIsMissingOrganisationsEinheitId { + + @ParameterizedTest + @ValueSource(strings = " ") + @NullAndEmptySource + void shouldReturnTrueIfIdIsBlank(String organisationsEinheitId) { + var group = GroupTestFactory.createBuilder().organisationsEinheitId(organisationsEinheitId).build(); + + var isMissing = mapper.isMissingOrganisationsEinheitId(group); + + assertThat(isMissing).isTrue(); + } + + @Test + void shouldReturnFalseIfIdIsSet() { + var isMissing = mapper.isMissingOrganisationsEinheitId(GroupTestFactory.create()); + + assertThat(isMissing).isFalse(); + } + } + @Nested class TestToGroupRepresentation {