diff --git a/pom.xml b/pom.xml index f019649..5422a53 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.5.RELEASE + 3.0.13 @@ -49,38 +49,28 @@ org.apache.logging.log4j log4j-api - 2.13.3 - - - - junit - junit - 4.13.1 - test org.apache.logging.log4j log4j-core - 2.13.3 org.mockito - mockito-all - 1.10.19 + mockito-core + 4.11.0 test - javax.validation - validation-api - 2.0.1.Final + jakarta.validation + jakarta.validation-api - 1.8 + 21 @@ -92,10 +82,9 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.14.0 - ${java.version} - ${java.version} + ${java.version} diff --git a/src/main/java/com/amazonaws/samples/appconfig/movies/MoviesController.java b/src/main/java/com/amazonaws/samples/appconfig/movies/MoviesController.java index d7c6fc6..e4f20c2 100644 --- a/src/main/java/com/amazonaws/samples/appconfig/movies/MoviesController.java +++ b/src/main/java/com/amazonaws/samples/appconfig/movies/MoviesController.java @@ -17,15 +17,13 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import software.amazon.awssdk.services.appconfig.AppConfigClient; import software.amazon.awssdk.services.appconfig.model.GetConfigurationResponse; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import javax.validation.Valid; - -import static org.springframework.web.bind.annotation.RequestMethod.POST; +import jakarta.validation.Valid; @RestController public class MoviesController { @@ -107,7 +105,7 @@ public String movie() { } } - @RequestMapping(value = "/movies/{movie}/edit", method = POST) + @PostMapping("/movies/{movie}/edit") public String processUpdateMovie(@Valid Movie movie, BindingResult result, @PathVariable("movieId") int movieId) { final AppConfigUtility appConfigUtility = new AppConfigUtility(getOrDefault(this::getClient, this::getDefaultClient), getOrDefault(this::getConfigurationCache, ConfigurationCache::new), diff --git a/src/main/java/com/amazonaws/samples/appconfig/utils/Encoder.java b/src/main/java/com/amazonaws/samples/appconfig/utils/Encoder.java index ff45b66..eaa2b5e 100644 --- a/src/main/java/com/amazonaws/samples/appconfig/utils/Encoder.java +++ b/src/main/java/com/amazonaws/samples/appconfig/utils/Encoder.java @@ -1,7 +1,7 @@ // depreciation example - sun.misc.BASE64Encoder; package com.amazonaws.samples.appconfig.utils; -import sun.misc.BASE64Encoder; +import java.util.Base64; import java.util.Date; @@ -10,7 +10,7 @@ public class Encoder { Date defaultDate = new Date(1999, 0, 1); byte[] bytes = new byte[57]; - String enc1 = new sun.misc.BASE64Encoder().encode(bytes); + String enc1 = Base64.getEncoder().encodeToString(bytes); } \ No newline at end of file diff --git a/src/main/java/com/amazonaws/samples/appconfig/utils/Math.java b/src/main/java/com/amazonaws/samples/appconfig/utils/Math.java index 259b286..226f6fb 100644 --- a/src/main/java/com/amazonaws/samples/appconfig/utils/Math.java +++ b/src/main/java/com/amazonaws/samples/appconfig/utils/Math.java @@ -1,27 +1,28 @@ //example from https://docs.openrewrite.org/running-recipes/popular-recipe-guides/migrate-to-java-17 package com.amazonaws.samples.appconfig.utils; import java.math.BigDecimal; +import java.math.RoundingMode; public class Math { - Boolean bool = new Boolean(true); - Byte b = new Byte("1"); - Character c = new Character('c'); - Double d = new Double(1.0); - Float f = new Float(1.1f); - Long l = new Long(1); - Short sh = new Short("12"); + Boolean bool = Boolean.valueOf(true); + Byte b = Byte.valueOf("1"); + Character c = Character.valueOf('c'); + Double d = Double.valueOf(1.0); + Float f = Float.valueOf(1.1f); + Long l = Long.valueOf(1); + Short sh = Short.valueOf("12"); short s3 = 3; - Short sh3 = new Short(s3); - Integer i = new Integer(1); + Short sh3 = Short.valueOf(s3); + Integer i = Integer.valueOf(1); public void divide() { BigDecimal bd = BigDecimal.valueOf(10); BigDecimal bd2 = BigDecimal.valueOf(2); - bd.divide(bd2, BigDecimal.ROUND_DOWN); - bd.divide(bd2, 1); - bd.divide(bd2, 1, BigDecimal.ROUND_CEILING); - bd.divide(bd2, 1, 1); - bd.setScale(2, 1); + bd.divide(bd2, RoundingMode.DOWN); + bd.divide(bd2, RoundingMode.DOWN); + bd.divide(bd2, 1, RoundingMode.CEILING); + bd.divide(bd2, 1, RoundingMode.DOWN); + bd.setScale(2, RoundingMode.DOWN); } } \ No newline at end of file diff --git a/src/test/java/com/amazonaws/samples/appconfig/movies/MathTest.java b/src/test/java/com/amazonaws/samples/appconfig/movies/MathTest.java index 04972c1..b57fd8d 100644 --- a/src/test/java/com/amazonaws/samples/appconfig/movies/MathTest.java +++ b/src/test/java/com/amazonaws/samples/appconfig/movies/MathTest.java @@ -1,11 +1,10 @@ package com.amazonaws.samples.appconfig.movies; - -import org.junit.Test; - +import java.math.RoundingMode; +import org.junit.jupiter.api.Test; import java.math.BigDecimal; -import com.amazonaws.samples.appconfig.utils.Math; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import com.amazonaws.samples.appconfig.utils.Math; public class MathTest { @@ -18,21 +17,21 @@ public void testDivide() { BigDecimal bd = BigDecimal.valueOf(10); BigDecimal bd2 = BigDecimal.valueOf(2); BigDecimal expectedResult1 = BigDecimal.valueOf(5); - assertEquals(expectedResult1, bd.divide(bd2, BigDecimal.ROUND_DOWN)); + assertEquals(expectedResult1, bd.divide(bd2, RoundingMode.DOWN)); // Test divide(BigDecimal, int) BigDecimal expectedResult2 = BigDecimal.valueOf(5.0); // Test divide(BigDecimal, int, int) BigDecimal expectedResult3 = BigDecimal.valueOf(5.0); - assertEquals(expectedResult3, bd.divide(bd2, 1, BigDecimal.ROUND_CEILING)); + assertEquals(expectedResult3, bd.divide(bd2, 1, RoundingMode.CEILING)); BigDecimal expectedResult4 = BigDecimal.valueOf(5.0); - assertEquals(expectedResult4, bd.divide(bd2, 1, 1)); + assertEquals(expectedResult4, bd.divide(bd2, 1, RoundingMode.DOWN)); // Test setScale(int, int) BigDecimal expectedResult5 = BigDecimal.valueOf(10); - bd.setScale(2, 1); + bd.setScale(2, RoundingMode.DOWN); assertEquals(expectedResult5, bd); } } diff --git a/src/test/java/com/amazonaws/samples/appconfig/movies/MockTest.java b/src/test/java/com/amazonaws/samples/appconfig/movies/MockTest.java index ce58091..1746230 100644 --- a/src/test/java/com/amazonaws/samples/appconfig/movies/MockTest.java +++ b/src/test/java/com/amazonaws/samples/appconfig/movies/MockTest.java @@ -1,15 +1,15 @@ package com.amazonaws.samples.appconfig.movies; -import org.junit.Test; import java.util.ArrayList; import java.util.List; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; -import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.anyInt; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.junit.Assert.assertNull; import static org.mockito.Mockito.mock; diff --git a/src/test/java/com/amazonaws/samples/appconfig/movies/MovieTest.java b/src/test/java/com/amazonaws/samples/appconfig/movies/MovieTest.java index 998a8b6..7e599e8 100644 --- a/src/test/java/com/amazonaws/samples/appconfig/movies/MovieTest.java +++ b/src/test/java/com/amazonaws/samples/appconfig/movies/MovieTest.java @@ -1,12 +1,8 @@ package com.amazonaws.samples.appconfig.movies; - -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; import com.amazonaws.samples.appconfig.movies.MoviesController; -@RunWith(SpringRunner.class) @SpringBootTest public class MovieTest { diff --git a/src/test/java/com/amazonaws/samples/appconfig/movies/MoviesControllerTest.java b/src/test/java/com/amazonaws/samples/appconfig/movies/MoviesControllerTest.java index f4f616c..c937af3 100644 --- a/src/test/java/com/amazonaws/samples/appconfig/movies/MoviesControllerTest.java +++ b/src/test/java/com/amazonaws/samples/appconfig/movies/MoviesControllerTest.java @@ -3,8 +3,9 @@ import com.amazonaws.samples.appconfig.utils.AppConfigUtility; import com.amazonaws.samples.appconfig.cache.ConfigurationCache; import com.amazonaws.samples.appconfig.model.ConfigurationKey; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.core.env.Environment; @@ -14,12 +15,15 @@ import java.time.Duration; import java.util.UUID; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.nullable; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; public class MoviesControllerTest { + private AutoCloseable mocks; + @Mock private Environment env; @@ -31,9 +35,9 @@ public class MoviesControllerTest { private MoviesController moviesController; - @Before + @BeforeEach public void setUp() { - MockitoAnnotations.initMocks(this); + mocks = MockitoAnnotations.openMocks(this); moviesController = new MoviesController(); moviesController.env = env; } @@ -51,7 +55,7 @@ public void testMovieWithFeatureEnabled() { GetConfigurationResponse getConfigurationResponse = GetConfigurationResponse.builder().build(); AppConfigUtility appConfigUtility = mock(AppConfigUtility.class); - when(appConfigUtility.getConfiguration(any(ConfigurationKey.class))).thenReturn(getConfigurationResponse); + when(appConfigUtility.getConfiguration(nullable(ConfigurationKey.class))).thenReturn(getConfigurationResponse); moviesController.cacheItemTtl = Duration.ofSeconds(60); moviesController.client = appConfigClient; @@ -70,4 +74,9 @@ public void testMovieWithFeatureEnabled() { assertEquals(5, expectedMovies.length); } + @AfterEach + void tearDown() throws Exception { + mocks.close(); + } + } \ No newline at end of file