diff --git a/build.gradle b/build.gradle index 4e3673abd..9b18212d2 100644 --- a/build.gradle +++ b/build.gradle @@ -148,8 +148,8 @@ sourceSets { inttest { java.srcDir 'src/inttest/java' resources.srcDir 'src/inttest/resources' - compileClasspath += main.output + test.output - runtimeClasspath += main.output + test.output + compileClasspath += sourceSets.test.compileClasspath + runtimeClasspath += sourceSets.test.runtimeClasspath } } @@ -165,6 +165,9 @@ task inttest(type: Test) { setTestClassesDirs(files(sourceSets.inttest.output)) classpath = sourceSets.inttest.runtimeClasspath + + useJUnitPlatform() + mustRunAfter test } @@ -205,8 +208,7 @@ dependencyManagement { } test { - useJUnitPlatform { - } + useJUnitPlatform() testLogging { events("passed", "skipped", "failed") } @@ -272,10 +274,10 @@ dependencies { testCompile("org.springframework.boot:spring-boot-starter-test") testCompile("org.springframework.restdocs:spring-restdocs-mockmvc") testCompile("org.springframework.security:spring-security-test") - testImplementation("junit:junit") testImplementation("org.junit.jupiter:junit-jupiter:${jUnit5Version}") testImplementation("org.junit.jupiter:junit-jupiter-params:${jUnit5Version}") testImplementation("org.mockito:mockito-junit-jupiter:${mockitoVersion}") + testImplementation("org.junit.jupiter:junit-jupiter-migrationsupport:${jUnit5Version}") testRuntimeOnly("org.junit.vintage:junit-vintage-engine:${jUnit5Version}") testCompile("com.h2database:h2:${h2Version}") testCompile("com.jayway.jsonpath:json-path:${jsonPath}") diff --git a/src/inttest/java/com/faforever/api/AbstractIntegrationTest.java b/src/inttest/java/com/faforever/api/AbstractIntegrationTest.java index 27198d022..3686b4554 100644 --- a/src/inttest/java/com/faforever/api/AbstractIntegrationTest.java +++ b/src/inttest/java/com/faforever/api/AbstractIntegrationTest.java @@ -19,8 +19,8 @@ import com.github.jasminb.jsonapi.ResourceConverter; import com.github.jasminb.jsonapi.exceptions.DocumentSerializationException; import org.json.JSONObject; -import org.junit.Before; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.internal.util.collections.Sets; import org.skyscreamer.jsonassert.JSONAssert; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +30,7 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.RequestPostProcessor; @@ -44,7 +44,7 @@ import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @ActiveProfiles(ApplicationProfile.INTEGRATION_TEST) @Import(OAuthHelper.class) @@ -67,7 +67,7 @@ public abstract class AbstractIntegrationTest { protected ObjectMapper objectMapper; protected ResourceConverter resourceConverter; - @Before + @BeforeEach public void setUp() { this.mockMvc = MockMvcBuilders .webAppContextSetup(this.context) diff --git a/src/inttest/java/com/faforever/api/avatar/AvatarControllerTest.java b/src/inttest/java/com/faforever/api/avatar/AvatarControllerTest.java index 251dba467..d1ed70b61 100644 --- a/src/inttest/java/com/faforever/api/avatar/AvatarControllerTest.java +++ b/src/inttest/java/com/faforever/api/avatar/AvatarControllerTest.java @@ -6,8 +6,8 @@ import com.faforever.api.security.AuditService; import com.faforever.api.security.OAuthScope; import com.faforever.api.utils.FileHandlingHelper; -import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.http.MediaType; @@ -136,7 +136,7 @@ public void cannotDeleteWithoutScope() throws Exception { verify(auditServiceSpy, times(0)).logMessage(any()); } - @After + @AfterEach public void tearDown() throws Exception { Files.deleteIfExists(Paths.get("build/cache/avatars/avatar1.png")); Files.deleteIfExists(Paths.get("build/cache/avatars/avatar3.png")); diff --git a/src/inttest/java/com/faforever/api/clan/ClanControllerTest.java b/src/inttest/java/com/faforever/api/clan/ClanControllerTest.java index d1d8e1894..b5d6b0a2f 100644 --- a/src/inttest/java/com/faforever/api/clan/ClanControllerTest.java +++ b/src/inttest/java/com/faforever/api/clan/ClanControllerTest.java @@ -6,7 +6,7 @@ import com.faforever.api.error.ErrorCode; import com.faforever.api.player.PlayerRepository; import com.faforever.api.security.FafUserDetails; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/src/inttest/java/com/faforever/api/data/AvatarAssignmentElideTest.java b/src/inttest/java/com/faforever/api/data/AvatarAssignmentElideTest.java index 436aff6ac..583843413 100644 --- a/src/inttest/java/com/faforever/api/data/AvatarAssignmentElideTest.java +++ b/src/inttest/java/com/faforever/api/data/AvatarAssignmentElideTest.java @@ -6,7 +6,7 @@ import com.faforever.commons.api.dto.Avatar; import com.faforever.commons.api.dto.AvatarAssignment; import com.faforever.commons.api.dto.Player; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.security.test.context.support.WithUserDetails; import org.springframework.test.context.jdbc.Sql; diff --git a/src/inttest/java/com/faforever/api/data/BanTest.java b/src/inttest/java/com/faforever/api/data/BanTest.java index 86d67c2d2..828bdc154 100644 --- a/src/inttest/java/com/faforever/api/data/BanTest.java +++ b/src/inttest/java/com/faforever/api/data/BanTest.java @@ -7,7 +7,8 @@ import com.faforever.commons.api.dto.BanLevel; import com.faforever.commons.api.dto.ModerationReport; import com.faforever.commons.api.dto.Player; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; diff --git a/src/inttest/java/com/faforever/api/data/ClanElideTest.java b/src/inttest/java/com/faforever/api/data/ClanElideTest.java index 19167e136..ffff76e33 100644 --- a/src/inttest/java/com/faforever/api/data/ClanElideTest.java +++ b/src/inttest/java/com/faforever/api/data/ClanElideTest.java @@ -8,7 +8,7 @@ import com.faforever.api.player.PlayerRepository; import lombok.SneakyThrows; import org.json.JSONObject; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.security.test.context.support.WithUserDetails; diff --git a/src/inttest/java/com/faforever/api/data/DomainBlacklistTest.java b/src/inttest/java/com/faforever/api/data/DomainBlacklistTest.java index aa0fa74cd..ede033251 100644 --- a/src/inttest/java/com/faforever/api/data/DomainBlacklistTest.java +++ b/src/inttest/java/com/faforever/api/data/DomainBlacklistTest.java @@ -3,7 +3,7 @@ import com.faforever.api.AbstractIntegrationTest; import com.faforever.api.data.domain.GroupPermission; import com.faforever.api.security.OAuthScope; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.security.test.context.support.WithUserDetails; import org.springframework.test.context.jdbc.Sql; diff --git a/src/inttest/java/com/faforever/api/data/Ladder1v1MapTest.java b/src/inttest/java/com/faforever/api/data/Ladder1v1MapTest.java index 4e9d46688..d53ca105c 100644 --- a/src/inttest/java/com/faforever/api/data/Ladder1v1MapTest.java +++ b/src/inttest/java/com/faforever/api/data/Ladder1v1MapTest.java @@ -3,7 +3,7 @@ import com.faforever.api.AbstractIntegrationTest; import com.faforever.api.data.domain.GroupPermission; import com.faforever.api.security.OAuthScope; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; diff --git a/src/inttest/java/com/faforever/api/data/MapVersionElideTest.java b/src/inttest/java/com/faforever/api/data/MapVersionElideTest.java index 60542a2c9..81bfea048 100644 --- a/src/inttest/java/com/faforever/api/data/MapVersionElideTest.java +++ b/src/inttest/java/com/faforever/api/data/MapVersionElideTest.java @@ -3,7 +3,7 @@ import com.faforever.api.AbstractIntegrationTest; import com.faforever.api.data.domain.GroupPermission; import com.faforever.api.security.OAuthScope; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.security.test.context.support.WithUserDetails; import org.springframework.test.context.jdbc.Sql; diff --git a/src/inttest/java/com/faforever/api/data/ModVersionElideTest.java b/src/inttest/java/com/faforever/api/data/ModVersionElideTest.java index 9988463fa..9e982ebb9 100644 --- a/src/inttest/java/com/faforever/api/data/ModVersionElideTest.java +++ b/src/inttest/java/com/faforever/api/data/ModVersionElideTest.java @@ -3,7 +3,7 @@ import com.faforever.api.AbstractIntegrationTest; import com.faforever.api.data.domain.GroupPermission; import com.faforever.api.security.OAuthScope; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.security.test.context.support.WithUserDetails; import org.springframework.test.context.jdbc.Sql; diff --git a/src/inttest/java/com/faforever/api/data/TeamkillTest.java b/src/inttest/java/com/faforever/api/data/TeamkillTest.java index fa43f11a1..411d7bdb3 100644 --- a/src/inttest/java/com/faforever/api/data/TeamkillTest.java +++ b/src/inttest/java/com/faforever/api/data/TeamkillTest.java @@ -3,7 +3,7 @@ import com.faforever.api.AbstractIntegrationTest; import com.faforever.api.data.domain.GroupPermission; import com.faforever.api.security.OAuthScope; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; diff --git a/src/inttest/java/com/faforever/api/data/TutorialElideTest.java b/src/inttest/java/com/faforever/api/data/TutorialElideTest.java index e1873b606..1a64cb06b 100644 --- a/src/inttest/java/com/faforever/api/data/TutorialElideTest.java +++ b/src/inttest/java/com/faforever/api/data/TutorialElideTest.java @@ -6,7 +6,7 @@ import com.faforever.commons.api.dto.Tutorial; import com.faforever.commons.api.dto.TutorialCategory; import com.jayway.jsonpath.JsonPath; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; diff --git a/src/inttest/java/com/faforever/api/data/UserNoteTest.java b/src/inttest/java/com/faforever/api/data/UserNoteTest.java index 39563a2a9..cb6b33b8a 100644 --- a/src/inttest/java/com/faforever/api/data/UserNoteTest.java +++ b/src/inttest/java/com/faforever/api/data/UserNoteTest.java @@ -4,7 +4,7 @@ import com.faforever.api.data.domain.GroupPermission; import com.faforever.api.player.PlayerRepository; import com.faforever.api.security.OAuthScope; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.test.context.jdbc.Sql; diff --git a/src/inttest/java/com/faforever/api/data/VotingElideTest.java b/src/inttest/java/com/faforever/api/data/VotingElideTest.java index 8785a6744..d1e11799d 100644 --- a/src/inttest/java/com/faforever/api/data/VotingElideTest.java +++ b/src/inttest/java/com/faforever/api/data/VotingElideTest.java @@ -6,7 +6,7 @@ import com.faforever.api.data.domain.VotingQuestion; import com.faforever.api.security.OAuthScope; import com.faforever.api.voting.VotingQuestionRepository; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; diff --git a/src/inttest/java/com/faforever/api/deployment/ExeUploadControllerTest.java b/src/inttest/java/com/faforever/api/deployment/ExeUploadControllerTest.java index 1424a12b7..5075e7ab3 100644 --- a/src/inttest/java/com/faforever/api/deployment/ExeUploadControllerTest.java +++ b/src/inttest/java/com/faforever/api/deployment/ExeUploadControllerTest.java @@ -1,8 +1,8 @@ package com.faforever.api.deployment; import com.faforever.api.AbstractIntegrationTest; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.context.jdbc.Sql; @@ -19,7 +19,7 @@ public class ExeUploadControllerTest extends AbstractIntegrationTest { private MockMultipartFile file; private static final String SUPER_SECRET = "banana"; - @Before + @BeforeEach public void setUp() { super.setUp(); file = new MockMultipartFile("file", "ForgedAlliance.exe", "application/octet-stream", new byte[]{ 1, 2 ,3, 4 }); diff --git a/src/inttest/java/com/faforever/api/event/EventControllerTest.java b/src/inttest/java/com/faforever/api/event/EventControllerTest.java index f442840f6..488f5db33 100644 --- a/src/inttest/java/com/faforever/api/event/EventControllerTest.java +++ b/src/inttest/java/com/faforever/api/event/EventControllerTest.java @@ -5,7 +5,7 @@ import com.faforever.api.security.OAuthScope; import com.google.common.collect.Lists; import org.hamcrest.Matchers; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; diff --git a/src/inttest/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java b/src/inttest/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java index b75edf577..0d2f0fca6 100644 --- a/src/inttest/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java +++ b/src/inttest/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java @@ -1,7 +1,7 @@ package com.faforever.api.leaderboard; import com.faforever.api.AbstractIntegrationTest; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.test.web.servlet.MvcResult; diff --git a/src/inttest/java/com/faforever/api/login/LoginTest.java b/src/inttest/java/com/faforever/api/login/LoginTest.java index c8fbcc291..3973020de 100644 --- a/src/inttest/java/com/faforever/api/login/LoginTest.java +++ b/src/inttest/java/com/faforever/api/login/LoginTest.java @@ -2,8 +2,8 @@ import com.faforever.api.AbstractIntegrationTest; import org.jetbrains.annotations.NotNull; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.test.web.servlet.ResultActions; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -18,7 +18,7 @@ public class LoginTest extends AbstractIntegrationTest { private MultiValueMap params; @Override - @Before + @BeforeEach public void setUp() { super.setUp(); params = new LinkedMultiValueMap<>(); diff --git a/src/inttest/java/com/faforever/api/moderationreport/ModerationReportTest.java b/src/inttest/java/com/faforever/api/moderationreport/ModerationReportTest.java index 77c5e0516..3c3ded6dd 100644 --- a/src/inttest/java/com/faforever/api/moderationreport/ModerationReportTest.java +++ b/src/inttest/java/com/faforever/api/moderationreport/ModerationReportTest.java @@ -8,8 +8,8 @@ import com.faforever.commons.api.dto.ModerationReportStatus; import com.faforever.commons.api.dto.Player; import com.google.common.collect.Sets; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpHeaders; import org.springframework.security.test.context.support.WithAnonymousUser; import org.springframework.test.context.jdbc.Sql; @@ -41,7 +41,7 @@ public class ModerationReportTest extends AbstractIntegrationTest { private Set reportedUsers; @Override - @Before + @BeforeEach public void setUp() { super.setUp(); Player reporter = (Player) new Player().setId("1"); diff --git a/src/inttest/java/com/faforever/api/user/UsersControllerTest.java b/src/inttest/java/com/faforever/api/user/UsersControllerTest.java index 1f4b716cb..fee1dde1c 100644 --- a/src/inttest/java/com/faforever/api/user/UsersControllerTest.java +++ b/src/inttest/java/com/faforever/api/user/UsersControllerTest.java @@ -9,7 +9,7 @@ import com.faforever.api.security.FafTokenType; import com.faforever.api.security.OAuthScope; import com.google.common.collect.ImmutableMap; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpHeaders; diff --git a/src/test/java/com/faforever/api/achievements/EventsServiceTest.java b/src/test/java/com/faforever/api/achievements/EventsServiceTest.java index 58e1c34d9..efe55f944 100644 --- a/src/test/java/com/faforever/api/achievements/EventsServiceTest.java +++ b/src/test/java/com/faforever/api/achievements/EventsServiceTest.java @@ -6,14 +6,15 @@ import com.faforever.api.data.domain.PlayerAchievement; import com.faforever.api.error.ErrorCode; import org.hamcrest.CoreMatchers; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Optional; @@ -28,7 +29,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExpectedExceptionSupport.class}) public class EventsServiceTest { private static final int PLAYER_ID = 1; @@ -47,7 +48,7 @@ private static PlayerAchievement createPlayerAchievement(Integer currentSteps, A return playerAchievement; } - @Before + @BeforeEach public void setUp() throws Exception { instance = new AchievementService(achievementRepository, playerAchievementRepository); } diff --git a/src/test/java/com/faforever/api/achievements/PlayerAchievementsControllerTest.java b/src/test/java/com/faforever/api/achievements/PlayerAchievementsControllerTest.java index 4769f8446..88d574a55 100644 --- a/src/test/java/com/faforever/api/achievements/PlayerAchievementsControllerTest.java +++ b/src/test/java/com/faforever/api/achievements/PlayerAchievementsControllerTest.java @@ -3,21 +3,22 @@ import com.faforever.api.achievements.AchievementUpdateRequest.Operation; import com.faforever.api.data.domain.AchievementState; import com.yahoo.elide.jsonapi.models.JsonApiDocument; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.hamcrest.Matchers.hasSize; import static org.junit.Assert.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PlayerAchievementsControllerTest { private AchievementsController instance; @@ -25,7 +26,7 @@ public class PlayerAchievementsControllerTest { @Mock private AchievementService achievementService; - @Before + @BeforeEach public void setUp() throws Exception { instance = new AchievementsController(achievementService); } @@ -59,10 +60,11 @@ public void update() throws Exception { assertThat(result.getData().get(), hasSize(6)); } - @Test(expected = UnsupportedOperationException.class) + @Test public void updateReveledUnsupported() throws Exception { AchievementUpdateRequest[] updateRequests = {new AchievementUpdateRequest(1, "111", Operation.REVEAL, 1)}; - instance.update(updateRequests); + assertThrows(UnsupportedOperationException.class, () -> instance.update(updateRequests)); + } } diff --git a/src/test/java/com/faforever/api/avatar/AvatarServiceTest.java b/src/test/java/com/faforever/api/avatar/AvatarServiceTest.java index 890de9a61..ad39f4ad5 100644 --- a/src/test/java/com/faforever/api/avatar/AvatarServiceTest.java +++ b/src/test/java/com/faforever/api/avatar/AvatarServiceTest.java @@ -7,15 +7,17 @@ import com.faforever.api.error.ErrorCode; import com.faforever.api.error.NotFoundApiException; import com.faforever.api.utils.NameUtil; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; +import org.junit.jupiter.migrationsupport.rules.ExternalResourceSupport; import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.io.InputStream; import java.net.URL; @@ -27,13 +29,12 @@ import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExpectedExceptionSupport.class, ExternalResourceSupport.class}) public class AvatarServiceTest { private static final long VALID_FILE_SIZE = 1024; @@ -52,6 +53,10 @@ public class AvatarServiceTest { private static final String AVATARS_FOLDER = "avatars"; private static final int EXISTING_AVATAR_ID = 1; private static final int NON_EXISTING_AVATAR_ID = 2; + private static final Optional AVATAR = Optional.of(new Avatar() + .setUrl(String.format(DOWNLOAD_URL_FORMAT, EXISTING_VALID_AVATAR_FILENAME)) + .setTooltip(EXISTING_AVATAR_NAME) + ); @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); @@ -64,7 +69,7 @@ public class AvatarServiceTest { @Mock private AvatarRepository avatarRepository; - @Before + @BeforeEach public void setUp() throws Exception { FafApiProperties properties = new FafApiProperties(); @@ -78,14 +83,6 @@ public void setUp() throws Exception { .setMaxNameLength(15); avatarService = new AvatarService(avatarRepository, properties); - - when(avatarRepository.findOneByUrl(any())).thenReturn(Optional.empty()); - when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn( - Optional.of(new Avatar() - .setUrl(String.format(DOWNLOAD_URL_FORMAT, EXISTING_VALID_AVATAR_FILENAME)) - .setTooltip(EXISTING_AVATAR_NAME) - ) - ); } @Test @@ -112,6 +109,8 @@ public void existingAvatarReuploadWithDifferentValidName() throws Exception { final Path avatarFilePath = avatarsPath.resolve(EXISTING_VALID_AVATAR_FILENAME); Files.copy(loadResource(BIG_AVATAR_FILENAME).openStream(), avatarFilePath); + when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn(AVATAR); + final String avatarFileName = VALID_AVATAR_FILENAME; final URL imageResource = loadResource(avatarFileName); try (final InputStream imageInputStream = imageResource.openStream()) { @@ -139,9 +138,7 @@ public void duplicateAvatarUpload() throws Exception { @Test public void nonExistingAvatarReupload() throws Exception { final String avatarFileName = VALID_AVATAR_FILENAME; - when(avatarRepository.findById(NON_EXISTING_AVATAR_ID)).thenReturn( - Optional.empty() - ); + when(avatarRepository.findById(NON_EXISTING_AVATAR_ID)).thenReturn(Optional.empty()); try (final InputStream imageInputStream = loadResource(avatarFileName).openStream()) { expectedException.expect(ApiExceptionMatcher.hasErrorCode(ErrorCode.ENTITY_NOT_FOUND)); avatarService.updateAvatar(NON_EXISTING_AVATAR_ID, AVATAR_METADATA, avatarFileName, imageInputStream, VALID_FILE_SIZE); @@ -160,6 +157,7 @@ public void invalidExtensionAvatarUpload() throws Exception { @Test public void invalidExtensionAvatarReupload() throws Exception { final String avatarFileName = INVALID_EXTENSION_AVATAR_FILENAME; + when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn(AVATAR); try (final InputStream imageInputStream = loadResource(avatarFileName).openStream()) { expectedException.expect(ApiExceptionMatcher.hasErrorCode(ErrorCode.UPLOAD_INVALID_FILE_EXTENSIONS)); avatarService.updateAvatar(EXISTING_AVATAR_ID, AVATAR_METADATA, avatarFileName, imageInputStream, VALID_FILE_SIZE); @@ -178,6 +176,7 @@ public void bigSizeAvatarUpload() throws Exception { @Test public void bigSizeAvatarReupload() throws Exception { final String avatarFileName = BIG_AVATAR_FILENAME; + when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn(AVATAR); try (final InputStream imageInputStream = loadResource(avatarFileName).openStream()) { expectedException.expect(ApiExceptionMatcher.hasErrorCode(ErrorCode.FILE_SIZE_EXCEEDED)); avatarService.updateAvatar(EXISTING_AVATAR_ID, AVATAR_METADATA, avatarFileName, imageInputStream, TOO_BIG_FILE_SIZE); @@ -196,6 +195,7 @@ public void longFileNameAvatarUpload() throws Exception { @Test public void longFileNameAvatarReupload() throws Exception { final String avatarFileName = LONG_AVATAR_FILENAME; + when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn(AVATAR); try (final InputStream imageInputStream = loadResource(avatarFileName).openStream()) { expectedException.expect(ApiExceptionMatcher.hasErrorCode(ErrorCode.FILE_NAME_TOO_LONG)); avatarService.updateAvatar(EXISTING_AVATAR_ID, AVATAR_METADATA, avatarFileName, imageInputStream, VALID_FILE_SIZE); @@ -214,6 +214,7 @@ public void invalidDimensionsAvatarUpload() throws Exception { @Test public void invalidDimensionsAvatarReupload() throws Exception { final String avatarFileName = INVALID_AVATAR_DIMENSIONS_FILENAME; + when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn(AVATAR); try (final InputStream imageInputStream = loadResource(avatarFileName).openStream()) { expectedException.expect(ApiExceptionMatcher.hasErrorCode(ErrorCode.INVALID_AVATAR_DIMENSION)); avatarService.updateAvatar(EXISTING_AVATAR_ID, AVATAR_METADATA, avatarFileName, imageInputStream, VALID_FILE_SIZE); @@ -223,6 +224,7 @@ public void invalidDimensionsAvatarReupload() throws Exception { @Test public void deleteAvatar() throws Exception { final Avatar avatarToDelete = new Avatar().setUrl(VALID_AVATAR_FILENAME).setAssignments(Collections.emptyList()); + when(avatarRepository.findById(EXISTING_AVATAR_ID)).thenReturn(AVATAR); when(avatarRepository.findById(AVATAR_ID)).thenReturn(Optional.of(avatarToDelete)); final Path avatarFilePath = temporaryFolder.getRoot().toPath().resolve(AVATARS_FOLDER).resolve(VALID_AVATAR_FILENAME); Files.copy(loadResource(VALID_AVATAR_FILENAME).openStream(), avatarFilePath); diff --git a/src/test/java/com/faforever/api/clan/ClanServiceTest.java b/src/test/java/com/faforever/api/clan/ClanServiceTest.java index 16ea36b41..692c3d4ce 100644 --- a/src/test/java/com/faforever/api/clan/ClanServiceTest.java +++ b/src/test/java/com/faforever/api/clan/ClanServiceTest.java @@ -13,18 +13,17 @@ import com.faforever.api.player.PlayerService; import com.faforever.api.security.JwtService; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.Spy; -import org.mockito.junit.MockitoJUnitRunner; -import org.springframework.beans.factory.annotation.Autowired; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.jwt.Jwt; import java.io.IOException; @@ -39,7 +38,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExpectedExceptionSupport.class}) public class ClanServiceTest { @Rule public ExpectedException expectedException = ExpectedException.none(); diff --git a/src/test/java/com/faforever/api/data/listeners/ClanEnricherListenerTest.java b/src/test/java/com/faforever/api/data/listeners/ClanEnricherListenerTest.java index f9014bdaa..f77a8f2e9 100644 --- a/src/test/java/com/faforever/api/data/listeners/ClanEnricherListenerTest.java +++ b/src/test/java/com/faforever/api/data/listeners/ClanEnricherListenerTest.java @@ -3,8 +3,8 @@ import com.faforever.api.clan.ClanFactory; import com.faforever.api.config.FafApiProperties; import com.faforever.api.data.domain.Clan; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -13,7 +13,7 @@ public class ClanEnricherListenerTest { private ClanEnricherListener instance; - @Before + @BeforeEach public void setUp() throws Exception { instance = new ClanEnricherListener(); diff --git a/src/test/java/com/faforever/api/data/listeners/FeaturedModEnricherTest.java b/src/test/java/com/faforever/api/data/listeners/FeaturedModEnricherTest.java index 4399b867c..375fe1b29 100644 --- a/src/test/java/com/faforever/api/data/listeners/FeaturedModEnricherTest.java +++ b/src/test/java/com/faforever/api/data/listeners/FeaturedModEnricherTest.java @@ -3,20 +3,20 @@ import com.faforever.api.config.FafApiProperties; import com.faforever.api.data.domain.FeaturedMod; import com.faforever.api.data.domain.FeaturedModEnricher; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class FeaturedModEnricherTest { private FeaturedModEnricher featuredModEnricher; - @Before + @BeforeEach public void setUp() { FafApiProperties fafApiProperties = new FafApiProperties(); fafApiProperties.getFeaturedMod().setBireusUrlFormat("http://example.com/%s"); diff --git a/src/test/java/com/faforever/api/data/listeners/TutorialEnricherTest.java b/src/test/java/com/faforever/api/data/listeners/TutorialEnricherTest.java index 4046c4898..a4d5d9ce9 100644 --- a/src/test/java/com/faforever/api/data/listeners/TutorialEnricherTest.java +++ b/src/test/java/com/faforever/api/data/listeners/TutorialEnricherTest.java @@ -2,24 +2,24 @@ import com.faforever.api.config.FafApiProperties; import com.faforever.api.data.domain.Tutorial; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.context.support.MessageSourceAccessor; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class TutorialEnricherTest { private TutorialEnricherListener instance; @Mock private MessageSourceAccessor messageSourceAccessor; - @Before + @BeforeEach public void setUp() { FafApiProperties fafApiProperties = new FafApiProperties(); diff --git a/src/test/java/com/faforever/api/data/listeners/VotingSubjectEnricherTest.java b/src/test/java/com/faforever/api/data/listeners/VotingSubjectEnricherTest.java index 4380f0ab6..1b543a1a6 100644 --- a/src/test/java/com/faforever/api/data/listeners/VotingSubjectEnricherTest.java +++ b/src/test/java/com/faforever/api/data/listeners/VotingSubjectEnricherTest.java @@ -7,11 +7,11 @@ import com.faforever.api.data.domain.VotingQuestion; import com.faforever.api.data.domain.VotingSubject; import org.hamcrest.Matchers; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.context.support.MessageSourceAccessor; import java.time.OffsetDateTime; @@ -22,13 +22,13 @@ import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class VotingSubjectEnricherTest { private VotingSubjectEnricher instance; @Mock private MessageSourceAccessor messageSourceAccessor; - @Before + @BeforeEach public void setUp() { instance = new VotingSubjectEnricher(); instance.init(messageSourceAccessor); diff --git a/src/test/java/com/faforever/api/deployment/ExeUploaderServiceTest.java b/src/test/java/com/faforever/api/deployment/ExeUploaderServiceTest.java index 644e5062f..376a099c7 100644 --- a/src/test/java/com/faforever/api/deployment/ExeUploaderServiceTest.java +++ b/src/test/java/com/faforever/api/deployment/ExeUploaderServiceTest.java @@ -133,8 +133,6 @@ public void testProcessUploadDevelop() { @Test public void testProcessUploadIsForbidden() { String modName = "faf"; - Assertions.assertThrows(ApiException.class, () -> { - instance.processUpload(exeDataInputStream, modName); - }); + Assertions.assertThrows(ApiException.class, () -> instance.processUpload(exeDataInputStream, modName)) ; } } diff --git a/src/test/java/com/faforever/api/deployment/GitHubDeploymentServiceTest.java b/src/test/java/com/faforever/api/deployment/GitHubDeploymentServiceTest.java index 039bd982a..b0d7de8b3 100644 --- a/src/test/java/com/faforever/api/deployment/GitHubDeploymentServiceTest.java +++ b/src/test/java/com/faforever/api/deployment/GitHubDeploymentServiceTest.java @@ -3,9 +3,9 @@ import com.faforever.api.config.FafApiProperties; import com.faforever.api.data.domain.FeaturedMod; import com.faforever.api.featuredmods.FeaturedModService; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.kohsuke.github.GHDeployment; import org.kohsuke.github.GHDeploymentBuilder; import org.kohsuke.github.GHDeploymentStatusBuilder; @@ -13,7 +13,7 @@ import org.kohsuke.github.GHEventPayload.Push; import org.kohsuke.github.GHRepository; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.context.ApplicationContext; import java.util.Collections; @@ -26,7 +26,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class GitHubDeploymentServiceTest { private static final String EXAMPLE_REPO_URL = "https://example.com/repo.git"; @@ -40,7 +40,7 @@ public class GitHubDeploymentServiceTest { @Mock private FeaturedModService featuredModService; - @Before + @BeforeEach public void setUp() throws Exception { apiProperties = new FafApiProperties(); instance = new GitHubDeploymentService(applicationContext, apiProperties, featuredModService); diff --git a/src/test/java/com/faforever/api/deployment/LegacyFeaturedModDeploymentTaskTest.java b/src/test/java/com/faforever/api/deployment/LegacyFeaturedModDeploymentTaskTest.java index ff6b5b951..f0fc81ffd 100644 --- a/src/test/java/com/faforever/api/deployment/LegacyFeaturedModDeploymentTaskTest.java +++ b/src/test/java/com/faforever/api/deployment/LegacyFeaturedModDeploymentTaskTest.java @@ -7,15 +7,16 @@ import com.faforever.api.featuredmods.FeaturedModFile; import com.faforever.api.featuredmods.FeaturedModService; import com.google.common.collect.ImmutableMap; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.migrationsupport.rules.ExternalResourceSupport; import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; @@ -30,6 +31,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.anyShort; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Matchers.any; @@ -39,7 +41,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExternalResourceSupport.class}) public class LegacyFeaturedModDeploymentTaskTest { @Rule @@ -56,8 +58,8 @@ public class LegacyFeaturedModDeploymentTaskTest { private FafApiProperties properties; - @Before - public void setUp() throws Exception { + @BeforeEach + public void setUp() { properties = new FafApiProperties(); Deployment deployment = properties.getDeployment(); deployment.setRepositoriesDirectory(repositoriesFolder.getRoot().getAbsolutePath()); @@ -66,9 +68,9 @@ public void setUp() throws Exception { instance = new LegacyFeaturedModDeploymentTask(gitWrapper, featuredModService, properties, restTemplate); } - @Test(expected = IllegalStateException.class) - public void testRunWithoutConfigurationThrowsException() throws Exception { - instance.run(); + @Test + public void testRunWithoutConfigurationThrowsException() { + assertThrows(IllegalStateException.class, () -> instance.run() ); } @Test diff --git a/src/test/java/com/faforever/api/email/EmailServiceTest.java b/src/test/java/com/faforever/api/email/EmailServiceTest.java index c400f14c1..4106a8f6d 100644 --- a/src/test/java/com/faforever/api/email/EmailServiceTest.java +++ b/src/test/java/com/faforever/api/email/EmailServiceTest.java @@ -5,18 +5,19 @@ import com.faforever.api.config.FafApiProperties.Registration; import com.faforever.api.error.ApiExceptionMatcher; import com.faforever.api.error.ErrorCode; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExpectedExceptionSupport.class}) public class EmailServiceTest { @Rule @@ -30,7 +31,7 @@ public class EmailServiceTest { @Mock private EmailSender emailSender; - @Before + @BeforeEach public void setUp() throws Exception { properties = new FafApiProperties(); properties.getMail().setFromEmailAddress("foo@bar.com"); diff --git a/src/test/java/com/faforever/api/email/JavaEmailSenderTest.java b/src/test/java/com/faforever/api/email/JavaEmailSenderTest.java index ebd42b4df..884c117ed 100644 --- a/src/test/java/com/faforever/api/email/JavaEmailSenderTest.java +++ b/src/test/java/com/faforever/api/email/JavaEmailSenderTest.java @@ -1,12 +1,12 @@ package com.faforever.api.email; import com.sun.mail.smtp.SMTPMessage; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessagePreparator; @@ -18,7 +18,7 @@ import static org.junit.Assert.assertThat; import static org.mockito.Mockito.verify; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class JavaEmailSenderTest { private JavaEmailSender instance; @@ -26,7 +26,7 @@ public class JavaEmailSenderTest { @Mock private JavaMailSender mailSender; - @Before + @BeforeEach public void setUp() { instance = new JavaEmailSender(mailSender); } diff --git a/src/test/java/com/faforever/api/email/MandrillEmailSenderTest.java b/src/test/java/com/faforever/api/email/MandrillEmailSenderTest.java index 14c495076..75b6348c4 100644 --- a/src/test/java/com/faforever/api/email/MandrillEmailSenderTest.java +++ b/src/test/java/com/faforever/api/email/MandrillEmailSenderTest.java @@ -3,12 +3,12 @@ import com.microtripit.mandrillapp.lutung.MandrillApi; import com.microtripit.mandrillapp.lutung.controller.MandrillMessagesApi; import com.microtripit.mandrillapp.lutung.view.MandrillMessage; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.Matchers.hasSize; @@ -18,14 +18,14 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class MandrillEmailSenderTest { private MandrillEmailSender instance; @Mock private MandrillApi mandrillApi; - @Before + @BeforeEach public void setUp() throws Exception { instance = new MandrillEmailSender(mandrillApi); } diff --git a/src/test/java/com/faforever/api/error/GlobalControllerExceptionHandlerTest.java b/src/test/java/com/faforever/api/error/GlobalControllerExceptionHandlerTest.java index 66d257a1c..225b7099f 100644 --- a/src/test/java/com/faforever/api/error/GlobalControllerExceptionHandlerTest.java +++ b/src/test/java/com/faforever/api/error/GlobalControllerExceptionHandlerTest.java @@ -2,8 +2,8 @@ import com.faforever.api.data.domain.Clan; import com.faforever.api.data.domain.Player; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpStatus; import javax.validation.ConstraintViolation; @@ -22,7 +22,7 @@ public class GlobalControllerExceptionHandlerTest { private static final String COMMON_MESSAGE = "Error"; private GlobalControllerExceptionHandler instance; - @Before + @BeforeEach public void setUp() { instance = new GlobalControllerExceptionHandler(); } diff --git a/src/test/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java b/src/test/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java index 95d58d0c5..525966dac 100644 --- a/src/test/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java +++ b/src/test/java/com/faforever/api/leaderboard/LeaderboardControllerTest.java @@ -2,11 +2,11 @@ import com.yahoo.elide.jsonapi.models.JsonApiDocument; import com.yahoo.elide.jsonapi.models.Resource; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.domain.PageImpl; import java.util.Arrays; @@ -20,7 +20,7 @@ import static org.junit.Assert.assertThat; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class LeaderboardControllerTest { private LeaderboardController instance; @@ -28,7 +28,7 @@ public class LeaderboardControllerTest { @Mock private LeaderboardService leaderboardService; - @Before + @BeforeEach public void setUp() throws Exception { instance = new LeaderboardController(leaderboardService); } diff --git a/src/test/java/com/faforever/api/leaderboard/LeaderboardServiceTest.java b/src/test/java/com/faforever/api/leaderboard/LeaderboardServiceTest.java index b086b50bf..6b1d0b067 100644 --- a/src/test/java/com/faforever/api/leaderboard/LeaderboardServiceTest.java +++ b/src/test/java/com/faforever/api/leaderboard/LeaderboardServiceTest.java @@ -1,10 +1,10 @@ package com.faforever.api.leaderboard; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; @@ -17,7 +17,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class LeaderboardServiceTest { private LeaderboardService instance; @@ -27,7 +27,7 @@ public class LeaderboardServiceTest { @Mock private Ladder1v1LeaderboardRepository ladder1v1LeaderboardRepository; - @Before + @BeforeEach public void setUp() throws Exception { instance = new LeaderboardService(globalLeaderboardRepository, ladder1v1LeaderboardRepository); } diff --git a/src/test/java/com/faforever/api/mautic/MauticServiceTest.java b/src/test/java/com/faforever/api/mautic/MauticServiceTest.java index f33ef29d6..51496d9f2 100644 --- a/src/test/java/com/faforever/api/mautic/MauticServiceTest.java +++ b/src/test/java/com/faforever/api/mautic/MauticServiceTest.java @@ -1,12 +1,12 @@ package com.faforever.api.mautic; import com.faforever.api.config.FafApiProperties; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.client.ResponseErrorHandler; @@ -20,7 +20,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class MauticServiceTest { private MauticService instance; @@ -34,7 +34,7 @@ public class MauticServiceTest { @Mock private RestTemplate restTemplate; - @Before + @BeforeEach public void setUp() { when(restTemplateBuilder.build()).thenReturn(restTemplate); diff --git a/src/test/java/com/faforever/api/mod/ModServiceTest.java b/src/test/java/com/faforever/api/mod/ModServiceTest.java index 46996044e..450c02cd1 100644 --- a/src/test/java/com/faforever/api/mod/ModServiceTest.java +++ b/src/test/java/com/faforever/api/mod/ModServiceTest.java @@ -7,15 +7,17 @@ import com.faforever.api.error.ApiExceptionMatcher; import com.faforever.api.error.ErrorCode; import org.jetbrains.annotations.NotNull; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; +import org.junit.jupiter.migrationsupport.rules.ExternalResourceSupport; import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; -import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.domain.Example; import java.io.BufferedInputStream; @@ -32,7 +34,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExternalResourceSupport.class, ExpectedExceptionSupport.class}) public class ModServiceTest { private static final String TEST_MOD = "/mods/No Friendly Fire.zip"; @@ -50,14 +52,12 @@ public class ModServiceTest { @Mock private ModVersionRepository modVersionRepository; - @Before + @BeforeEach public void setUp() throws Exception { FafApiProperties properties = new FafApiProperties(); properties.getMod().setTargetDirectory(temporaryFolder.getRoot().toPath().resolve("mods")); properties.getMod().setThumbnailTargetDirectory(temporaryFolder.getRoot().toPath().resolve("thumbnails")); - when(modRepository.save(any(Mod.class))).thenAnswer(invocation -> invocation.getArgument(0)); - instance = new ModService(properties, modRepository, modVersionRepository); } @@ -68,6 +68,8 @@ public void processUploadedMod() throws Exception { Player uploader = new Player(); + when(modRepository.save(any(Mod.class))).thenAnswer(invocation -> invocation.getArgument(0)); + instance.processUploadedMod(uploadedFile, uploader); assertThat(Files.exists(temporaryFolder.getRoot().toPath().resolve("mods/no_friendly_fire.v0003.zip")), is(true)); diff --git a/src/test/java/com/faforever/api/security/FafTokenServiceTest.java b/src/test/java/com/faforever/api/security/FafTokenServiceTest.java index c0da2e39e..2599e68b2 100644 --- a/src/test/java/com/faforever/api/security/FafTokenServiceTest.java +++ b/src/test/java/com/faforever/api/security/FafTokenServiceTest.java @@ -7,9 +7,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.google.common.collect.ImmutableMap; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; import org.junit.rules.ExpectedException; import org.springframework.security.jwt.Jwt; import org.springframework.security.jwt.JwtHelper; @@ -23,7 +25,9 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; +@ExtendWith(ExpectedExceptionSupport.class) public class FafTokenServiceTest { + private static final String TEST_SECRET = "banana"; private final MacSigner macSigner; @Rule @@ -35,7 +39,7 @@ public FafTokenServiceTest() { this.macSigner = new MacSigner(TEST_SECRET); } - @Before + @BeforeEach public void setUp() { objectMapper = new ObjectMapper(); objectMapper.registerModule(new JavaTimeModule()); diff --git a/src/test/java/com/faforever/api/security/OAuthClientDetailsServiceTest.java b/src/test/java/com/faforever/api/security/OAuthClientDetailsServiceTest.java index e265ee3f8..179c2c21a 100644 --- a/src/test/java/com/faforever/api/security/OAuthClientDetailsServiceTest.java +++ b/src/test/java/com/faforever/api/security/OAuthClientDetailsServiceTest.java @@ -3,11 +3,12 @@ import com.faforever.api.client.OAuthClient; import com.faforever.api.client.OAuthClientRepository; import com.faforever.api.config.FafApiProperties; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.security.oauth2.provider.ClientDetails; import org.springframework.security.oauth2.provider.ClientRegistrationException; @@ -17,7 +18,7 @@ import static org.junit.Assert.assertThat; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class OAuthClientDetailsServiceTest { private OAuthClientDetailsService instance; @@ -25,7 +26,7 @@ public class OAuthClientDetailsServiceTest { @Mock private OAuthClientRepository oAuthClientRepository; - @Before + @BeforeEach public void setUp() throws Exception { instance = new OAuthClientDetailsService(oAuthClientRepository, new FafApiProperties()); } @@ -39,8 +40,8 @@ public void loadClientByClientId() throws Exception { assertThat(result, notNullValue()); } - @Test(expected = ClientRegistrationException.class) + @Test public void loadClientByClientIdThrowsClientRegistrationExceptionIfNotExists() throws Exception { - instance.loadClientByClientId("123"); + Assertions.assertThrows( ClientRegistrationException.class, () -> instance.loadClientByClientId("123") ); } } diff --git a/src/test/java/com/faforever/api/user/UserServiceTest.java b/src/test/java/com/faforever/api/user/UserServiceTest.java index 4b52a54ee..d26e585c9 100644 --- a/src/test/java/com/faforever/api/user/UserServiceTest.java +++ b/src/test/java/com/faforever/api/user/UserServiceTest.java @@ -18,14 +18,15 @@ import com.faforever.api.user.UserService.SteamLinkResult; import com.google.common.collect.ImmutableMap; import com.google.common.hash.Hashing; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.io.IOException; import java.math.BigInteger; @@ -52,7 +53,7 @@ import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExpectedExceptionSupport.class}) public class UserServiceTest { public static final String INVALID_PASSWORD = "invalid password"; private static final String TEST_SECRET = "banana"; @@ -69,6 +70,7 @@ public class UserServiceTest { private static final String STEAM_ID = "someSteamId"; private static final String IP_ADDRESS = "127.0.0.1"; private static FafPasswordEncoder fafPasswordEncoder = new FafPasswordEncoder(); + private static final CompletableFuture COMPLETED_FUTURE = CompletableFuture.completedFuture(null); @Rule public ExpectedException expectedException = ExpectedException.none(); @@ -104,18 +106,12 @@ private static User createUser(int id, String name, String password, String emai .setId(id); } - @Before + @BeforeEach public void setUp() { properties = new FafApiProperties(); properties.getJwt().setSecret(TEST_SECRET); properties.getLinkToSteam().setSteamRedirectUrlFormat("%s"); instance = new UserService(emailService, playerRepository, userRepository, nameRecordRepository, properties, anopeUserRepository, fafTokenService, steamService, Optional.of(mauticService), globalRatingRepository, ladder1v1RatingRepository); - - when(fafTokenService.createToken(any(), any(), any())).thenReturn(TOKEN_VALUE); - when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); - - when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())) - .thenReturn(CompletableFuture.completedFuture(null)); } @Test @@ -123,6 +119,8 @@ public void setUp() { public void register() { properties.getRegistration().setActivationUrlFormat(ACTIVATION_URL_FORMAT); + when(fafTokenService.createToken(any(), any(), any())).thenReturn(TOKEN_VALUE); + instance.register(TEST_USERNAME, TEST_CURRENT_EMAIL, TEST_CURRENT_PASSWORD); verify(emailService).validateEmailAddress(TEST_CURRENT_EMAIL); @@ -178,11 +176,14 @@ public void registerUsernameReserved() { @Test public void activate() { final String TEST_IP_ADDRESS = IP_ADDRESS; + when(fafTokenService.resolveToken(FafTokenType.REGISTRATION, TOKEN_VALUE)).thenReturn(ImmutableMap.of( UserService.KEY_USERNAME, TEST_USERNAME, UserService.KEY_EMAIL, TEST_CURRENT_EMAIL, UserService.KEY_PASSWORD, fafPasswordEncoder.encode(TEST_NEW_PASSWORD) )); + when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); + when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())).thenReturn(COMPLETED_FUTURE); instance.activate(TOKEN_VALUE, TEST_IP_ADDRESS); @@ -225,6 +226,9 @@ public void changePasswordInvalidPassword() { public void changeEmail() { User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); + when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); + when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())).thenReturn(COMPLETED_FUTURE); + instance.changeEmail(TEST_CURRENT_PASSWORD, TEST_NEW_EMAIL, user, IP_ADDRESS); verify(emailService).validateEmailAddress(TEST_NEW_EMAIL); ArgumentCaptor captor = ArgumentCaptor.forClass(User.class); @@ -247,6 +251,12 @@ public void changeLogin() { User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); when(nameRecordRepository.getDaysSinceLastNewRecord(anyInt(), anyInt())).thenReturn(Optional.empty()); + when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); + + when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())) + .thenReturn(COMPLETED_FUTURE); + + instance.changeLogin(TEST_USERNAME_CHANGED, user, IP_ADDRESS); ArgumentCaptor captorUser = ArgumentCaptor.forClass(User.class); verify(userRepository).save(captorUser.capture()); @@ -304,6 +314,10 @@ public void changeLoginTooEarly() { @Test public void changeLoginTooEarlyButForce() { User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); + + when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); + when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())).thenReturn(COMPLETED_FUTURE); + instance.changeLoginForced(TEST_USERNAME_CHANGED, user, IP_ADDRESS); verify(mauticService).createOrUpdateContact(eq(TEST_NEW_EMAIL), eq(String.valueOf(TEST_USERID)), eq(TEST_USERNAME_CHANGED), eq(IP_ADDRESS), any(OffsetDateTime.class)); } @@ -319,6 +333,9 @@ public void changeLoginUsernameReserved() { @Test public void changeLoginUsernameReservedButForced() { + when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); + when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())).thenReturn(COMPLETED_FUTURE); + User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); instance.changeLoginForced(TEST_USERNAME_CHANGED, user, IP_ADDRESS); verify(mauticService).createOrUpdateContact(eq(TEST_NEW_EMAIL), eq(String.valueOf(TEST_USERID)), eq(TEST_USERNAME_CHANGED), eq(IP_ADDRESS), any(OffsetDateTime.class)); @@ -327,6 +344,8 @@ public void changeLoginUsernameReservedButForced() { @Test public void changeLoginUsernameReservedBySelf() { when(nameRecordRepository.getLastUsernameOwnerWithinMonths(any(), anyInt())).thenReturn(Optional.of(TEST_USERID)); + when(userRepository.save(any(User.class))).then(invocation -> ((User) invocation.getArgument(0)).setId(TEST_USERID)); + when(mauticService.createOrUpdateContact(any(), any(), any(), any(), any())).thenReturn(COMPLETED_FUTURE); User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); instance.changeLogin(TEST_USERNAME_CHANGED, user, IP_ADDRESS); @@ -341,7 +360,9 @@ public void resetPasswordByLogin() { User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); + when(fafTokenService.createToken(any(), any(), any())).thenReturn(TOKEN_VALUE); when(userRepository.findOneByLogin(TEST_USERNAME)).thenReturn(Optional.of(user)); + instance.resetPassword(TEST_USERNAME, TEST_NEW_PASSWORD); verify(userRepository).findOneByLogin(TEST_USERNAME); @@ -365,7 +386,9 @@ public void resetPasswordByEmail() { User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); + when(fafTokenService.createToken(any(), any(), any())).thenReturn(TOKEN_VALUE); when(userRepository.findOneByEmail(TEST_CURRENT_EMAIL)).thenReturn(Optional.of(user)); + instance.resetPassword(TEST_CURRENT_EMAIL, TEST_NEW_PASSWORD); verify(userRepository).findOneByEmail(TEST_CURRENT_EMAIL); @@ -413,6 +436,7 @@ public void claimPasswordResetToken() { @SuppressWarnings("unchecked") public void buildSteamLinkUrl() { when(steamService.buildLoginUrl(any())).thenReturn("steamLoginUrl"); + when(fafTokenService.createToken(any(), any(), any())).thenReturn(TOKEN_VALUE); User user = createUser(TEST_USERID, TEST_USERNAME, TEST_CURRENT_PASSWORD, TEST_CURRENT_EMAIL); String url = instance.buildSteamLinkUrl(user, "http://example.com/callback"); diff --git a/src/test/java/com/faforever/api/utils/NameUtilTest.java b/src/test/java/com/faforever/api/utils/NameUtilTest.java index 58aac9155..7fb16fac1 100644 --- a/src/test/java/com/faforever/api/utils/NameUtilTest.java +++ b/src/test/java/com/faforever/api/utils/NameUtilTest.java @@ -1,6 +1,6 @@ package com.faforever.api.utils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/test/java/com/faforever/api/voting/VotingServiceTest.java b/src/test/java/com/faforever/api/voting/VotingServiceTest.java index 8523195d6..818e63e70 100644 --- a/src/test/java/com/faforever/api/voting/VotingServiceTest.java +++ b/src/test/java/com/faforever/api/voting/VotingServiceTest.java @@ -10,13 +10,14 @@ import com.faforever.api.error.ApiExceptionMatcher; import com.faforever.api.error.ErrorCode; import com.faforever.api.game.GamePlayerStatsRepository; -import org.junit.Before; import org.junit.Rule; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.migrationsupport.rules.ExpectedExceptionSupport; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.time.OffsetDateTime; import java.util.Arrays; @@ -25,11 +26,12 @@ import java.util.Optional; import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, ExpectedExceptionSupport.class}) public class VotingServiceTest { @Rule public ExpectedException expectedException = ExpectedException.none(); @@ -44,7 +46,7 @@ public class VotingServiceTest { @Mock private VotingChoiceRepository votingChoiceRepository; - @Before + @BeforeEach public void setUp() { instance = new VotingService(voteRepository, votingSubjectRepository, gamePlayerStatsRepository, votingChoiceRepository); } @@ -145,8 +147,7 @@ public void saveVoteIfAlternativeOrdinalCorrect() { when(voteRepository.findByPlayerAndVotingSubjectId(player, votingSubject.getId())).thenReturn(Optional.empty()); when(votingSubjectRepository.findById(votingSubject.getId())).thenReturn(Optional.of(votingSubject)); - when(votingChoiceRepository.findById(votingChoice.getId())).thenReturn(Optional.of(votingChoice)); - when(votingChoiceRepository.findById(votingChoice2.getId())).thenReturn(Optional.of(votingChoice2)); + when(votingChoiceRepository.findById(anyInt())).thenReturn(Optional.of(votingChoice)).thenReturn(Optional.of(votingChoice2)); instance.saveVote(vote, player); verify(voteRepository).save(vote); @@ -221,8 +222,7 @@ public void notSaveVoteIfAlternativeOrdinalWrong() { when(voteRepository.findByPlayerAndVotingSubjectId(player, votingSubject.getId())).thenReturn(Optional.empty()); when(votingSubjectRepository.findById(votingSubject.getId())).thenReturn(Optional.of(votingSubject)); - when(votingChoiceRepository.findById(votingChoice.getId())).thenReturn(Optional.of(votingChoice)); - when(votingChoiceRepository.findById(votingChoice2.getId())).thenReturn(Optional.of(votingChoice2)); + when(votingChoiceRepository.findById(anyInt())).thenReturn(Optional.of(votingChoice)).thenReturn(Optional.of(votingChoice2)); try { instance.saveVote(vote, player); @@ -264,8 +264,7 @@ public void notSaveVoteOnTooManyAnswers() { when(voteRepository.findByPlayerAndVotingSubjectId(player, votingSubject.getId())).thenReturn(Optional.empty()); when(votingSubjectRepository.findById(votingSubject.getId())).thenReturn(Optional.of(votingSubject)); - when(votingChoiceRepository.findById(votingChoice.getId())).thenReturn(Optional.of(votingChoice)); - when(votingChoiceRepository.findById(votingChoice2.getId())).thenReturn(Optional.of(votingChoice2)); + when(votingChoiceRepository.findById(anyInt())).thenReturn(Optional.of(votingChoice)).thenReturn(Optional.of(votingChoice2)); try { instance.saveVote(vote, player);