Skip to content

Commit c345241

Browse files
committed
Refactor multiple instances of same code block in TestOcspIntegration
1 parent 243a26f commit c345241

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
@@ -119,21 +119,13 @@ public void testOcspGood_ClientVerifiesServerCertificateOnly() throws Exception
119119
}
120120
@Test
121121
public void testOcspGood_Mutual() throws Exception {
122-
final int ocspResponderPortForClient = 8889;
123-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
124-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_GOOD_RESPONSE)).toPath()), ocspResponderPortForClient)){
125-
fakeOcspResponder.start();
126-
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, true, ffm));
127-
}
122+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_GOOD_RESPONSE,
123+
() -> Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, true, ffm)));
128124
}
129125
@Test
130126
public void testOcspGood_ServerVerifiesClientCertificateOnly() throws Exception {
131-
final int ocspResponderPortForClient = 8889;
132-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
133-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_GOOD_RESPONSE)).toPath()), ocspResponderPortForClient)){
134-
fakeOcspResponder.start();
135-
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, true, false, ffm));
136-
}
127+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_GOOD_RESPONSE,
128+
() -> Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, true, false, ffm)));
137129
}
138130
@Test(expected = CertificateRevokedException.class)
139131
public void testOcspRevoked_ClientVerifiesServerCertificateOnly() throws Exception {
@@ -154,21 +146,13 @@ public void testOcspRevoked_Mutual() throws Exception {
154146
}
155147
@Test(expected = SSLHandshakeException.class)
156148
public void testOcspRevoked_ServerVerifiesClientCertificateOnly() throws Exception {
157-
final int ocspResponderPortForClient = 8889;
158-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
159-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_REVOKED_RESPONSE)).toPath()), ocspResponderPortForClient)){
160-
fakeOcspResponder.start();
161-
testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, false, ffm);
162-
}
149+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_REVOKED_RESPONSE,
150+
() -> testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, true, false, ffm));
163151
}
164152
@Test
165153
public void testOcsp_NoVerification() throws Exception {
166-
final int ocspResponderPortForClient = 8889;
167-
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
168-
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(OCSP_CLIENT_CERT_REVOKED_RESPONSE)).toPath()), ocspResponderPortForClient)){
169-
fakeOcspResponder.start();
170-
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, false, false, ffm));
171-
}
154+
testOCSPWithClientResponder(OCSP_CLIENT_CERT_REVOKED_RESPONSE,
155+
() -> Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_REVOKED_RESPONSE, false, false, ffm)));
172156
}
173157
@Test
174158
public void testOcspResponderUrlDiscoveryViaCertificateAIA() throws Exception {
@@ -177,6 +161,18 @@ public void testOcspResponderUrlDiscoveryViaCertificateAIA() throws Exception {
177161
Assert.assertEquals(HttpServletResponse.SC_OK, testOCSP(OCSP_SERVER_CERT_GOOD_RESPONSE, false, true, ffm,
178162
true, ocspPort));
179163
}
164+
@FunctionalInterface
165+
private interface TestOCSPAction {
166+
void execute() throws Exception;
167+
}
168+
private void testOCSPWithClientResponder(String clientResponsePath, TestOCSPAction testOCSPAction) throws Exception {
169+
final int ocspResponderPortForClient = 8889;
170+
Assume.assumeTrue("Port " + ocspResponderPortForClient + " is not available.", isPortAvailable(ocspResponderPortForClient));
171+
try (FakeOcspResponder fakeOcspResponder = new FakeOcspResponder(Files.readAllBytes(new File(getPath(clientResponsePath)).toPath()), ocspResponderPortForClient)){
172+
fakeOcspResponder.start();
173+
testOCSPAction.execute();
174+
}
175+
}
180176
private int testOCSP(String pathToOcspResponse, boolean serverSideVerificationEnabled, boolean clientSideOcspVerificationEnabled, boolean ffm) throws Exception {
181177
return testOCSP(pathToOcspResponse, serverSideVerificationEnabled, clientSideOcspVerificationEnabled, ffm,
182178
false, 0);

0 commit comments

Comments
 (0)