diff --git a/pom.xml b/pom.xml
index 6c0a4b877..354bad8bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -324,14 +324,6 @@
runtime
-
-
- org.projectlombok
- lombok
- 1.18.22
- provided
-
-
org.springframework.boot
spring-boot-starter-thymeleaf
diff --git a/src/main/java/de/bonndan/nivio/appuser/AppUser.java b/src/main/java/de/bonndan/nivio/appuser/AppUser.java
index 656cf117d..c0ae093f9 100644
--- a/src/main/java/de/bonndan/nivio/appuser/AppUser.java
+++ b/src/main/java/de/bonndan/nivio/appuser/AppUser.java
@@ -202,4 +202,4 @@ public void setExternalId(String externalId) {
}
public void setIdp(String idp) { this.idp = idp; }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/bonndan/nivio/appuser/AppUserService.java b/src/main/java/de/bonndan/nivio/appuser/AppUserService.java
index bd53eaa95..5dd85c2e3 100644
--- a/src/main/java/de/bonndan/nivio/appuser/AppUserService.java
+++ b/src/main/java/de/bonndan/nivio/appuser/AppUserService.java
@@ -20,4 +20,4 @@ public UserDetails loadUserByUsername(String externalId) throws UsernameNotFound
.orElseThrow(() -> new UsernameNotFoundException(String.format(USER_NOT_FOUND, externalId)));
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/bonndan/nivio/security/AuthConfigProperties.java b/src/main/java/de/bonndan/nivio/security/AuthConfigProperties.java
index b2915d2d5..bf7bb90f1 100644
--- a/src/main/java/de/bonndan/nivio/security/AuthConfigProperties.java
+++ b/src/main/java/de/bonndan/nivio/security/AuthConfigProperties.java
@@ -59,4 +59,4 @@ public String getGithubAliasAttribute() {
public void setGithubAliasAttribute(String githubAliasAttribute) {
this.githubAliasAttribute = githubAliasAttribute;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/bonndan/nivio/security/CustomOAuth2User.java b/src/main/java/de/bonndan/nivio/security/CustomOAuth2User.java
index 03920d293..f42de5eca 100644
--- a/src/main/java/de/bonndan/nivio/security/CustomOAuth2User.java
+++ b/src/main/java/de/bonndan/nivio/security/CustomOAuth2User.java
@@ -74,4 +74,4 @@ public String getIdp() {
public String getExternalId() {
return externalId;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/bonndan/nivio/security/CustomOAuth2UserService.java b/src/main/java/de/bonndan/nivio/security/CustomOAuth2UserService.java
index 52fae5499..f02936fe9 100644
--- a/src/main/java/de/bonndan/nivio/security/CustomOAuth2UserService.java
+++ b/src/main/java/de/bonndan/nivio/security/CustomOAuth2UserService.java
@@ -102,4 +102,4 @@ private void saveUser(CustomOAuth2User customOAuth2User) {
}
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/bonndan/nivio/security/LoginController.java b/src/main/java/de/bonndan/nivio/security/LoginController.java
index 18634e997..82083f1bb 100644
--- a/src/main/java/de/bonndan/nivio/security/LoginController.java
+++ b/src/main/java/de/bonndan/nivio/security/LoginController.java
@@ -66,4 +66,4 @@ public String showLoginPage(Model model, OAuth2AuthenticationToken token) {
return "login";
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/bonndan/nivio/security/MvcConfig.java b/src/main/java/de/bonndan/nivio/security/MvcConfig.java
index ff41b3583..fed976ce6 100644
--- a/src/main/java/de/bonndan/nivio/security/MvcConfig.java
+++ b/src/main/java/de/bonndan/nivio/security/MvcConfig.java
@@ -15,4 +15,3 @@ public void addViewControllers(ViewControllerRegistry registry) {
}
}
-
diff --git a/src/main/java/de/bonndan/nivio/security/SecurityConfig.java b/src/main/java/de/bonndan/nivio/security/SecurityConfig.java
index 361d22d18..4845c6b65 100644
--- a/src/main/java/de/bonndan/nivio/security/SecurityConfig.java
+++ b/src/main/java/de/bonndan/nivio/security/SecurityConfig.java
@@ -150,4 +150,4 @@ public void writeHeaders(HttpServletRequest request, HttpServletResponse respons
}
}
-}
\ No newline at end of file
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 5688621db..9f11633ef 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -123,15 +123,3 @@ spring:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.H2Dialect
-
-
-#security:
-# oauth2:
-# client:
-# access-token-uri: https://github.com/login/oauth/access_token
-# user-authorization-uri: https://github.com/login/oauth/authorize
-# scope: read:user,user:email
-# client-id: 89a7c4facbb3434d599d
-# client-secret: 9b3b08e4a340bd20e866787e4645b54f73d74b6a
-# resource:
-# user-info-uri: https://api.github.com/user
\ 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 03828f1d6..f19a2ad27 100644
--- a/src/test/java/de/bonndan/nivio/appuser/AppUserRepositoryTest.java
+++ b/src/test/java/de/bonndan/nivio/appuser/AppUserRepositoryTest.java
@@ -15,11 +15,12 @@ class AppUserRepositoryTest {
@Autowired
private AppUserRepository appUserRepository;
- AppUserService appUserService = new AppUserService(appUserRepository);
-
-
@Test
void findByExternalId() {
+
+ AppUser appUser1 = new AppUser();
+ appUserRepository.save(appUser1);
+ // given
Optional appUser = Optional.of(new AppUser());
appUser.get().setExternalId("100");
appUser.get().setAlias("login");
@@ -27,9 +28,11 @@ void findByExternalId() {
appUser.get().setId(1L);
appUser.get().setIdp("github");
+ // when
appUser.ifPresent(user -> appUserRepository.save(user));
final Optional fetchedAppUser = appUserRepository.findByExternalId(appUser.get().getExternalId());
+ // then
assertNotNull(appUser);
assertThat(fetchedAppUser)
@@ -43,4 +46,4 @@ void findByExternalId() {
});
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/appuser/AppUserRoleTest.java b/src/test/java/de/bonndan/nivio/appuser/AppUserRoleTest.java
index ed68820d3..41d0ab49e 100644
--- a/src/test/java/de/bonndan/nivio/appuser/AppUserRoleTest.java
+++ b/src/test/java/de/bonndan/nivio/appuser/AppUserRoleTest.java
@@ -2,17 +2,20 @@
import org.junit.jupiter.api.Test;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
class AppUserRoleTest {
@Test
void valueOf() {
- assertThat(AppUserRole.valueOf("ADMIN"), is(notNullValue()));
- assertThat(AppUserRole.valueOf("USER"), is(notNullValue()));
+ // when
+ AppUserRole admin = AppUserRole.ADMIN;
+ AppUserRole user = AppUserRole.USER;
+
+ // then
+ assertEquals(AppUserRole.valueOf("ADMIN"), admin);
+ assertEquals(AppUserRole.valueOf("USER"), user);
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java b/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java
index 4b4ab2fbf..92f7279bb 100644
--- a/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java
+++ b/src/test/java/de/bonndan/nivio/appuser/AppUserServiceTest.java
@@ -20,7 +20,9 @@ class AppUserServiceTest {
void loadUserByUsername() {
// given
- AppUser appUser = mock(AppUser.class);
+ AppUser appUser = new AppUser();
+ appUser.setLocked(false);
+
AppUserRepository appUserRepository = mock(AppUserRepository.class);
AppUserService appUserService = new AppUserService(appUserRepository);
@@ -32,13 +34,13 @@ void loadUserByUsername() {
assertThat(userDetails).isEqualTo(appUser);
assertNull(userDetails.getUsername());
assertNull(userDetails.getPassword());
- assertFalse(userDetails.isAccountNonExpired());
- assertFalse(userDetails.isAccountNonLocked());
- assertFalse(userDetails.isCredentialsNonExpired());
+ assertTrue(userDetails.isAccountNonExpired());
+ assertTrue(userDetails.isAccountNonLocked());
+ assertTrue(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
index 9c958250e..9a37ee3f0 100644
--- a/src/test/java/de/bonndan/nivio/appuser/AppUserTest.java
+++ b/src/test/java/de/bonndan/nivio/appuser/AppUserTest.java
@@ -10,136 +10,187 @@ class AppUserTest {
@Test
void isEnabled() {
+ // when
appUser.setEnabled(true);
+ // then
assertEquals(true, appUser.getEnabled());
}
@Test
void getId() {
+ // when
appUser.setId(1L);
+ // then
assertEquals(1L, appUser.getId());
}
@Test
void getName() {
+ // when
appUser.setName("name");
+ // then
assertEquals("name", appUser.getName());
}
@Test
void getAlias() {
+ // when
appUser.setAlias("alias");
+ // then
assertEquals("alias", appUser.getAlias());
}
@Test
void getEmail() {
+ // when
appUser.setEmail("email");
+ // then
assertEquals("email", appUser.getEmail());
}
@Test
void getAvatarUrl() {
+ // when
appUser.setAvatarUrl("avatarUrl");
+ // then
assertEquals("avatarUrl", appUser.getAvatarUrl());
}
@Test
void getAppUserRole() {
+ // when
appUser.setAppUserRole(AppUserRole.USER);
+ // then
assertEquals(AppUserRole.USER, appUser.getAppUserRole());
}
@Test
void getExternalId() {
+ // when
appUser.setExternalId("123");
+ // then
assertEquals("123", appUser.getExternalId());
}
@Test
void getIdp() {
+ // when
appUser.setIdp("github");
+ // then
assertEquals("github", appUser.getIdp());
}
@Test
void getLocked() {
+ // when
appUser.setLocked(false);
+ // then
assertEquals(false, appUser.getLocked());
}
@Test
void getEnabled() {
+ // when
appUser.setEnabled(true);
+ // then
assertEquals(true, appUser.getEnabled());
}
@Test
void setId() {
+ // given
Long id = 1L;
+ // when
appUser.setId(id);
+ // then
assertEquals(id, appUser.getId());
}
@Test
void setName() {
+ // given
String name = "name";
+ // when
appUser.setName(name);
+ // then
assertEquals(name, appUser.getName());
}
@Test
void setAlias() {
+ // given
String alias = "login";
+ // when
appUser.setAlias(alias);
+ // then
assertEquals(alias, appUser.getAlias());
}
@Test
void setEmail() {
+ // given
String email = "email";
+ // when
appUser.setEmail(email);
+ // then
assertEquals(email, appUser.getEmail());
}
@Test
void setAvatarUrl() {
+ // given
String avatarUrl = "avatarUrl";
+ // when
appUser.setAvatarUrl(avatarUrl);
+ // then
assertEquals(avatarUrl, appUser.getAvatarUrl());
}
@Test
void setAppUserRole() {
+ // when
appUser.setAppUserRole(AppUserRole.USER);
+ // then
assertEquals(AppUserRole.USER, appUser.getAppUserRole());
}
@Test
void setLocked() {
+ // given
Boolean locked = false;
+ // when
appUser.setLocked(locked);
+ // then
assertEquals(locked, appUser.getLocked());
}
@Test
void setEnabled() {
+ // given
Boolean enabled = true;
+ // when
appUser.setEnabled(enabled);
+ // then
assertEquals(enabled, appUser.getEnabled());
}
@Test
void setExternalId() {
+ // given
String externalId = "123";
+ // when
appUser.setExternalId(externalId);
+ // then
assertEquals(externalId, appUser.getExternalId());
}
@Test
void setIdp() {
+ // given
String idp = "github";
+ // when
appUser.setIdp(idp);
+ // then
assertEquals(idp, appUser.getIdp());
}
@@ -154,8 +205,11 @@ void setIdp() {
@Test
void isAccountNonLocked() {
+ // given
Boolean locked = false;
+ // when
appUser.setLocked(locked);
+ // then
assertEquals(!locked, appUser.isAccountNonLocked()); }
@Test
@@ -163,4 +217,4 @@ void isAccountNonLocked() {
@Test
void testIsEnabled() { assertTrue(appUser.isEnabled()); }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/security/AuthConfigPropertiesTest.java b/src/test/java/de/bonndan/nivio/security/AuthConfigPropertiesTest.java
index 010107eb7..c75785a0f 100644
--- a/src/test/java/de/bonndan/nivio/security/AuthConfigPropertiesTest.java
+++ b/src/test/java/de/bonndan/nivio/security/AuthConfigPropertiesTest.java
@@ -17,7 +17,7 @@
import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
-@SpringBootTest(classes = { ValidationAutoConfiguration.class })
+@SpringBootTest(classes = {ValidationAutoConfiguration.class})
@ExtendWith(MockitoExtension.class)
@ActiveProfiles("test")
class AuthConfigPropertiesTest {
@@ -27,19 +27,23 @@ class AuthConfigPropertiesTest {
@Test
void defaultLogin() {
+ // given
AuthConfigProperties props = new AuthConfigProperties();
+ // when
Set> validate = localValidatorFactoryBean.getValidator().validate(props);
-
+ // then
assertThat(validate).isEmpty();
assertThat(props.getLoginMode()).isEqualTo(SecurityConfig.LOGIN_MODE_NONE);
}
@Test
void loginValidated() {
+ // given
AuthConfigProperties props = new AuthConfigProperties();
+ // when
props.setLoginMode("foo");
Set> validate = localValidatorFactoryBean.getValidator().validate(props);
-
+ // then
assertThat(validate).isNotEmpty();
ConstraintViolation[] constraintViolations = (ConstraintViolation[]) validate.toArray(ConstraintViolation[]::new);
assertThat(constraintViolations[0].getMessage()).isEqualTo("Login mode must be one of none|optional|required");
@@ -47,14 +51,16 @@ void loginValidated() {
@Test
void allowedOrigins() {
+ // given
AuthConfigProperties props = new AuthConfigProperties();
+ // when
props.setLoginMode("required");
props.setAllowedOriginPatterns("http://*.foo.com;https://*.domain1.com:[8080,8081]");
-
Set> validate = localValidatorFactoryBean.getValidator().validate(props);
+ // then
assertThat(validate).isEmpty();
assertThat(props.getAllowedOriginPatterns()).hasSize(2)
.contains("http://*.foo.com")
.contains("https://*.domain1.com:[8080,8081]");
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserServiceTest.java b/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserServiceTest.java
index 3e9da50ef..8d67157ab 100644
--- a/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserServiceTest.java
+++ b/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserServiceTest.java
@@ -5,7 +5,7 @@
import de.bonndan.nivio.appuser.AppUserRole;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.core.user.OAuth2User;
import org.springframework.security.oauth2.core.user.OAuth2UserAuthority;
@@ -28,7 +28,7 @@ class CustomOAuth2UserServiceTest {
private Collection authorities;
private CustomOAuth2User customOAuth2User;
- @MockBean
+ @Autowired
AppUserRepository appUserRepository;
@BeforeEach
@@ -51,11 +51,11 @@ public void setup() {
@Test
void fromGitHubUser() {
- //given
+ // when
when(oAuth2User.getAttribute("name")).thenReturn(name);
customOAuth2User = CustomOAuth2UserService.fromGitHubUser(oAuth2User, "login", "name");
- //then
+ // then
assertThat(customOAuth2User).isNotNull();
assertThat(customOAuth2User.getAlias()).isEqualTo(login);
assertThat(customOAuth2User.getExternalId()).isEqualTo(externalId);
@@ -65,11 +65,11 @@ void fromGitHubUser() {
@Test
void fromGitHubUserWithMissingNameFallsBackToLogin() {
- //given
+ // when
when(oAuth2User.getAttribute("name")).thenReturn(null);
customOAuth2User = CustomOAuth2UserService.fromGitHubUser(oAuth2User, "login", "name");
- //then
+ // then
assertThat(customOAuth2User.getName()).isEqualTo(login);
}
@@ -79,6 +79,8 @@ void saveUser() {
// given
customOAuth2User = CustomOAuth2UserService.fromGitHubUser(oAuth2User, "login", "name");
AppUser appUser = new AppUser();
+
+ // when
appUser.setName(customOAuth2User.getName());
appUser.setAlias(customOAuth2User.getAlias());
appUser.setAvatarUrl(customOAuth2User.getAvatarUrl());
@@ -100,4 +102,4 @@ void saveUser() {
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserTest.java b/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserTest.java
index a187dfef8..3cb97a39c 100644
--- a/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserTest.java
+++ b/src/test/java/de/bonndan/nivio/security/CustomOAuth2UserTest.java
@@ -79,4 +79,4 @@ void getAuthorities() {
@Test
void getIdp() { assertThat(customOAuth2User.getIdp()).isEqualTo(idp); }
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/security/LoginControllerCaseNoneTest.java b/src/test/java/de/bonndan/nivio/security/LoginControllerCaseNoneTest.java
index 9ff957935..3acd5a2d0 100644
--- a/src/test/java/de/bonndan/nivio/security/LoginControllerCaseNoneTest.java
+++ b/src/test/java/de/bonndan/nivio/security/LoginControllerCaseNoneTest.java
@@ -26,4 +26,4 @@ void testShowLoginPageForNone() throws Exception {
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/security/LoginControllerCaseRequiredTest.java b/src/test/java/de/bonndan/nivio/security/LoginControllerCaseRequiredTest.java
index 8938dcda6..635bb03fb 100644
--- a/src/test/java/de/bonndan/nivio/security/LoginControllerCaseRequiredTest.java
+++ b/src/test/java/de/bonndan/nivio/security/LoginControllerCaseRequiredTest.java
@@ -88,4 +88,4 @@ void securedSockets() {
.get(1, SECONDS);
}).isInstanceOf(ExecutionException.class).hasCauseExactlyInstanceOf(DeploymentException.class);
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/de/bonndan/nivio/security/LoginControllerUnitTest.java b/src/test/java/de/bonndan/nivio/security/LoginControllerUnitTest.java
index e2d72d5b1..91fba5001 100644
--- a/src/test/java/de/bonndan/nivio/security/LoginControllerUnitTest.java
+++ b/src/test/java/de/bonndan/nivio/security/LoginControllerUnitTest.java
@@ -52,4 +52,4 @@ void showLoginPage() {
assertThat(model.getAttribute("brandingMessage")).isEqualTo("foo");
}
-}
\ No newline at end of file
+}
diff --git a/src/test/resources/example/example_four_groups.yml b/src/test/resources/example/example_four_groups.yml
index f4419c0bb..72280ad15 100644
--- a/src/test/resources/example/example_four_groups.yml
+++ b/src/test/resources/example/example_four_groups.yml
@@ -12,12 +12,12 @@ groups:
items:
- identifier: user
- name: AppUser
+ name: User
type: humanuser
group: input
relations:
- target: fe-react
- description: AppUser inputs data into React Frontend
+ description: User inputs data into React Frontend
- identifier: fe-react
name: React