@@ -58,12 +58,6 @@ public void createForClient_returnsValidSslContext() throws Exception {
5858 expect .that (sslContext .sessionTimeout ()).isEqualTo (300 );
5959 expect .that (sslContext .isClient ()).isTrue ();
6060 expect .that (sslContext .applicationProtocolNegotiator ().protocols ()).containsExactly ("h2" );
61- expect
62- .that (sslContext .cipherSuites ())
63- .containsExactly (
64- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" ,
65- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" ,
66- "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" );
6761 SSLSessionContext sslSessionContext = sslContext .sessionContext ();
6862 if (sslSessionContext instanceof OpenSslSessionContext ) {
6963 OpenSslSessionContext openSslSessionContext = (OpenSslSessionContext ) sslSessionContext ;
@@ -82,12 +76,6 @@ public void createForClient_withLocalIdentity_returnsValidSslContext() throws Ex
8276 expect .that (sslContext .sessionTimeout ()).isEqualTo (300 );
8377 expect .that (sslContext .isClient ()).isTrue ();
8478 expect .that (sslContext .applicationProtocolNegotiator ().protocols ()).containsExactly ("h2" );
85- expect
86- .that (sslContext .cipherSuites ())
87- .containsExactly (
88- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" ,
89- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" ,
90- "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" );
9179 SSLSessionContext sslSessionContext = sslContext .sessionContext ();
9280 if (sslSessionContext instanceof OpenSslSessionContext ) {
9381 OpenSslSessionContext openSslSessionContext = (OpenSslSessionContext ) sslSessionContext ;
@@ -141,6 +129,22 @@ public void createForClient_getsErrorFromServer_throwsError() throws Exception {
141129 .contains ("Failed to get client TLS configuration from S2A." );
142130 }
143131
132+ @ Test
133+ public void createForClient_getsBadTlsVersionsFromServer_throwsError () throws Exception {
134+ writer .setBehavior (FakeWriter .Behavior .BAD_TLS_VERSION_RESPONSE );
135+
136+ S2AConnectionException expected =
137+ assertThrows (
138+ S2AConnectionException .class ,
139+ () ->
140+ SslContextFactory .createForClient (
141+ stub , FAKE_TARGET_NAME , /* localIdentity= */ Optional .empty ()));
142+
143+ assertThat (expected )
144+ .hasMessageThat ()
145+ .contains ("Set of TLS versions received from S2A server is empty." );
146+ }
147+
144148 @ Test
145149 public void createForClient_nullStub_throwsError () throws Exception {
146150 writer .sendUnexpectedResponse ();
0 commit comments