From 4711840cf94828db267d0bd35bc45deac6ce41ae Mon Sep 17 00:00:00 2001 From: William Harrington Date: Wed, 12 Feb 2025 21:21:31 -0600 Subject: Move to constructor injection and clean up AppUserServiceTest. --- .../berzerkula/builddb/controllers/AccountController.java | 10 ++++++---- .../org/berzerkula/builddb/controllers/PkgController.java | 8 +++++--- .../org/berzerkula/builddb/services/AppUserService.java | 14 ++++++++------ .../berzerkula/builddb/services/AppUserServiceTest.java | 13 +++---------- 4 files changed, 22 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/main/java/org/berzerkula/builddb/controllers/AccountController.java b/src/main/java/org/berzerkula/builddb/controllers/AccountController.java index e833792..bfaf669 100644 --- a/src/main/java/org/berzerkula/builddb/controllers/AccountController.java +++ b/src/main/java/org/berzerkula/builddb/controllers/AccountController.java @@ -5,7 +5,6 @@ import org.berzerkula.builddb.BuilddbConstants; import org.berzerkula.builddb.models.AppUser; import org.berzerkula.builddb.models.RegisterDto; import org.berzerkula.builddb.repositories.AppUserRepository; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Controller; @@ -21,9 +20,12 @@ import java.util.Date; @Controller public class AccountController { - @Autowired - private AppUserRepository repo; - + private final AppUserRepository repo; + + public AccountController(AppUserRepository repo) { + this.repo = repo; + } + @GetMapping("/profile") public String profile(Authentication auth, Model model) { AppUser user = repo.findByEmail(auth.getName()); diff --git a/src/main/java/org/berzerkula/builddb/controllers/PkgController.java b/src/main/java/org/berzerkula/builddb/controllers/PkgController.java index 56bfebe..9207259 100644 --- a/src/main/java/org/berzerkula/builddb/controllers/PkgController.java +++ b/src/main/java/org/berzerkula/builddb/controllers/PkgController.java @@ -8,7 +8,6 @@ import org.berzerkula.builddb.models.PkgDto; import org.berzerkula.builddb.repositories.PkgRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -24,8 +23,11 @@ public class PkgController { private static final Logger logger = LoggerFactory.getLogger(PkgController.class); - @Autowired - private PkgRepository repo; + private final PkgRepository repo; + + public PkgController(PkgRepository repo) { + this.repo = repo; + } @GetMapping({"", "/", "/index"}) public String showPkgList(Model model, diff --git a/src/main/java/org/berzerkula/builddb/services/AppUserService.java b/src/main/java/org/berzerkula/builddb/services/AppUserService.java index f18077d..036c917 100644 --- a/src/main/java/org/berzerkula/builddb/services/AppUserService.java +++ b/src/main/java/org/berzerkula/builddb/services/AppUserService.java @@ -1,19 +1,21 @@ package org.berzerkula.builddb.services; -import org.springframework.beans.factory.annotation.Autowired; +import org.berzerkula.builddb.models.AppUser; +import org.berzerkula.builddb.repositories.AppUserRepository; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import org.berzerkula.builddb.models.AppUser; -import org.berzerkula.builddb.repositories.AppUserRepository; - @Service public class AppUserService implements UserDetailsService { - @Autowired - private AppUserRepository repo; + + private final AppUserRepository repo; + + public AppUserService(AppUserRepository repo) { + this.repo = repo; + } @Override public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { diff --git a/src/test/java/org/berzerkula/builddb/services/AppUserServiceTest.java b/src/test/java/org/berzerkula/builddb/services/AppUserServiceTest.java index a3ecb82..2a21b56 100644 --- a/src/test/java/org/berzerkula/builddb/services/AppUserServiceTest.java +++ b/src/test/java/org/berzerkula/builddb/services/AppUserServiceTest.java @@ -2,12 +2,10 @@ package org.berzerkula.builddb.services; import org.berzerkula.builddb.models.AppUser; import org.berzerkula.builddb.repositories.AppUserRepository; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.core.userdetails.UserDetails; @@ -21,16 +19,11 @@ import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) class AppUserServiceTest { - @InjectMocks - private AppUserService appUserService; - @Mock - AppUserRepository appUserRepository; + private AppUserRepository appUserRepository; - @BeforeEach - public void init() { - MockitoAnnotations.openMocks(this); - } + @InjectMocks + private AppUserService appUserService; @Test void testFindByEmailAndNullOrNotNull() { -- cgit v1.2.3-54-g00ecf