Polish Spring's internal TestGroup support
This commit is contained in:
@@ -35,7 +35,6 @@ import org.springframework.test.context.junit4.rules.BasicAnnotationConfigWacSpr
|
||||
import org.springframework.test.context.junit4.rules.SpringClassRule;
|
||||
import org.springframework.test.context.junit4.rules.SpringMethodRule;
|
||||
import org.springframework.tests.TestGroup;
|
||||
import org.springframework.tests.TestGroups;
|
||||
import org.springframework.util.ReflectionUtils;
|
||||
|
||||
import static org.junit.Assume.assumeTrue;
|
||||
@@ -86,8 +85,7 @@ public class SpringJUnit4ConcurrencyTests {
|
||||
|
||||
@BeforeClass
|
||||
public static void abortIfLongRunningTestGroupIsNotEnabled() {
|
||||
assumeTrue("TestGroup " + TestGroup.LONG_RUNNING + " is not active.",
|
||||
TestGroups.isGroupActive(TestGroup.LONG_RUNNING));
|
||||
assumeTrue("TestGroup " + TestGroup.LONG_RUNNING + " is not active.", TestGroup.LONG_RUNNING.isActive());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -26,15 +26,12 @@ import com.gargoylesoftware.htmlunit.WebClient;
|
||||
import com.gargoylesoftware.htmlunit.WebRequest;
|
||||
import com.gargoylesoftware.htmlunit.WebResponse;
|
||||
import com.gargoylesoftware.htmlunit.util.Cookie;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.junit.jupiter.web.SpringJUnitWebConfig;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
import org.springframework.tests.Assume;
|
||||
import org.springframework.tests.TestGroup;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
@@ -59,28 +56,21 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
||||
@SpringJUnitWebConfig
|
||||
class MockMvcWebClientBuilderTests {
|
||||
|
||||
@Autowired
|
||||
private WebApplicationContext wac;
|
||||
|
||||
private MockMvc mockMvc;
|
||||
|
||||
|
||||
@BeforeEach
|
||||
void setup() {
|
||||
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
|
||||
MockMvcWebClientBuilderTests(WebApplicationContext wac) {
|
||||
this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void mockMvcSetupNull() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
MockMvcWebClientBuilder.mockMvcSetup(null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> MockMvcWebClientBuilder.mockMvcSetup(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void webAppContextSetupNull() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
MockMvcWebClientBuilder.webAppContextSetup(null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> MockMvcWebClientBuilder.webAppContextSetup(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -88,7 +78,10 @@ class MockMvcWebClientBuilderTests {
|
||||
WebClient client = MockMvcWebClientBuilder.mockMvcSetup(this.mockMvc).build();
|
||||
|
||||
assertMockMvcUsed(client, "http://localhost/test");
|
||||
Assume.group(TestGroup.PERFORMANCE, () -> assertMockMvcNotUsed(client, "https://spring.io/"));
|
||||
|
||||
if (TestGroup.PERFORMANCE.isActive()) {
|
||||
assertMockMvcNotUsed(client, "https://spring.io/");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -97,7 +90,10 @@ class MockMvcWebClientBuilderTests {
|
||||
WebClient client = MockMvcWebClientBuilder.mockMvcSetup(this.mockMvc).withDelegate(otherClient).build();
|
||||
|
||||
assertMockMvcUsed(client, "http://localhost/test");
|
||||
Assume.group(TestGroup.PERFORMANCE, () -> assertMockMvcNotUsed(client, "https://spring.io/"));
|
||||
|
||||
if (TestGroup.PERFORMANCE.isActive()) {
|
||||
assertMockMvcNotUsed(client, "https://spring.io/");
|
||||
}
|
||||
}
|
||||
|
||||
@Test // SPR-14066
|
||||
|
||||
@@ -20,16 +20,13 @@ import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.gargoylesoftware.htmlunit.util.Cookie;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.junit.jupiter.web.SpringJUnitWebConfig;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
import org.springframework.tests.Assume;
|
||||
import org.springframework.tests.TestGroup;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -52,30 +49,23 @@ class MockMvcHtmlUnitDriverBuilderTests {
|
||||
|
||||
private static final String EXPECTED_BODY = "MockMvcHtmlUnitDriverBuilderTests mvc";
|
||||
|
||||
@Autowired
|
||||
private WebApplicationContext wac;
|
||||
|
||||
private MockMvc mockMvc;
|
||||
|
||||
private HtmlUnitDriver driver;
|
||||
|
||||
|
||||
@BeforeEach
|
||||
void setup() {
|
||||
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
|
||||
MockMvcHtmlUnitDriverBuilderTests(WebApplicationContext wac) {
|
||||
this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void webAppContextSetupNull() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
MockMvcHtmlUnitDriverBuilder.webAppContextSetup(null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> MockMvcHtmlUnitDriverBuilder.webAppContextSetup(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void mockMvcSetupNull() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
MockMvcHtmlUnitDriverBuilder.mockMvcSetup(null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> MockMvcHtmlUnitDriverBuilder.mockMvcSetup(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -84,7 +74,10 @@ class MockMvcHtmlUnitDriverBuilderTests {
|
||||
this.driver = MockMvcHtmlUnitDriverBuilder.mockMvcSetup(this.mockMvc).withDelegate(otherDriver).build();
|
||||
|
||||
assertMockMvcUsed("http://localhost/test");
|
||||
Assume.group(TestGroup.PERFORMANCE, () -> assertMockMvcNotUsed("https://example.com/"));
|
||||
|
||||
if (TestGroup.PERFORMANCE.isActive()) {
|
||||
assertMockMvcNotUsed("https://example.com/");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -92,7 +85,10 @@ class MockMvcHtmlUnitDriverBuilderTests {
|
||||
this.driver = MockMvcHtmlUnitDriverBuilder.mockMvcSetup(this.mockMvc).build();
|
||||
|
||||
assertMockMvcUsed("http://localhost/test");
|
||||
Assume.group(TestGroup.PERFORMANCE, () -> assertMockMvcNotUsed("https://example.com/"));
|
||||
|
||||
if (TestGroup.PERFORMANCE.isActive()) {
|
||||
assertMockMvcNotUsed("https://example.com/");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -111,8 +107,7 @@ class MockMvcHtmlUnitDriverBuilderTests {
|
||||
void cookieManagerShared() throws Exception {
|
||||
WebConnectionHtmlUnitDriver otherDriver = new WebConnectionHtmlUnitDriver();
|
||||
this.mockMvc = MockMvcBuilders.standaloneSetup(new CookieController()).build();
|
||||
this.driver = MockMvcHtmlUnitDriverBuilder.mockMvcSetup(this.mockMvc)
|
||||
.withDelegate(otherDriver).build();
|
||||
this.driver = MockMvcHtmlUnitDriverBuilder.mockMvcSetup(this.mockMvc).withDelegate(otherDriver).build();
|
||||
|
||||
assertThat(get("http://localhost/")).isEqualTo("");
|
||||
Cookie cookie = new Cookie("localhost", "cookie", "cookieManagerShared");
|
||||
@@ -143,7 +138,7 @@ class MockMvcHtmlUnitDriverBuilderTests {
|
||||
static class ContextPathController {
|
||||
|
||||
@RequestMapping("/test")
|
||||
public String contextPath(HttpServletRequest request) {
|
||||
String contextPath(HttpServletRequest request) {
|
||||
return EXPECTED_BODY;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user