diff --git a/webgoat-container/pom.xml b/webgoat-container/pom.xml index ea820dae5..33cbd19cc 100644 --- a/webgoat-container/pom.xml +++ b/webgoat-container/pom.xml @@ -75,12 +75,6 @@ org.springframework.boot spring-boot-starter-data-jpa - - - HikariCP - com.zaxxer - - org.apache.commons @@ -103,8 +97,6 @@ hsqldb - - org.springframework.boot spring-boot-starter-test @@ -113,19 +105,8 @@ org.springframework.security spring-security-test - test - - junit - junit - jar - test - - - - - diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/assignments/AssignmentEndpointTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/assignments/AssignmentEndpointTest.java index 65333bacc..20390ba41 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/assignments/AssignmentEndpointTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/assignments/AssignmentEndpointTest.java @@ -38,6 +38,7 @@ import org.springframework.web.servlet.i18n.FixedLocaleResolver; import java.util.Locale; +//Do not remove is the base class for all assignments tests public class AssignmentEndpointTest { @Mock diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/plugins/LessonTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/plugins/LessonTest.java index 7716f4806..ed79c545a 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/plugins/LessonTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/plugins/LessonTest.java @@ -1,6 +1,6 @@ package org.owasp.webgoat.plugins; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.owasp.webgoat.i18n.Language; import org.owasp.webgoat.i18n.PluginMessages; import org.owasp.webgoat.session.WebSession; @@ -37,8 +37,8 @@ public abstract class LessonTest { @MockBean private Language language; - @Before - public void init() { + @BeforeEach + void init() { when(webSession.getUserName()).thenReturn("unit-test"); when(language.getLocale()).thenReturn(Locale.getDefault()); } diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/plugins/PluginTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/plugins/PluginTest.java deleted file mode 100644 index 5760dbbc8..000000000 --- a/webgoat-container/src/test/java/org/owasp/webgoat/plugins/PluginTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.owasp.webgoat.plugins; - -public class PluginTest { - -// @Test -// public void pathShouldBeRewrittenInHtmlFile() throws Exception { -// Path tmpDir = PluginTestHelper.createTmpDir(); -// Path pluginSourcePath = PluginTestHelper.pathForLoading(); -// Plugin plugin = PluginTestHelper.createPluginFor(TestPlugin.class); -// Path htmlFile = Paths.get(pluginSourcePath.toString(), "lessonSolutions", "rewrite_test.html"); -// plugin.loadFiles(Arrays.asList(htmlFile), true); -// plugin.rewritePaths(tmpDir); -// List allLines = Files.readAllLines(htmlFile, StandardCharsets.UTF_8); -// -// assertThat(allLines, -// hasItem(containsString("plugin/TestPlugin/lessonSolutions/en/TestPlugin_files/image001.png"))); -// } -// -// @Test -// public void shouldNotRewriteOtherLinks() throws Exception { -// Path tmpDir = PluginTestHelper.createTmpDir(); -// Path pluginSourcePath = PluginTestHelper.pathForLoading(); -// Plugin plugin = PluginTestHelper.createPluginFor(TestPlugin.class); -// Path htmlFile = Paths.get(pluginSourcePath.toString(), "lessonSolutions", "rewrite_test.html"); -// plugin.loadFiles(Arrays.asList(htmlFile), true); -// plugin.rewritePaths(tmpDir); -// List allLines = Files.readAllLines(htmlFile, StandardCharsets.UTF_8); -// -// assertThat(allLines, -// hasItem(containsString("Unknown_files/image001.png"))); -// } -} \ No newline at end of file diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/service/HintServiceTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/service/HintServiceTest.java index a9aa3f1e0..541344676 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/service/HintServiceTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/service/HintServiceTest.java @@ -2,28 +2,25 @@ package org.owasp.webgoat.service; import com.beust.jcommander.internal.Lists; import org.hamcrest.CoreMatchers; -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.Mockito; -import org.mockito.junit.MockitoJUnitRunner; -import org.owasp.webgoat.lessons.Lesson; +import org.mockito.junit.jupiter.MockitoExtension; import org.owasp.webgoat.lessons.Assignment; +import org.owasp.webgoat.lessons.Lesson; import org.owasp.webgoat.session.WebSession; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import java.util.List; - import static org.mockito.Mockito.when; import static org.owasp.webgoat.service.HintService.URL_HINTS_MVC; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class HintServiceTest { private MockMvc mockMvc; @@ -34,13 +31,13 @@ public class HintServiceTest { @Mock private Assignment assignment; - @Before - public void setup() { + @BeforeEach + void setup() { this.mockMvc = standaloneSetup(new HintService(websession)).build(); } @Test - public void hintsPerAssignment() throws Exception { + void hintsPerAssignment() throws Exception { Assignment assignment = Mockito.mock(Assignment.class); when(assignment.getPath()).thenReturn("/HttpBasics/attack1"); when(assignment.getHints()).thenReturn(Lists.newArrayList("hint 1", "hint 2")); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/service/LabelServiceTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/service/LabelServiceTest.java index 6609432fe..0450fd0a6 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/service/LabelServiceTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/service/LabelServiceTest.java @@ -1,16 +1,15 @@ package org.owasp.webgoat.service; import org.hamcrest.CoreMatchers; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.owasp.webgoat.assignments.LessonTrackerInterceptor; -import org.owasp.webgoat.session.Course; import org.owasp.webgoat.users.UserService; +import org.owasp.webgoat.users.UserTrackerRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.ActiveProfiles; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -48,15 +47,21 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. * @since November 29, 2016 */ @WebMvcTest(value = {LabelService.class}) -@RunWith(SpringRunner.class) -public class LabelServiceTest { +@ActiveProfiles({"test", "webgoat"}) +class LabelServiceTest { @Autowired public MockMvc mockMvc; + @MockBean + private UserService userService; + @MockBean + private UserTrackerRepository userTrackerRepository; + @MockBean + private LessonTrackerInterceptor lessonTrackerInterceptor; @Test @WithMockUser(username = "guest", password = "guest") - public void withoutLocale() throws Exception { + void withoutLocale() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get(URL_LABELS_MVC)) .andExpect(status().isOk()) .andExpect(jsonPath("password", CoreMatchers.is("Password"))); @@ -64,7 +69,7 @@ public class LabelServiceTest { @Test @WithMockUser(username = "guest", password = "guest") - public void withLocale() throws Exception { + void withLocale() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get(URL_LABELS_MVC).param("lang", "nl")) .andExpect(status().isOk()) .andExpect(jsonPath("password", CoreMatchers.is("Wachtwoord"))); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonMenuServiceTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonMenuServiceTest.java index ef40b60cb..124765e65 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonMenuServiceTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonMenuServiceTest.java @@ -23,12 +23,12 @@ package org.owasp.webgoat.service; import com.beust.jcommander.internal.Lists; import org.hamcrest.CoreMatchers; -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.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.owasp.webgoat.lessons.Category; import org.owasp.webgoat.lessons.Lesson; import org.owasp.webgoat.session.Course; @@ -39,6 +39,8 @@ import org.owasp.webgoat.users.UserTrackerRepository; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import java.util.Arrays; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.owasp.webgoat.service.LessonMenuService.URL_LESSONMENU_MVC; @@ -47,9 +49,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup; -import java.util.Arrays; - -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class LessonMenuServiceTest { @Mock(lenient=true) @@ -64,13 +64,13 @@ public class LessonMenuServiceTest { private WebSession webSession; private MockMvc mockMvc; - @Before - public void setup() { + @BeforeEach + void setup() { this.mockMvc = standaloneSetup(new LessonMenuService(course, webSession, userTrackerRepository, Arrays.asList("none"), Arrays.asList("none"))).build(); } @Test - public void lessonsShouldBeOrdered() throws Exception { + void lessonsShouldBeOrdered() throws Exception { Lesson l1 = Mockito.mock(Lesson.class); Lesson l2 = Mockito.mock(Lesson.class); when(l1.getTitle()).thenReturn("ZA"); @@ -88,7 +88,7 @@ public class LessonMenuServiceTest { } @Test - public void lessonCompleted() throws Exception { + void lessonCompleted() throws Exception { Lesson l1 = Mockito.mock(Lesson.class); when(l1.getTitle()).thenReturn("ZA"); when(lessonTracker.isLessonSolved()).thenReturn(true); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonProgressServiceTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonProgressServiceTest.java index 8099fbfaa..b0a73dea6 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonProgressServiceTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/service/LessonProgressServiceTest.java @@ -1,11 +1,11 @@ package org.owasp.webgoat.service; import org.assertj.core.util.Maps; -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.runners.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.owasp.webgoat.lessons.Lesson; import org.owasp.webgoat.lessons.Assignment; import org.owasp.webgoat.session.WebSession; @@ -54,8 +54,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. * @version $Id: $Id * @since November 25, 2016 */ -@RunWith(MockitoJUnitRunner.class) -public class LessonProgressServiceTest { +@ExtendWith(MockitoExtension.class) +class LessonProgressServiceTest { private MockMvc mockMvc; @@ -70,8 +70,8 @@ public class LessonProgressServiceTest { @Mock private WebSession websession; - @Before - public void setup() { + @BeforeEach + void setup() { Assignment assignment = new Assignment("test", "test", List.of()); when(userTrackerRepository.findByUser(any())).thenReturn(userTracker); when(userTracker.getLessonTracker(any(Lesson.class))).thenReturn(lessonTracker); @@ -82,7 +82,7 @@ public class LessonProgressServiceTest { } @Test - public void jsonLessonOverview() throws Exception { + void jsonLessonOverview() throws Exception { this.mockMvc.perform(MockMvcRequestBuilders.get("/service/lessonoverview.mvc").accept(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isOk()) .andExpect(jsonPath("$[0].assignment.name", is("test"))) diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/service/ReportCardServiceTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/service/ReportCardServiceTest.java index 4e00e7db7..47e9bb439 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/service/ReportCardServiceTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/service/ReportCardServiceTest.java @@ -1,10 +1,10 @@ package org.owasp.webgoat.service; -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.owasp.webgoat.i18n.PluginMessages; import org.owasp.webgoat.lessons.Lesson; import org.owasp.webgoat.session.Course; @@ -26,7 +26,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ReportCardServiceTest { private MockMvc mockMvc; @@ -45,15 +45,15 @@ public class ReportCardServiceTest { @Mock private PluginMessages pluginMessages; - @Before - public void setup() { + @BeforeEach + void setup() { this.mockMvc = standaloneSetup(new ReportCardService(websession, userTrackerRepository, course, pluginMessages)).build(); when(pluginMessages.getMessage(anyString())).thenReturn("Test"); } @Test @WithMockUser(username = "guest", password = "guest") - public void withLessons() throws Exception { + void withLessons() throws Exception { when(lesson.getTitle()).thenReturn("Test"); when(course.getTotalOfLessons()).thenReturn(1); when(course.getTotalOfAssignments()).thenReturn(10); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/session/CourseTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/session/CourseTest.java deleted file mode 100644 index 39f451c0a..000000000 --- a/webgoat-container/src/test/java/org/owasp/webgoat/session/CourseTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.owasp.webgoat.session; - -/** - * ************************************************************************************************ - * This file is part of WebGoat, an Open Web Application Security Project utility. For details, - * please see http://www.owasp.org/ - *

- * Copyright (c) 2002 - 2014 Bruce Mayhew - *

- * This program is free software; you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - *

- * You should have received a copy of the GNU General Public License along with this program; if - * not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - *

- * Getting Source ============== - *

- * Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software - * projects. - *

- * - * @author nbaars - * @version $Id: $Id - * @since November 26, 2016 - */ -public class CourseTest { - - public void number() { - - } - -} \ No newline at end of file diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/session/LabelDebuggerTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/session/LabelDebuggerTest.java index b9bc79aae..04fb5daba 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/session/LabelDebuggerTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/session/LabelDebuggerTest.java @@ -1,45 +1,43 @@ package org.owasp.webgoat.session; -import org.junit.Test; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -public class LabelDebuggerTest { +class LabelDebuggerTest { @Test - public void testSetEnabledTrue() throws Exception { + void testSetEnabledTrue() { LabelDebugger ld = new LabelDebugger(); ld.setEnabled(true); - assertTrue(ld.isEnabled()); + Assertions.assertThat(ld.isEnabled()).isTrue(); } @Test - public void testSetEnabledFalse() throws Exception { + void testSetEnabledFalse() { LabelDebugger ld = new LabelDebugger(); ld.setEnabled(false); - assertFalse(ld.isEnabled()); + Assertions.assertThat((ld.isEnabled())).isFalse(); } @Test - public void testSetEnabledNullThrowsException() { + void testSetEnabledNullThrowsException() { LabelDebugger ld = new LabelDebugger(); ld.setEnabled(true); - assertTrue(ld.isEnabled()); + Assertions.assertThat((ld.isEnabled())).isTrue(); } @Test - public void testEnableIsTrue() { + void testEnableIsTrue() { LabelDebugger ld = new LabelDebugger(); ld.enable(); - assertTrue(ld.isEnabled()); + Assertions.assertThat((ld.isEnabled())).isTrue(); } @Test - public void testDisableIsFalse() { + void testDisableIsFalse() { LabelDebugger ld = new LabelDebugger(); ld.disable(); - assertFalse(ld.isEnabled()); + Assertions.assertThat((ld.isEnabled())).isFalse(); } diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/session/LessonTrackerTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/session/LessonTrackerTest.java index c26c0ae57..d14b70564 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/session/LessonTrackerTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/session/LessonTrackerTest.java @@ -1,6 +1,7 @@ package org.owasp.webgoat.session; -import org.junit.Test; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; import org.owasp.webgoat.lessons.Assignment; import org.owasp.webgoat.lessons.Lesson; import org.owasp.webgoat.users.LessonTracker; @@ -9,7 +10,6 @@ import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -42,20 +42,20 @@ import static org.mockito.Mockito.when; * @version $Id: $Id * @since November 25, 2016 */ -public class LessonTrackerTest { +class LessonTrackerTest { @Test - public void allAssignmentsSolvedShouldMarkLessonAsComplete() { + void allAssignmentsSolvedShouldMarkLessonAsComplete() { Lesson lesson = mock(Lesson.class); when(lesson.getAssignments()).thenReturn(List.of(new Assignment("assignment", "assignment", List.of("")))); LessonTracker lessonTracker = new LessonTracker(lesson); lessonTracker.assignmentSolved("assignment"); - assertTrue(lessonTracker.isLessonSolved()); + Assertions.assertThat(lessonTracker.isLessonSolved()).isTrue(); } @Test - public void noAssignmentsSolvedShouldMarkLessonAsInComplete() { + void noAssignmentsSolvedShouldMarkLessonAsInComplete() { Lesson lesson = mock(Lesson.class); Assignment a1 = new Assignment("a1"); Assignment a2 = new Assignment("a2"); @@ -70,7 +70,7 @@ public class LessonTrackerTest { } @Test - public void solvingSameAssignmentShouldNotAddItTwice() { + void solvingSameAssignmentShouldNotAddItTwice() { Lesson lesson = mock(Lesson.class); Assignment a1 = new Assignment("a1"); List assignments = List.of(a1); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserRepositoryTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserRepositoryTest.java index e23594d20..9ab886214 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserRepositoryTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserRepositoryTest.java @@ -1,23 +1,20 @@ package org.owasp.webgoat.users; import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.junit4.SpringRunner; @DataJpaTest -@RunWith(SpringRunner.class) @ActiveProfiles({"test", "webgoat"}) -public class UserRepositoryTest { +class UserRepositoryTest { @Autowired private UserRepository userRepository; @Test - public void userShouldBeSaved() { + void userShouldBeSaved() { WebGoatUser user = new WebGoatUser("test", "password"); userRepository.saveAndFlush(user); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserServiceTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserServiceTest.java index 97f4766ed..379f981ae 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserServiceTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserServiceTest.java @@ -1,27 +1,27 @@ package org.owasp.webgoat.users; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.assertj.core.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.core.userdetails.UsernameNotFoundException; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) -public class UserServiceTest { +@ExtendWith(MockitoExtension.class) +class UserServiceTest { @Mock private UserRepository userRepository; @Mock private UserTrackerRepository userTrackerRepository; - - @Test(expected = UsernameNotFoundException.class) - public void shouldThrowExceptionWhenUserIsNotFound() { + @Test + void shouldThrowExceptionWhenUserIsNotFound() { when(userRepository.findByUsername(any())).thenReturn(null); UserService userService = new UserService(userRepository, userTrackerRepository); - userService.loadUserByUsername("unknown"); + Assertions.assertThatThrownBy(() -> userService.loadUserByUsername("unknown")).isInstanceOf(UsernameNotFoundException.class); } } \ No newline at end of file diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserTrackerRepositoryTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserTrackerRepositoryTest.java index 213efd45f..bad733b52 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserTrackerRepositoryTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserTrackerRepositoryTest.java @@ -2,22 +2,19 @@ package org.owasp.webgoat.users; import org.assertj.core.api.Assertions; import org.assertj.core.util.Lists; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.owasp.webgoat.lessons.Assignment; import org.owasp.webgoat.lessons.Category; import org.owasp.webgoat.lessons.Lesson; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.junit4.SpringRunner; import java.util.List; @DataJpaTest -@RunWith(SpringRunner.class) @ActiveProfiles({"test", "webgoat"}) -public class UserTrackerRepositoryTest { +class UserTrackerRepositoryTest { private class TestLesson extends Lesson { @@ -42,9 +39,8 @@ public class UserTrackerRepositoryTest { private UserTrackerRepository userTrackerRepository; @Test - public void saveUserTracker() { + void saveUserTracker() { UserTracker userTracker = new UserTracker("test"); - LessonTracker lessonTracker = userTracker.getLessonTracker(new TestLesson()); userTrackerRepository.save(userTracker); @@ -53,7 +49,7 @@ public class UserTrackerRepositoryTest { } @Test - public void solvedAssignmentsShouldBeSaved() { + void solvedAssignmentsShouldBeSaved() { UserTracker userTracker = new UserTracker("test"); TestLesson lesson = new TestLesson(); userTracker.getLessonTracker(lesson); @@ -68,7 +64,7 @@ public class UserTrackerRepositoryTest { } @Test - public void saveAndLoadShouldHaveCorrectNumberOfAttemtps() { + void saveAndLoadShouldHaveCorrectNumberOfAttempts() { UserTracker userTracker = new UserTracker("test"); TestLesson lesson = new TestLesson(); userTracker.getLessonTracker(lesson); diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserValidatorTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserValidatorTest.java index f88a50e44..66ea4227e 100644 --- a/webgoat-container/src/test/java/org/owasp/webgoat/users/UserValidatorTest.java +++ b/webgoat-container/src/test/java/org/owasp/webgoat/users/UserValidatorTest.java @@ -1,26 +1,25 @@ package org.owasp.webgoat.users; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.assertj.core.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.validation.BeanPropertyBindingResult; import org.springframework.validation.Errors; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) -public class UserValidatorTest { +@ExtendWith(MockitoExtension.class) +class UserValidatorTest { @Mock private UserRepository userRepository; @Test - public void passwordsShouldMatch() { + void passwordsShouldMatch() { UserForm userForm = new UserForm(); userForm.setAgree("true"); userForm.setUsername("test1234"); @@ -28,11 +27,11 @@ public class UserValidatorTest { userForm.setMatchingPassword("test1234"); Errors errors = new BeanPropertyBindingResult(userForm, "userForm"); new UserValidator(userRepository).validate(userForm, errors); - assertFalse(errors.hasErrors()); + Assertions.assertThat(errors.hasErrors()).isFalse(); } @Test - public void shouldGiveErrorWhenPasswordsDoNotMatch() { + void shouldGiveErrorWhenPasswordsDoNotMatch() { UserForm userForm = new UserForm(); userForm.setAgree("true"); userForm.setUsername("test1234"); @@ -40,12 +39,12 @@ public class UserValidatorTest { userForm.setMatchingPassword("test1234"); Errors errors = new BeanPropertyBindingResult(userForm, "userForm"); new UserValidator(userRepository).validate(userForm, errors); - assertTrue(errors.hasErrors()); + Assertions.assertThat(errors.hasErrors()).isTrue(); assertThat(errors.getFieldError("matchingPassword").getCode()).isEqualTo("password.diff"); } @Test - public void shouldGiveErrorWhenUserAlreadyExists() { + void shouldGiveErrorWhenUserAlreadyExists() { UserForm userForm = new UserForm(); userForm.setAgree("true"); userForm.setUsername("test12345"); @@ -54,7 +53,7 @@ public class UserValidatorTest { when(userRepository.findByUsername(anyString())).thenReturn(new WebGoatUser("test1245", "password")); Errors errors = new BeanPropertyBindingResult(userForm, "userForm"); new UserValidator(userRepository).validate(userForm, errors); - assertTrue(errors.hasErrors()); + Assertions.assertThat(errors.hasErrors()).isTrue(); assertThat(errors.getFieldError("username").getCode()).isEqualTo("username.duplicate"); } diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/util/LabelManagerImplTest.java b/webgoat-container/src/test/java/org/owasp/webgoat/util/LabelManagerImplTest.java deleted file mode 100644 index 735c6f959..000000000 --- a/webgoat-container/src/test/java/org/owasp/webgoat/util/LabelManagerImplTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.owasp.webgoat.util; - -public class LabelManagerImplTest { - -// @Test -// public void shouldSerialize() throws IOException { -// LabelManagerImpl labelManager = new LabelManagerImpl(null, new LabelDebugger()); -// ByteArrayOutputStream bos = new ByteArrayOutputStream(); -// ObjectOutputStream out = new ObjectOutputStream(bos); -// out.writeObject(labelManager); -// } -// -// @Test -// public void shouldSerializeWithLabelProvider() throws IOException { -// LabelManagerImpl labelManager = new LabelManagerImpl(new LabelProvider(), new LabelDebugger()); -// ByteArrayOutputStream bos = new ByteArrayOutputStream(); -// ObjectOutputStream out = new ObjectOutputStream(bos); -// out.writeObject(labelManager); -// } -} \ No newline at end of file diff --git a/webgoat-container/src/test/resources/application-test.properties b/webgoat-container/src/test/resources/application-test.properties index c3f2faec0..56951876b 100644 --- a/webgoat-container/src/test/resources/application-test.properties +++ b/webgoat-container/src/test/resources/application-test.properties @@ -3,3 +3,4 @@ webgoat.user.directory=${java.io.tmpdir} spring.datasource.url=jdbc:hsqldb:mem:test webgoat.start.hsqldb=false spring.flyway.locations=classpath:/db/container +spring.main.banner-mode=off diff --git a/webgoat-container/src/test/resources/banner.txt b/webgoat-container/src/test/resources/banner.txt deleted file mode 100644 index e69de29bb..000000000