1414import com .microsoft .applicationinsights .internal .schemav2 .Data ;
1515import com .microsoft .applicationinsights .internal .schemav2 .Domain ;
1616import com .microsoft .applicationinsights .internal .schemav2 .Envelope ;
17+ import com .microsoft .applicationinsights .internal .schemav2 .RequestData ;
1718import com .microsoft .applicationinsights .smoketest .docker .AiDockerClient ;
1819import com .microsoft .applicationinsights .smoketest .docker .ContainerInfo ;
1920import com .microsoft .applicationinsights .smoketest .exceptions .SmokeTestException ;
@@ -346,7 +347,8 @@ protected static void waitForApplicationToStart() throws Exception {
346347 final ContainerInfo containerInfo = currentContainerInfo .get ();
347348 try {
348349 System .out .printf ("Test app health check: Waiting for %s to start...%n" , warFileName );
349- waitForUrlWithRetries (getBaseUrl (), APPLICATION_READY_TIMEOUT_SECONDS , TimeUnit .SECONDS ,
350+ final String contextRootUrl = getBaseUrl () + "/" ;
351+ waitForUrlWithRetries (contextRootUrl , APPLICATION_READY_TIMEOUT_SECONDS , TimeUnit .SECONDS ,
350352 String .format ("%s on %s" , getAppContext (), containerInfo .getImageName ()),
351353 HEALTH_CHECK_RETRIES );
352354 System .out .println ("Test app health check complete." );
@@ -355,7 +357,11 @@ protected static void waitForApplicationToStart() throws Exception {
355357 mockedIngestion .waitForItem (new Predicate <Envelope >() {
356358 @ Override
357359 public boolean apply (Envelope input ) {
358- return "RequestData" .equals (input .getData ().getBaseType ());
360+ if (!"RequestData" .equals (input .getData ().getBaseType ())) {
361+ return false ;
362+ }
363+ RequestData data = (RequestData ) ((Data ) input .getData ()).getBaseData ();
364+ return contextRootUrl .equals (data .getUrl ()) && "200" .equals (data .getResponseCode ());
359365 }
360366 }, TELEMETRY_RECEIVE_TIMEOUT_SECONDS , TimeUnit .SECONDS );
361367 System .out .printf ("Received request telemetry after %.3f seconds...%n" ,
0 commit comments