7373import java .util .UUID ;
7474import java .util .function .Supplier ;
7575
76- import static java .time .Duration .ofSeconds ;
7776import static org .assertj .core .api .Assertions .assertThat ;
7877import static org .junit .Assert .assertEquals ;
7978import static org .junit .Assert .assertFalse ;
@@ -148,7 +147,7 @@ private static TestData createStandalone() {
148147
149148 Server <?> server = new Standalone ().asServer (config ).start ();
150149
151- waitUntilReady (server );
150+ waitUntilReady (server , Duration . ofSeconds ( 5 ) );
152151
153152 return new TestData (server , server ::stop );
154153 }
@@ -192,9 +191,9 @@ private static TestData createHubAndNode() {
192191 Server <?> hub = new Hub ().asServer (setRandomPort (hubConfig )).start ();
193192
194193 Server <?> node = new NodeServer ().asServer (setRandomPort (baseConfig )).start ();
195- waitUntilReady (node );
194+ waitUntilReady (node , Duration . ofSeconds ( 5 ) );
196195
197- waitUntilReady (hub );
196+ waitUntilReady (hub , Duration . ofSeconds ( 5 ) );
198197
199198 return new TestData (hub , hub ::stop , node ::stop );
200199 }
@@ -242,10 +241,10 @@ private static TestData createFullyDistributed() {
242241 "bind = true" }))),
243242 setRandomPort (sharedConfig )))
244243 .start ();
245- waitUntilReady (eventServer );
244+ waitUntilReady (eventServer , Duration . ofSeconds ( 5 ) );
246245
247246 Server <?> newSessionQueueServer = new NewSessionQueuerServer ().asServer (setRandomPort (sharedConfig )).start ();
248- waitUntilReady (newSessionQueueServer );
247+ waitUntilReady (newSessionQueueServer , Duration . ofSeconds ( 5 ) );
249248 Config newSessionQueueServerConfig = new TomlConfig (new StringReader (String .join (
250249 "\n " ,
251250 new String [] {
@@ -295,9 +294,9 @@ private static TestData createFullyDistributed() {
295294 distributorConfig ,
296295 newSessionQueueServerConfig )))
297296 .start ();
298- waitUntilReady (nodeServer );
297+ waitUntilReady (nodeServer , Duration . ofSeconds ( 5 ) );
299298
300- waitUntilReady (router );
299+ waitUntilReady (router , Duration . ofSeconds ( 5 ) );
301300
302301 return new TestData (
303302 router ,
@@ -309,13 +308,21 @@ private static TestData createFullyDistributed() {
309308 eventServer ::stop );
310309 }
311310
312- private static void waitUntilReady (Server <?> server ) {
311+ private static void waitUntilReady (Server <?> server , Duration duration ) {
312+ waitUntilReady (server , duration , false );
313+ }
314+
315+ private static void waitUntilReady (Server <?> server , Duration duration , boolean printOutput ) {
313316 HttpClient client = HttpClient .Factory .createDefault ().createClient (server .getUrl ());
314317
315318 new FluentWait <>(client )
316- .withTimeout (Duration .ofSeconds (5 ))
319+ .withTimeout (duration )
320+ .pollingEvery (Duration .ofSeconds (1 ))
317321 .until (c -> {
318322 HttpResponse response = c .execute (new HttpRequest (GET , "/status" ));
323+ if (printOutput ) {
324+ System .out .println (Contents .string (response ));
325+ }
319326 Map <String , Object > status = Values .get (response , MAP_TYPE );
320327 return Boolean .TRUE .equals (status .get ("ready" ));
321328 });
@@ -388,18 +395,7 @@ public void exerciseDriver() {
388395 // Kill the session, and wait until the grid says it's ready
389396 driver .quit ();
390397
391- HttpClient client = clientFactory .createClient (server .getUrl ());
392- new FluentWait <>("" ).withTimeout (ofSeconds (200 )).until (obj -> {
393- try {
394- HttpResponse response = client .execute (new HttpRequest (GET , "/status" ));
395- System .out .println (Contents .string (response ));
396- Map <String , Object > status = Values .get (response , MAP_TYPE );
397- return Boolean .TRUE .equals (status .get ("ready" ));
398- } catch (UncheckedIOException e ) {
399- e .printStackTrace ();
400- return false ;
401- }
402- });
398+ waitUntilReady (server , Duration .ofSeconds (200 ), true );
403399
404400 // And now we're good to go.
405401 driver = new RemoteWebDriver (server .getUrl (), caps );
0 commit comments