1
0
mirror of synced 2026-08-05 09:47:05 +00:00

Remove Powermock

Powermock does not support JUnit5 yet, so we need to remove it
to support JUnit 5. Additionally, maintaining additional libraries
adds extra work for the team.

Mockito now supports final classes and static method mocking. This
commit replaces Powermock with mockito-inline.

Closes gh-6025
This commit is contained in:
Rob Winch
2021-07-07 09:11:53 -05:00
parent e30b45c6fb
commit 14240b2559
43 changed files with 300 additions and 286 deletions
+2 -1
View File
@@ -22,8 +22,9 @@ dependencies {
testImplementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
testImplementation 'io.projectreactor:reactor-test'
testImplementation 'javax.xml.bind:jaxb-api'
testImplementation 'org.mockito:mockito-core'
testImplementation 'org.mockito:mockito-inline'
testImplementation 'org.skyscreamer:jsonassert'
testImplementation 'org.springframework:spring-webmvc'
testImplementation 'org.springframework:spring-tx'
testImplementation powerMock2Dependencies
}
@@ -25,10 +25,8 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareOnlyThisForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.mockito.MockedStatic;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.core.Authentication;
@@ -43,10 +41,7 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.authentication;
@RunWith(PowerMockRunner.class)
@PrepareOnlyThisForTest(WebTestUtils.class)
@PowerMockIgnore({ "javax.security.auth.*", "org.w3c.dom.*", "org.xml.sax.*", "org.apache.xerces.*",
"javax.xml.parsers.*" })
@RunWith(MockitoJUnitRunner.class)
public class SecurityMockMvcRequestPostProcessorsAuthenticationTests {
@Captor
@@ -60,10 +55,14 @@ public class SecurityMockMvcRequestPostProcessorsAuthenticationTests {
@Mock
private Authentication authentication;
@Mock
private MockedStatic<WebTestUtils> webTestUtils;
@Before
public void setup() {
this.request = new MockHttpServletRequest();
mockWebTestUtils();
this.webTestUtils.when(() -> WebTestUtils.getSecurityContextRepository(this.request))
.thenReturn(this.repository);
}
@After
@@ -80,9 +79,4 @@ public class SecurityMockMvcRequestPostProcessorsAuthenticationTests {
assertThat(context.getAuthentication()).isSameAs(this.authentication);
}
private void mockWebTestUtils() {
PowerMockito.spy(WebTestUtils.class);
PowerMockito.when(WebTestUtils.getSecurityContextRepository(this.request)).thenReturn(this.repository);
}
}
@@ -25,10 +25,8 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareOnlyThisForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.mockito.MockedStatic;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.core.context.SecurityContext;
@@ -42,10 +40,7 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.securityContext;
@RunWith(PowerMockRunner.class)
@PrepareOnlyThisForTest(WebTestUtils.class)
@PowerMockIgnore({ "javax.security.auth.*", "org.w3c.dom.*", "org.xml.sax.*", "org.apache.xerces.*",
"javax.xml.parsers.*" })
@RunWith(MockitoJUnitRunner.class)
public class SecurityMockMvcRequestPostProcessorsSecurityContextTests {
@Captor
@@ -59,10 +54,14 @@ public class SecurityMockMvcRequestPostProcessorsSecurityContextTests {
@Mock
private SecurityContext expectedContext;
@Mock
private MockedStatic<WebTestUtils> webTestUtils;
@Before
public void setup() {
this.request = new MockHttpServletRequest();
mockWebTestUtils();
this.webTestUtils.when(() -> WebTestUtils.getSecurityContextRepository(this.request))
.thenReturn(this.repository);
}
@After
@@ -79,9 +78,4 @@ public class SecurityMockMvcRequestPostProcessorsSecurityContextTests {
assertThat(context).isSameAs(this.expectedContext);
}
private void mockWebTestUtils() {
PowerMockito.spy(WebTestUtils.class);
PowerMockito.when(WebTestUtils.getSecurityContextRepository(this.request)).thenReturn(this.repository);
}
}
@@ -23,10 +23,8 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareOnlyThisForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.mockito.MockedStatic;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.core.context.SecurityContext;
@@ -40,10 +38,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.testSecurityContext;
@RunWith(PowerMockRunner.class)
@PrepareOnlyThisForTest(WebTestUtils.class)
@PowerMockIgnore({ "javax.security.auth.*", "org.w3c.dom.*", "org.xml.sax.*", "org.apache.xerces.*",
"javax.xml.parsers.*" })
@RunWith(MockitoJUnitRunner.class)
public class SecurityMockMvcRequestPostProcessorsTestSecurityContextTests {
@Mock
@@ -52,12 +47,16 @@ public class SecurityMockMvcRequestPostProcessorsTestSecurityContextTests {
@Mock
private SecurityContextRepository repository;
@Mock
private MockedStatic<WebTestUtils> webTestUtils;
private MockHttpServletRequest request;
@Before
public void setup() {
this.request = new MockHttpServletRequest();
mockWebTestUtils();
this.webTestUtils.when(() -> WebTestUtils.getSecurityContextRepository(this.request))
.thenReturn(this.repository);
}
@After
@@ -80,9 +79,4 @@ public class SecurityMockMvcRequestPostProcessorsTestSecurityContextTests {
any(HttpServletResponse.class));
}
private void mockWebTestUtils() {
PowerMockito.spy(WebTestUtils.class);
PowerMockito.when(WebTestUtils.getSecurityContextRepository(this.request)).thenReturn(this.repository);
}
}
@@ -25,10 +25,8 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareOnlyThisForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.mockito.MockedStatic;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -44,10 +42,7 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user;
@RunWith(PowerMockRunner.class)
@PrepareOnlyThisForTest(WebTestUtils.class)
@PowerMockIgnore({ "javax.security.auth.*", "org.w3c.dom.*", "org.xml.sax.*", "org.apache.xerces.*",
"javax.xml.parsers.*" })
@RunWith(MockitoJUnitRunner.class)
public class SecurityMockMvcRequestPostProcessorsUserDetailsTests {
@Captor
@@ -61,10 +56,14 @@ public class SecurityMockMvcRequestPostProcessorsUserDetailsTests {
@Mock
private UserDetails userDetails;
@Mock
private MockedStatic<WebTestUtils> webTestUtils;
@Before
public void setup() {
this.request = new MockHttpServletRequest();
mockWebTestUtils();
this.webTestUtils.when(() -> WebTestUtils.getSecurityContextRepository(this.request))
.thenReturn(this.repository);
}
@After
@@ -82,9 +81,4 @@ public class SecurityMockMvcRequestPostProcessorsUserDetailsTests {
assertThat(context.getAuthentication().getPrincipal()).isSameAs(this.userDetails);
}
private void mockWebTestUtils() {
PowerMockito.spy(WebTestUtils.class);
PowerMockito.when(WebTestUtils.getSecurityContextRepository(this.request)).thenReturn(this.repository);
}
}
@@ -28,10 +28,8 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareOnlyThisForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.mockito.MockedStatic;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -48,10 +46,7 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user;
@RunWith(PowerMockRunner.class)
@PrepareOnlyThisForTest(WebTestUtils.class)
@PowerMockIgnore({ "javax.security.auth.*", "org.w3c.dom.*", "org.xml.sax.*", "org.apache.xerces.*",
"javax.xml.parsers.*" })
@RunWith(MockitoJUnitRunner.class)
public class SecurityMockMvcRequestPostProcessorsUserTests {
@Captor
@@ -68,10 +63,14 @@ public class SecurityMockMvcRequestPostProcessorsUserTests {
@Mock
private GrantedAuthority authority2;
@Mock
private MockedStatic<WebTestUtils> webTestUtils;
@Before
public void setup() {
this.request = new MockHttpServletRequest();
mockWebTestUtils();
this.webTestUtils.when(() -> WebTestUtils.getSecurityContextRepository(this.request))
.thenReturn(this.repository);
}
@After
@@ -134,9 +133,4 @@ public class SecurityMockMvcRequestPostProcessorsUserTests {
this.authority2);
}
private void mockWebTestUtils() {
PowerMockito.spy(WebTestUtils.class);
PowerMockito.when(WebTestUtils.getSecurityContextRepository(this.request)).thenReturn(this.repository);
}
}