@@ -70,8 +70,13 @@ class DtlsServerTransportTest {
70
70
if (msg == " error" ) {
71
71
throw Exception (" error" )
72
72
} else if (msg.startsWith(" Authenticate:" )) {
73
- server.putSessionAuthenticationContext(packet.peerAddress, " auth" , msg.substring(12 ))
74
- server.send(Packet (" OK" .toByteBuffer(), packet.peerAddress))
73
+ server.send(
74
+ Packet (
75
+ " OK" .toByteBuffer(),
76
+ packet.peerAddress,
77
+ DtlsSessionContext (authenticationContext = mapOf (" auth" to msg.substring(12 )))
78
+ )
79
+ )
75
80
} else {
76
81
val ctx = (packet.sessionContext.authenticationContext[" auth" ] ? : " " )
77
82
server.send(packet.map { " $msg :resp$ctx " .toByteBuffer() })
@@ -456,25 +461,14 @@ class DtlsServerTransportTest {
456
461
}
457
462
458
463
@Test
459
- fun `should set and use session context` () {
460
- // given
461
- server = DtlsServerTransport .create(conf, sessionStore = sessionStore)
462
- val serverReceived = server.receive(1 .seconds)
463
- // and, client connected
464
+ fun `should set and use session context passed inside outbound datagram` () {
465
+ server = DtlsServerTransport .create(conf, expireAfter = 100 .millis, sessionStore = sessionStore, lifecycleCallbacks = sslLifecycleCallbacks).listen(echoHandler)
466
+ // client connected
464
467
val client = DtlsTransmitter .connect(server, clientConfig).await()
465
- client.send(" hello!" )
466
- assertEquals(" hello!" , serverReceived.await().buffer.decodeToString())
467
-
468
- // when, session context is set
469
- assertTrue(server.putSessionAuthenticationContext(serverReceived.await().peerAddress, " auth" , " id:dev-007" ).await())
470
-
471
- // and, client sends messages
472
- client.send(" msg1" )
473
- client.send(" msg2" )
474
-
475
- // then
476
- assertEquals(mapOf (" auth" to " id:dev-007" ), server.receive(1 .seconds).await().sessionContext.authenticationContext)
477
- assertEquals(mapOf (" auth" to " id:dev-007" ), server.receive(1 .seconds).await().sessionContext.authenticationContext)
468
+ client.send(" Authenticate:dev-007" )
469
+ assertEquals(" OK" , client.receiveString())
470
+ client.send(" hi" )
471
+ assertEquals(" hi:resp:dev-007" , client.receiveString())
478
472
479
473
client.close()
480
474
}
@@ -491,7 +485,7 @@ class DtlsServerTransportTest {
491
485
assertEquals(" dupa" , client.receive(1 .seconds).await())
492
486
493
487
client.send(" sleep" )
494
- server.send(Packet (" sleep" .toByteBuffer(), serverReceived.await().peerAddress, sessionContext = DtlsSessionContext (sessionExpirationHint = true )))
488
+ server.send(Packet (" sleep" .toByteBuffer(), serverReceived.await().peerAddress, sessionContext = DtlsSessionContext (sessionSuspensionHint = true )))
495
489
assertEquals(" sleep" , client.receive(1 .seconds).await())
496
490
497
491
await.atMost(5 .seconds).untilAsserted {
0 commit comments