15
15
*/
16
16
package okhttp3
17
17
18
+ import assertk.assertThat
19
+ import assertk.assertions.containsExactly
20
+ import assertk.assertions.isIn
18
21
import javax.net.ssl.SSLSocket
19
22
import mockwebserver3.MockResponse
20
23
import mockwebserver3.MockWebServer
@@ -31,7 +34,6 @@ import okhttp3.CipherSuite.Companion.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
31
34
import okhttp3.internal.effectiveCipherSuites
32
35
import okhttp3.internal.platform.Platform
33
36
import okhttp3.testing.PlatformRule
34
- import org.assertj.core.api.Assertions.assertThat
35
37
import org.junit.jupiter.api.BeforeEach
36
38
import org.junit.jupiter.api.Test
37
39
import org.junit.jupiter.api.extension.RegisterExtension
@@ -101,7 +103,7 @@ class CallHandshakeTest {
101
103
// TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
102
104
// TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
103
105
// TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
104
- assertThat(handshakeEnabledCipherSuites).containsExactlyElementsOf (
106
+ assertThat(handshakeEnabledCipherSuites).containsExactly (
105
107
expectedConnectionCipherSuites(client))
106
108
}
107
109
@@ -130,8 +132,9 @@ class CallHandshakeTest {
130
132
// TLS_RSA_WITH_AES_256_CBC_SHA
131
133
// TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
132
134
// TLS_RSA_WITH_AES_128_CBC_SHA
133
- assertThat(handshakeEnabledCipherSuites).containsExactlyElementsOf(
134
- expectedConnectionCipherSuites(client))
135
+ assertThat(handshakeEnabledCipherSuites).containsExactly(
136
+ * expectedConnectionCipherSuites(client).toTypedArray()
137
+ )
135
138
}
136
139
137
140
@Test
@@ -159,8 +162,9 @@ class CallHandshakeTest {
159
162
// TLS_RSA_WITH_AES_256_CBC_SHA
160
163
// TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
161
164
// TLS_RSA_WITH_AES_128_CBC_SHA
162
- assertThat(handshakeEnabledCipherSuites).containsExactlyElementsOf(
163
- expectedConnectionCipherSuites(client))
165
+ assertThat(handshakeEnabledCipherSuites).containsExactly(
166
+ * expectedConnectionCipherSuites(client).toTypedArray()
167
+ )
164
168
}
165
169
166
170
@Test
@@ -178,8 +182,9 @@ class CallHandshakeTest {
178
182
val expectedConnectionCipherSuites = expectedConnectionCipherSuites(client)
179
183
// Will choose a poor cipher suite but not plaintext.
180
184
// assertThat(handshake.cipherSuite).isEqualTo("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256")
181
- assertThat(handshakeEnabledCipherSuites).containsExactlyElementsOf(
182
- expectedConnectionCipherSuites)
185
+ assertThat(handshakeEnabledCipherSuites).containsExactly(
186
+ * expectedConnectionCipherSuites.toTypedArray()
187
+ )
183
188
}
184
189
185
190
@Test
@@ -197,12 +202,14 @@ class CallHandshakeTest {
197
202
val socketOrderedByDefaults =
198
203
handshakeEnabledCipherSuites.sortedBy { ConnectionSpec .MODERN_TLS .cipherSuitesAsString!! .indexOf(it) }
199
204
200
- assertThat(handshakeEnabledCipherSuites).containsExactlyElementsOf(socketOrderedByDefaults)
205
+ assertThat(handshakeEnabledCipherSuites).containsExactly(
206
+ * socketOrderedByDefaults.toTypedArray()
207
+ )
201
208
}
202
209
203
210
@Test
204
211
fun advertisedOrderInRestricted () {
205
- assertThat(ConnectionSpec .RESTRICTED_TLS .cipherSuites).containsExactly(
212
+ assertThat(ConnectionSpec .RESTRICTED_TLS .cipherSuites!! ).containsExactly(
206
213
TLS_AES_128_GCM_SHA256 ,
207
214
TLS_AES_256_GCM_SHA384 ,
208
215
TLS_CHACHA20_POLY1305_SHA256 ,
@@ -229,26 +236,26 @@ class CallHandshakeTest {
229
236
ConnectionSpec .RESTRICTED_TLS .effectiveCipherSuites(platformDefaultCipherSuites)
230
237
231
238
if (cipherSuites.contains(TLS_CHACHA20_POLY1305_SHA256 .javaName)) {
232
- assertThat(cipherSuites).containsExactlyElementsOf( listOf (
233
- TLS_AES_128_GCM_SHA256 ,
234
- TLS_AES_256_GCM_SHA384 ,
235
- TLS_CHACHA20_POLY1305_SHA256 ,
236
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ,
237
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ,
238
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ,
239
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ,
240
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ,
241
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ,
242
- ).map { it.javaName })
239
+ assertThat(cipherSuites).containsExactly (
240
+ TLS_AES_128_GCM_SHA256 .javaName ,
241
+ TLS_AES_256_GCM_SHA384 .javaName ,
242
+ TLS_CHACHA20_POLY1305_SHA256 .javaName ,
243
+ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 .javaName ,
244
+ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 .javaName ,
245
+ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 .javaName ,
246
+ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 .javaName ,
247
+ TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 .javaName ,
248
+ TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 .javaName ,
249
+ )
243
250
} else {
244
- assertThat(cipherSuites).containsExactlyElementsOf( listOf (
245
- TLS_AES_128_GCM_SHA256 ,
246
- TLS_AES_256_GCM_SHA384 ,
247
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ,
248
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ,
249
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ,
250
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ,
251
- ).map { it.javaName })
251
+ assertThat(cipherSuites).containsExactly (
252
+ TLS_AES_128_GCM_SHA256 .javaName ,
253
+ TLS_AES_256_GCM_SHA384 .javaName ,
254
+ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 .javaName ,
255
+ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 .javaName ,
256
+ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 .javaName ,
257
+ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 .javaName ,
258
+ )
252
259
}
253
260
}
254
261
0 commit comments