Skip to content

Commit 6faa074

Browse files
committed
Fix grpc tests issue with upcoming JDK versions
* Stub SSLParameters to avoid NullPointerException * JDK 28's X509TrustManagerImpl retrieves handshake session multiple times
1 parent 4ec83df commit 6faa074

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

util/src/test/java/io/grpc/util/AdvancedTlsX509TrustManagerTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.util.logging.Level;
4545
import java.util.logging.LogRecord;
4646
import java.util.logging.Logger;
47+
import javax.net.ssl.SSLParameters;
4748
import javax.net.ssl.SSLSocket;
4849
import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement;
4950
import org.junit.Before;
@@ -161,6 +162,7 @@ public void clientTrustedWithSocketTest() throws Exception {
161162
SSLSocket sslSocket = mock(SSLSocket.class);
162163
when(sslSocket.isConnected()).thenReturn(true);
163164
when(sslSocket.getHandshakeSession()).thenReturn(null);
165+
when(sslSocket.getSSLParameters()).thenReturn(new SSLParameters());
164166
CertificateException ce = assertThrows(CertificateException.class, () -> trustManager
165167
.checkClientTrusted(serverCert0, "RSA", sslSocket));
166168
assertEquals("No handshake session", ce.getMessage());

xds/src/test/java/io/grpc/xds/internal/security/trust/XdsX509TrustManagerTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import static io.grpc.xds.internal.security.CommonTlsContextTestsUtil.SERVER_1_SPIFFE_PEM_FILE;
2828
import static org.junit.Assert.fail;
2929
import static org.mockito.Mockito.CALLS_REAL_METHODS;
30+
import static org.mockito.Mockito.atLeastOnce;
3031
import static org.mockito.Mockito.doReturn;
3132
import static org.mockito.Mockito.mock;
3233
import static org.mockito.Mockito.times;
@@ -553,7 +554,7 @@ public void checkServerTrustedSslEngine()
553554
X509Certificate[] serverCerts =
554555
CertificateUtils.toX509Certificates(TlsTesting.loadCert(SERVER_1_PEM_FILE));
555556
trustManager.checkServerTrusted(serverCerts, "ECDHE_ECDSA", sslEngine);
556-
verify(sslEngine, times(1)).getHandshakeSession();
557+
verify(sslEngine, atLeastOnce()).getHandshakeSession();
557558
assertThat(sslEngine.getSSLParameters().getEndpointIdentificationAlgorithm()).isEmpty();
558559
}
559560

0 commit comments

Comments
 (0)