Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.

Commit

Permalink
[#141] change idp to idProvider, usage of Objects.isNull()
Browse files Browse the repository at this point in the history
  • Loading branch information
jenarp committed Jan 28, 2022
1 parent eb8a2eb commit 13b7648
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 36 deletions.
14 changes: 7 additions & 7 deletions src/main/java/de/bonndan/nivio/appuser/AppUser.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
uniqueConstraints = {
@UniqueConstraint(name = "emailUnique",
columnNames = "email"),
@UniqueConstraint(name = "externalIdAndIdpUnique",
columnNames = {"externalId", "idp"})
@UniqueConstraint(name = "externalIdAndIdProviderUnique",
columnNames = {"externalId", "idProvider"})

}
)
Expand Down Expand Up @@ -40,11 +40,11 @@ public class AppUser {
private String externalId;

@Column(
name = "idp",
name = "idProvider",
nullable = false,
columnDefinition = "VARCHAR"
)
private String idp;
private String idProvider;

@Column(
name = "name",
Expand Down Expand Up @@ -111,8 +111,8 @@ public String getExternalId() {
return externalId;
}

public String getIdp() {
return idp;
public String getIdProvider() {
return idProvider;
}

public Boolean getLocked() {
Expand Down Expand Up @@ -159,6 +159,6 @@ public void setExternalId(String externalId) {
this.externalId = externalId;
}

public void setIdp(String idp) { this.idp = idp; }
public void setIdProvider(String idProvider) { this.idProvider = idProvider; }

}
17 changes: 9 additions & 8 deletions src/main/java/de/bonndan/nivio/appuser/AppUserRole.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package de.bonndan.nivio.appuser;

import java.util.Objects;

public enum AppUserRole {
USER,
ADMIN;
Expand All @@ -9,14 +11,13 @@ public enum AppUserRole {

// `of` as a substitute for `valueOf` handling the default value
public static AppUserRole of(String value) {

if(!value.equals("ADMIN")) return defaultValue;
return AppUserRole.valueOf(value);
}

// `defaultOr` for handling default value for null
public static AppUserRole defaultOr(AppUserRole value) {
return value != null ? value : defaultValue;
if (Objects.isNull(value)) {
return defaultValue;
}
else if (!ADMIN.name().equalsIgnoreCase(value)){
return defaultValue;
}
else return AppUserRole.valueOf(value);
}

}
12 changes: 6 additions & 6 deletions src/main/java/de/bonndan/nivio/security/CustomOAuth2User.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.springframework.security.oauth2.core.user.OAuth2User;

/**
* Implementation of {@link OAuth2User} which provides an alias, name, avatar url, external id, and idp
* Implementation of {@link OAuth2User} which provides an alias, name, avatar url, external id, and idProvider
*/
public class CustomOAuth2User implements OAuth2User {

Expand All @@ -19,7 +19,7 @@ public class CustomOAuth2User implements OAuth2User {
@NonNull
private final String alias;
private final String externalId;
private final String idp;
private final String idProvider;
private final Map<String, Object> attributes;
private final Collection<? extends GrantedAuthority> authorities;

Expand All @@ -29,13 +29,13 @@ public CustomOAuth2User(@NonNull final String externalId,
@NonNull final Map<String, Object> attributes,
@NonNull final Collection<? extends GrantedAuthority> authorities,
@Nullable final String avatarUrl,
@NonNull final String idp
@NonNull final String idProvider
) {
this.externalId = Objects.requireNonNull(externalId, "id must not be null");
this.alias = Objects.requireNonNull(alias, "alias must not be null");
this.attributes = Objects.requireNonNull(attributes, "attributes must not be null");
this.authorities = Objects.requireNonNull(authorities, "authorities must not be null");
this.idp = Objects.requireNonNull(idp, "idp must not be null");
this.idProvider = Objects.requireNonNull(idProvider, "idp must not be null");
this.name = name;
this.avatarUrl = avatarUrl;

Expand Down Expand Up @@ -67,8 +67,8 @@ public String getAlias() {
}

@NonNull
public String getIdp() {
return idp;
public String getIdProvider() {
return idProvider;
}

@NonNull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public void onLogin(final OAuth2LoginEvent oAuth2LoginEvent) {
newAppUser.setLocked(false);
newAppUser.setEnabled(true);
newAppUser.setExternalId(customOAuth2User.getExternalId());
newAppUser.setIdp(customOAuth2User.getIdp());
newAppUser.setIdProvider(customOAuth2User.getIdProvider());

appUserRepository.save(newAppUser);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ void findByExternalId() {
appUser.setExternalId("100");
appUser.setAlias("login");
appUser.setAppUserRole(AppUserRole.USER);
appUser.setIdp("github");
appUser.setIdProvider("github");
appUserRepository.save(appUser);

// when
Expand All @@ -37,7 +37,7 @@ void findByExternalId() {
assertThat(fetched.getExternalId()).isNotNull().isEqualTo(appUser.getExternalId());
assertThat(fetched.getAlias()).isNotNull().isEqualTo(appUser.getAlias());
assertThat(fetched.getId()).isNotNull();
assertThat(fetched.getIdp()).isNotNull().isEqualTo(appUser.getIdp());
assertThat(fetched.getIdProvider()).isNotNull().isEqualTo(appUser.getIdProvider());
assertThat(fetched.getAppUserRole()).isNotNull().isEqualTo(appUser.getAppUserRole());

});
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/de/bonndan/nivio/appuser/AppUserRoleTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;

class AppUserRoleTest {

Expand All @@ -19,6 +18,7 @@ void valueOf() {
assertEquals(AppUserRole.valueOf("USER"), user);
// handling default value for null and random string
assertEquals(AppUserRole.of("test"), user);
assertEquals(AppUserRole.defaultOr(null), user);
assertEquals(AppUserRole.of(null), user);
}

}
14 changes: 7 additions & 7 deletions src/test/java/de/bonndan/nivio/appuser/AppUserTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@ void getExternalId() {
}

@Test
void getIdp() {
void getIdProvider() {
// when
appUser.setIdp("github");
appUser.setIdProvider("github");
// then
assertEquals("github", appUser.getIdp());
assertEquals("github", appUser.getIdProvider());
}

@Test
Expand Down Expand Up @@ -185,13 +185,13 @@ void setExternalId() {
}

@Test
void setIdp() {
void setIdProvider() {
// given
String idp = "github";
String idProvider = "github";
// when
appUser.setIdp(idp);
appUser.setIdProvider(idProvider);
// then
assertEquals(idp, appUser.getIdp());
assertEquals(idProvider, appUser.getIdProvider());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,14 @@
@DataJpaTest
class CustomOAuth2UserServiceTest {


private OAuth2User oAuth2User;

private String name = "Mary";
private String login = "foo";
private String avatarUrl = "https://www.avatar.com";
private String externalId = "123";
private String idp = "github";
private String idProvider = "github";
private Collection<OAuth2UserAuthority> authorities;
private CustomOAuth2User customOAuth2User;
private ApplicationEventPublisher applicationEventPublisher;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class CustomOAuth2UserTest {
private String login = "foo";
private String avatarUrl = "https://www.avatar.com";
private String email = "email";
String idp = "github";
String idProvider = "github";
String externalId = "123";

private Collection<OAuth2UserAuthority> authorities;
Expand Down Expand Up @@ -77,6 +77,6 @@ void getAuthorities() {
}

@Test
void getIdp() { assertThat(customOAuth2User.getIdp()).isEqualTo(idp); }
void getIdProvider() { assertThat(customOAuth2User.getIdProvider()).isEqualTo(idProvider); }

}

0 comments on commit 13b7648

Please sign in to comment.