Skip to content
Snippets Groups Projects
Select Git revision
  • dba143775e326a232a7ead578bf124a181bb32e7
  • main default protected
  • release
  • create-gitlab-pipeline
  • OZG-7426-Dateitransfer-Eingang
  • OZG-7324-license-header-update
  • 4.15.0
  • 4.14.0
  • 4.13.0
  • 4.12.0
  • 4.11.0
  • 4.10.0
  • 4.9.0
  • 4.8.0
  • 4.7.0
  • 4.6.0
  • 4.5.0
  • 4.4.0
  • 4.3.2
  • 4.3.1
  • 4.3.0
  • 4.2.0
  • 4.1.0
  • 4.0.1
  • 3.0.1
  • 3.0.0
26 results

readme.md

Blame
  • GroupMapperTest.java 3.29 KiB
    package de.ozgcloud.admin.keycloak;
    
    import static org.assertj.core.api.Assertions.*;
    import static org.mockito.Mockito.*;
    
    import java.util.List;
    import java.util.Map;
    import java.util.UUID;
    
    import org.junit.jupiter.api.BeforeEach;
    import org.junit.jupiter.api.Nested;
    import org.junit.jupiter.api.Test;
    import org.keycloak.representations.idm.GroupRepresentation;
    import org.mapstruct.factory.Mappers;
    import org.mockito.Spy;
    
    class GroupMapperTest {
    
    	@Spy
    	private final GroupMapper mapper = Mappers.getMapper(GroupMapper.class);
    
    	@Nested
    	class TestGetOrganisationsEinheitId {
    
    		@Test
    		void shouldReturnNullIfAttributesAreNull() {
    			var result = mapper.getOrganisationsEinheitId(null);
    
    			assertThat(result).isNull();
    		}
    
    		@Test
    		void shouldReturnNullIfAttributeIsAbsent() {
    			var result = mapper.getOrganisationsEinheitId(Map.of("dummy-attribute", List.of("123")));
    
    			assertThat(result).isNull();
    		}
    
    		@Test
    		void shouldReturnOrganisationsEinheitId() {
    			var value = GroupRepresentationTestFactory.ORGANISATIONS_EINHEIT_ID;
    			var result = mapper.getOrganisationsEinheitId(Map.of(GroupMapper.ORGANIZATIONS_EINHEIT_ID_ATTRIBUTE, List.of(value)));
    
    			assertThat(result).isEqualTo(value);
    		}
    
    		@Test
    		void shouldReturnFirstValueIfMultipleAreAvailable() {
    			var value = GroupRepresentationTestFactory.ORGANISATIONS_EINHEIT_ID;
    			var value2 = UUID.randomUUID().toString();
    
    			var result = mapper.getOrganisationsEinheitId(Map.of(GroupMapper.ORGANIZATIONS_EINHEIT_ID_ATTRIBUTE, List.of(value, value2)));
    
    			assertThat(result).isEqualTo(value);
    		}
    	}
    
    	@Nested
    	class TestFromGroupRepresentation {
    
    		private final GroupRepresentation groupRepresentation = GroupRepresentationTestFactory.create();
    
    		@BeforeEach
    		void init() {
    			doReturn(GroupRepresentationTestFactory.ORGANISATIONS_EINHEIT_ID).when(mapper).getOrganisationsEinheitId(groupRepresentation.getAttributes());
    		}
    
    		@Test
    		void shouldGetOrganisationsEinheitId() {
    			callMapper();
    
    			verify(mapper).getOrganisationsEinheitId(groupRepresentation.getAttributes());
    		}
    
    		@Test
    		void shouldSetOrganisationsEinheitId() {
    			var group = callMapper();
    
    			assertThat(group.getOrganisationsEinheitId()).isEqualTo(GroupRepresentationTestFactory.ORGANISATIONS_EINHEIT_ID);
    		}
    
    		@Test
    		void shouldSetName() {
    			var group = callMapper();
    
    			assertThat(group.getName()).isEqualTo(GroupRepresentationTestFactory.NAME);
    		}
    
    		@Test
    		void shouldSetSubGroupsToEmptyList() {
    			var group = callMapper();
    
    			assertThat(group.getSubGroups()).isEmpty();
    		}
    
    		private Group callMapper() {
    			return mapper.fromGroupRepresentation(groupRepresentation);
    		}
    	}
    
    	@Nested
    	class TestFromGroupRepresentations {
    
    		private GroupRepresentation groupRepresentation = GroupRepresentationTestFactory.create();
    		private Group group = GroupTestFactory.createWithEmptySubGroups();
    
    		@BeforeEach
    		void init() {
    			doReturn(group).when(mapper).fromGroupRepresentation(groupRepresentation);
    		}
    
    		@Test
    		void shouldMapFromGroupRepresentation() {
    			callMapper();
    
    			verify(mapper).fromGroupRepresentation(groupRepresentation);
    		}
    
    		@Test
    		void shouldReturnListWithGroupRepresentation() {
    			var groups = callMapper();
    
    			assertThat(groups).containsExactly(group);
    		}
    
    		private List<Group> callMapper() {
    			return mapper.fromGroupRepresentations(List.of(groupRepresentation));
    		}
    	}
    }