Skip to content

Commit 12a260a

Browse files
committed
Refactor multiple instances of same code block in TestOcspIntegration
1 parent b08632b commit 12a260a

1 file changed

Lines changed: 20 additions & 24 deletions

File tree

test/org/apache/tomcat/util/net/ocsp/TestOcspIntegration.java

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -118,21 +118,13 @@ public void testOcspGood_ClientVerifiesServerCertificateOnly() throws Exception
118118
}
119119
@Test
120120
public void testOcspGood_Mutual() throws Exception {
121-
final int ocspResponderPortForClient = 8889;
122-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
123-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_GOOD_RESPONSE)).toPath()), ocspResponderPortForClient)){
124-
fakeOcspResponder.start();
125-
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, true, ffm));
126-
}
121+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_GOOD_RESPONSE,
122+
() -> Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, true, ffm)));
127123
}
128124
@Test
129125
public void testOcspGood_ServerVerifiesClientCertificateOnly() throws Exception {
130-
final int ocspResponderPortForClient = 8889;
131-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
132-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_GOOD_RESPONSE)).toPath()), ocspResponderPortForClient)){
133-
fakeOcspResponder.start();
134-
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, true, false, ffm));
135-
}
126+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_GOOD_RESPONSE,
127+
() -> Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, true, false, ffm)));
136128
}
137129
@Test(expected = CertificateRevokedException.class)
138130
public void testOcspRevoked_ClientVerifiesServerCertificateOnly() throws Exception {
@@ -153,21 +145,13 @@ public void testOcspRevoked_Mutual() throws Exception {
153145
}
154146
@Test(expected = SSLHandshakeException.class)
155147
public void testOcspRevoked_ServerVerifiesClientCertificateOnly() throws Exception {
156-
final int ocspResponderPortForClient = 8889;
157-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
158-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_REVOKED_RESPONSE)).toPath()), ocspResponderPortForClient)){
159-
fakeOcspResponder.start();
160-
testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, false, ffm);
161-
}
148+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_REVOKED_RESPONSE,
149+
() -> testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, false, ffm));
162150
}
163151
@Test
164152
public void testOcsp_NoVerification() throws Exception {
165-
final int ocspResponderPortForClient = 8889;
166-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
167-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_REVOKED_RESPONSE)).toPath()), ocspResponderPortForClient)){
168-
fakeOcspResponder.start();
169-
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, false, false, ffm));
170-
}
153+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_REVOKED_RESPONSE,
154+
() -> Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, false, false, ffm)));
171155
}
172156
@Test
173157
public void testOcspResponderUrlDiscoveryViaCertificateAIA() throws Exception {
@@ -176,6 +160,18 @@ public void testOcspResponderUrlDiscoveryViaCertificateAIA() throws Exception {
176160
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, false, true, ffm,
177161
true, ocspPort));
178162
}
163+
@FunctionalInterface
164+
private interface TestOCSPAction {
165+
void execute() throws Exception;
166+
}
167+
private void testOCSPWithClientResponder(String clientResponsePath, TestOCSPAction testOCSPAction) throws Exception {
168+
final int ocspResponderPortForClient = 8889;
169+
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
170+
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(clientResponsePath)).toPath()), ocspResponderPortForClient)){
171+
fakeOcspResponder.start();
172+
testOCSPAction.execute();
173+
}
174+
}
179175
private int testOCSP(String pathToOcspResponse, boolean serverSideVerificationEnabled, boolean clientSideOcspVerificationEnabled, boolean ffm) throws Exception {
180176
return testOCSP(pathToOcspResponse, serverSideVerificationEnabled, clientSideOcspVerificationEnabled, ffm,
181177
false, 0);

0 commit comments

Comments
 (0)