@@ -612,19 +612,17 @@ class GatewayBootstrapAuthTest {
612612 ),
613613 )
614614 prefs.gatewayRegistry.setActive(savedEndpoint.stableId)
615- prefs.saveGatewayCredentials(savedEndpoint.stableId, token = " shared -token" )
615+ prefs.saveGatewayCredentials(savedEndpoint.stableId, token = " initial -token" )
616616 val runtime = NodeRuntime (app, prefs)
617617
618- runtime.connect(
619- GatewayEndpoint .manual(host = " 127.0.0.1" , port = 18789 ),
620- NodeRuntime .GatewayConnectAuth (token = " initial-token" , bootstrapToken = null , password = null ),
621- )
618+ waitForDesiredConnection(runtime, " nodeSession" )
619+ prefs.saveGatewayCredentials(savedEndpoint.stableId, token = " shared-token" )
622620 runtime.disconnect()
623621 assertNull(desiredConnection(runtime, " nodeSession" ))
624622
625623 runtime.refreshGatewayConnection()
626624
627- val desired = desiredConnection (runtime, " nodeSession" ) ? : error( " Expected desired node connection " )
625+ val desired = waitForDesiredConnection (runtime, " nodeSession" )
628626 val endpoint = readField<GatewayEndpoint >(desired, " endpoint" )
629627 assertEquals(" 127.0.0.1" , endpoint.host)
630628 assertEquals(18789 , endpoint.port)
@@ -1195,6 +1193,17 @@ class GatewayBootstrapAuthTest {
11951193 return readField(session, " desired" )
11961194 }
11971195
1196+ private fun waitForDesiredConnection (
1197+ runtime : NodeRuntime ,
1198+ sessionFieldName : String ,
1199+ ): Any {
1200+ repeat(50 ) {
1201+ desiredConnection(runtime, sessionFieldName)?.let { return it }
1202+ Thread .sleep(10 )
1203+ }
1204+ error(" Expected desired connection for $sessionFieldName " )
1205+ }
1206+
11981207 private fun invokeMaybeStartOperatorSessionAfterNodeConnect (
11991208 runtime : NodeRuntime ,
12001209 endpoint : GatewayEndpoint ,
0 commit comments