diff --git a/src/main/java/de/bonndan/nivio/appuser/AppUser.java b/src/main/java/de/bonndan/nivio/appuser/AppUser.java index 6855dfa9b..d629f769b 100644 --- a/src/main/java/de/bonndan/nivio/appuser/AppUser.java +++ b/src/main/java/de/bonndan/nivio/appuser/AppUser.java @@ -91,10 +91,6 @@ public class AppUser implements UserDetails { @Column private Boolean enabled; - public AppUser() { - - } - @Override public Collection getAuthorities() { SimpleGrantedAuthority authority = new SimpleGrantedAuthority(appUserRole.name()); @@ -207,7 +203,5 @@ public void setExternalId(String externalId) { this.externalId = externalId; } - public void setIdp(String idp) { - this.idp = idp; - } + public void setIdp(String idp) { this.idp = idp; } } \ No newline at end of file diff --git a/src/test/java/de/bonndan/nivio/appuser/AppUserRepositoryTest.java b/src/test/java/de/bonndan/nivio/appuser/AppUserRepositoryTest.java index c95eb7cab..03828f1d6 100644 --- a/src/test/java/de/bonndan/nivio/appuser/AppUserRepositoryTest.java +++ b/src/test/java/de/bonndan/nivio/appuser/AppUserRepositoryTest.java @@ -6,7 +6,8 @@ import java.util.Optional; -import static org.junit.jupiter.api.Assertions.*; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import static org.junit.jupiter.api.Assertions.assertNotNull; @DataJpaTest class AppUserRepositoryTest { @@ -14,6 +15,9 @@ class AppUserRepositoryTest { @Autowired private AppUserRepository appUserRepository; + AppUserService appUserService = new AppUserService(appUserRepository); + + @Test void findByExternalId() { Optional appUser = Optional.of(new AppUser()); diff --git a/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java b/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java new file mode 100644 index 000000000..4b4ab2fbf --- /dev/null +++ b/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java @@ -0,0 +1,44 @@ +package de.bonndan.nivio.appuser; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UsernameNotFoundException; + +import java.util.Optional; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; + +@DataJpaTest +class AppUserServiceTest { + + + @Test + void loadUserByUsername() { + + // given + AppUser appUser = mock(AppUser.class); + AppUserRepository appUserRepository = mock(AppUserRepository.class); + AppUserService appUserService = new AppUserService(appUserRepository); + + // when + doReturn(Optional.of(appUser)).when(appUserRepository).findByExternalId("123"); + UserDetails userDetails = appUserService.loadUserByUsername("123"); + + // then + assertThat(userDetails).isEqualTo(appUser); + assertNull(userDetails.getUsername()); + assertNull(userDetails.getPassword()); + assertFalse(userDetails.isAccountNonExpired()); + assertFalse(userDetails.isAccountNonLocked()); + assertFalse(userDetails.isCredentialsNonExpired()); + + assertThrows(UsernameNotFoundException.class, () -> { + appUserService.loadUserByUsername(""); + }); + } + +} \ No newline at end of file diff --git a/src/test/java/de/bonndan/nivio/appuser/AppUserTest.java b/src/test/java/de/bonndan/nivio/appuser/AppUserTest.java new file mode 100644 index 000000000..823f24547 --- /dev/null +++ b/src/test/java/de/bonndan/nivio/appuser/AppUserTest.java @@ -0,0 +1,146 @@ +package de.bonndan.nivio.appuser; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class AppUserTest { + + AppUser appUser = new AppUser(); + + @Test + void isEnabled() { + appUser.setEnabled(true); + assertEquals(true, appUser.getEnabled()); + } + + @Test + void getId() { + appUser.setId(1L); + assertEquals(1L, appUser.getId()); + } + + @Test + void getName() { + appUser.setName("name"); + assertEquals("name", appUser.getName()); + } + + @Test + void getAlias() { + appUser.setAlias("alias"); + assertEquals("alias", appUser.getAlias()); + } + + @Test + void getEmail() { + appUser.setEmail("email"); + assertEquals("email", appUser.getEmail()); + } + + @Test + void getAvatarUrl() { + appUser.setAvatarUrl("avatarUrl"); + assertEquals("avatarUrl", appUser.getAvatarUrl()); + } + + @Test + void getAppUserRole() { + appUser.setAppUserRole(AppUserRole.USER); + assertEquals(AppUserRole.USER, appUser.getAppUserRole()); + } + + @Test + void getExternalId() { + appUser.setExternalId("123"); + assertEquals("123", appUser.getExternalId()); + } + + @Test + void getIdp() { + appUser.setIdp("github"); + assertEquals("github", appUser.getIdp()); + } + + @Test + void getLocked() { + appUser.setLocked(false); + assertEquals(false, appUser.getLocked()); + } + + @Test + void getEnabled() { + appUser.setEnabled(true); + assertEquals(true, appUser.getEnabled()); + } + + @Test + void setId() { + Long id = 1L; + appUser.setId(id); + assertEquals(id, appUser.getId()); + } + + @Test + void setName() { + String name = "name"; + appUser.setName(name); + assertEquals(name, appUser.getName()); + } + + @Test + void setAlias() { + String alias = "login"; + appUser.setAlias(alias); + assertEquals(alias, appUser.getAlias()); + } + + @Test + void setEmail() { + String email = "email"; + appUser.setEmail(email); + assertEquals(email, appUser.getEmail()); + } + + @Test + void setAvatarUrl() { + String avatarUrl = "avatarUrl"; + appUser.setAvatarUrl(avatarUrl); + assertEquals(avatarUrl, appUser.getAvatarUrl()); + } + + @Test + void setAppUserRole() { + appUser.setAppUserRole(AppUserRole.USER); + assertEquals(AppUserRole.USER, appUser.getAppUserRole()); + } + + @Test + void setLocked() { + Boolean locked = false; + appUser.setLocked(locked); + assertEquals(locked, appUser.getLocked()); + } + + @Test + void setEnabled() { + Boolean enabled = true; + appUser.setEnabled(enabled); + assertEquals(enabled, appUser.getEnabled()); + } + + @Test + void setExternalId() { + String externalId = "123"; + appUser.setExternalId(externalId); + assertEquals(externalId, appUser.getExternalId()); + } + + @Test + void setIdp() { + String idp = "github"; + appUser.setIdp(idp); + assertEquals(idp, appUser.getIdp()); + } +} \ No newline at end of file