Skip to content

Commit 46922db

Browse files
author
Luis Miranda
committed
issue #52: removed PowerMock in favour of plain Mockito
this frees us from the problems introduced by byte code manipulation.
1 parent 2a309bd commit 46922db

5 files changed

Lines changed: 30 additions & 37 deletions

File tree

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,3 @@ Make sure maven & your IDE uses this java version.
3333

3434
At the Package Explorer, select the jsp-sample project, 2nd bottom of the mouse and Run As > Run Server
3535
Select a Tomcat Server in order to deploy the server.
36-
37-
### Unit Tests
38-
39-
The unit tests use PowerMock but do not run with the PowerMock javaagents enabled. This means you will not be able to mock out static methods, but other PowerMock features will work.

core/pom.xml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,9 @@
1919
<scope>test</scope>
2020
</dependency>
2121
<dependency>
22-
<groupId>org.powermock</groupId>
23-
<artifactId>powermock-api-mockito</artifactId>
24-
<version>1.6.2</version>
25-
<scope>test</scope>
26-
</dependency>
27-
<dependency>
28-
<groupId>org.powermock</groupId>
29-
<artifactId>powermock-module-junit4</artifactId>
30-
<version>1.6.2</version>
22+
<groupId>org.mockito</groupId>
23+
<artifactId>mockito-core</artifactId>
24+
<version>1.10.19</version>
3125
<scope>test</scope>
3226
</dependency>
3327

core/src/test/java/com/onelogin/saml2/test/authn/AuthnRequestTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@
44
import static org.hamcrest.CoreMatchers.not;
55
import static org.junit.Assert.assertEquals;
66
import static org.junit.Assert.assertThat;
7-
import static org.powermock.api.mockito.PowerMockito.when;
8-
import static org.powermock.api.support.membermodification.MemberMatcher.method;
97

108
import java.util.ArrayList;
119
import java.util.List;
1210

1311
import org.junit.Test;
14-
import org.powermock.api.mockito.PowerMockito;
1512

1613
import com.onelogin.saml2.authn.AuthnRequest;
1714
import com.onelogin.saml2.settings.Saml2Settings;
@@ -31,11 +28,13 @@ public class AuthnRequestTest {
3128
public void testGetEncodedAuthnRequestSimulated() throws Exception {
3229
Saml2Settings settings = new SettingsBuilder().fromFile("config/config.min.properties").build();
3330

34-
String authnRequestString = Util.getFileAsString("data/requests/authn_request.xml");
35-
AuthnRequest authnRequest = PowerMockito.spy(new AuthnRequest(settings));
36-
37-
when(authnRequest, method(AuthnRequest.class, "getAuthnRequestXml")).withNoArguments().thenReturn(
38-
authnRequestString);
31+
final String authnRequestString = Util.getFileAsString("data/requests/authn_request.xml");
32+
AuthnRequest authnRequest = new AuthnRequest(settings) {
33+
@Override
34+
protected String getAuthnRequestXml() {
35+
return authnRequestString;
36+
}
37+
};
3938

4039
String expectedAuthnRequestStringBase64 = Util.getFileAsString("data/requests/authn_request.xml.deflated.base64");
4140
String authnRequestStringBase64 = authnRequest.getEncodedAuthnRequest();

core/src/test/java/com/onelogin/saml2/test/logout/LogoutRequestTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import static org.junit.Assert.assertTrue;
1010
import static org.mockito.Mockito.mock;
1111
import static org.mockito.Mockito.when;
12-
import static org.powermock.api.support.membermodification.MemberMatcher.method;
1312

1413
import java.util.ArrayList;
1514
import java.util.List;
@@ -21,10 +20,8 @@
2120

2221
import java.security.PrivateKey;
2322

24-
import org.powermock.api.mockito.PowerMockito;
2523
import org.w3c.dom.Document;
2624

27-
import org.junit.Rule;
2825
import org.junit.Test;
2926

3027
import com.onelogin.saml2.exception.XMLEntityException;
@@ -46,10 +43,13 @@ public class LogoutRequestTest {
4643
public void testGetEncodedLogoutRequestSimulated() throws Exception {
4744
Saml2Settings settings = new SettingsBuilder().fromFile("config/config.min.properties").build();
4845

49-
String logoutRequestString = Util.getFileAsString("data/logout_requests/logout_request.xml");
50-
LogoutRequest logoutRequest = PowerMockito.spy(new LogoutRequest(settings));
51-
PowerMockito.when(logoutRequest, method(LogoutRequest.class, "getLogoutRequestXml")).withNoArguments().thenReturn(
52-
logoutRequestString);
46+
final String logoutRequestString = Util.getFileAsString("data/logout_requests/logout_request.xml");
47+
LogoutRequest logoutRequest = new LogoutRequest(settings) {
48+
@Override
49+
protected String getLogoutRequestXml() {
50+
return logoutRequestString;
51+
}
52+
};
5353

5454
String expectedLogoutRequestStringBase64 = Util.getFileAsString("data/logout_requests/logout_request_deflated.xml.base64");
5555
String logoutRequestStringBase64 = logoutRequest.getEncodedLogoutRequest();

core/src/test/java/com/onelogin/saml2/test/logout/LogoutResponseTest.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import static org.junit.Assert.assertTrue;
1010
import static org.mockito.Mockito.mock;
1111
import static org.mockito.Mockito.when;
12-
import static org.powermock.api.support.membermodification.MemberMatcher.method;
1312

1413
import java.io.IOException;
1514
import java.net.URISyntaxException;
@@ -18,7 +17,6 @@
1817
import javax.xml.xpath.XPathExpressionException;
1918

2019
import org.junit.Test;
21-
import org.powermock.api.mockito.PowerMockito;
2220

2321
import com.onelogin.saml2.exception.XMLEntityException;
2422
import com.onelogin.saml2.logout.LogoutResponse;
@@ -40,14 +38,17 @@ public class LogoutResponseTest {
4038
public void testGetEncodedLogoutResponseSimulated() throws Exception {
4139
Saml2Settings settings = new SettingsBuilder().fromFile("config/config.min.properties").build();
4240

43-
String logoutResponseString = Util.getFileAsString("data/logout_responses/logout_response.xml");
41+
final String logoutResponseString = Util.getFileAsString("data/logout_responses/logout_response.xml");
4442

4543
HttpServletRequest request = mock(HttpServletRequest.class);
4644
when(request.getRequestURL()).thenReturn(new StringBuffer( "/"));
4745

48-
LogoutResponse logoutResponseBuilder = PowerMockito.spy(new LogoutResponse(settings, request));
49-
PowerMockito.when(logoutResponseBuilder, method(LogoutResponse.class, "getLogoutResponseXml")).withNoArguments().thenReturn(
50-
logoutResponseString);
46+
LogoutResponse logoutResponseBuilder = new LogoutResponse(settings, request) {
47+
@Override
48+
protected String getLogoutResponseXml() {
49+
return logoutResponseString;
50+
}
51+
};
5152

5253
logoutResponseBuilder.build();
5354

@@ -56,9 +57,12 @@ public void testGetEncodedLogoutResponseSimulated() throws Exception {
5657

5758
assertEquals(logoutResponseStringBase64, expectedLogoutResponseStringBase64);
5859

59-
LogoutResponse logoutResponse = PowerMockito.spy(new LogoutResponse(settings, request));
60-
PowerMockito.when(logoutResponse, method(LogoutResponse.class, "getLogoutResponseXml")).withNoArguments().thenReturn(
61-
logoutResponseString);
60+
LogoutResponse logoutResponse = new LogoutResponse(settings, request) {
61+
@Override
62+
protected String getLogoutResponseXml() {
63+
return logoutResponseString;
64+
}
65+
};
6266
logoutResponseStringBase64 = logoutResponse.getEncodedLogoutResponse();
6367
assertEquals(logoutResponseStringBase64, expectedLogoutResponseStringBase64);
6468
}

0 commit comments

Comments
 (0)