5050import static org .junit .Assert .assertEquals ;
5151import static org .junit .Assert .assertTrue ;
5252
53+ import ch .qos .logback .classic .spi .ILoggingEvent ;
5354import com .google .api .client .http .HttpStatusCodes ;
5455import com .google .api .client .json .webtoken .JsonWebToken .Payload ;
5556import com .google .api .client .util .ArrayMap ;
@@ -433,18 +434,21 @@ public void sign_sameAs() throws IOException {
433434 public void getRequestMetadata_hasAccessToken () throws IOException {
434435 TestAppender testAppender = setupTestLogger (ComputeEngineCredentials .class );
435436 MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory ();
437+ transportFactory .
transport .
setServiceAccountEmail (
"[email protected] " );
436438 ComputeEngineCredentials credentials =
437439 ComputeEngineCredentials .newBuilder ().setHttpTransportFactory (transportFactory ).build ();
438440 Map <String , List <String >> metadata = credentials .getRequestMetadata (CALL_URI );
439441
440442 TestUtils .assertContainsBearerToken (metadata , ACCESS_TOKEN );
441443
442- assertEquals (3 , testAppender .events .size ());
444+ assertEquals (6 , testAppender .events .size ());
443445
446+ ILoggingEvent defaultServiceAccountRequest = testAppender .events .get (0 );
444447 assertEquals (
445- "Sending request to refresh access token" , testAppender .events .get (0 ).getMessage ());
446- assertEquals (3 , testAppender .events .get (0 ).getKeyValuePairs ().size ());
447- for (KeyValuePair kvp : testAppender .events .get (0 ).getKeyValuePairs ()) {
448+ "Sending request for universe domain/default service account" ,
449+ defaultServiceAccountRequest .getMessage ());
450+ assertEquals (3 , defaultServiceAccountRequest .getKeyValuePairs ().size ());
451+ for (KeyValuePair kvp : defaultServiceAccountRequest .getKeyValuePairs ()) {
448452 assertTrue (
449453 kvp .key .equals ("request.headers" )
450454 || kvp .key .equals ("request.method" )
@@ -453,17 +457,46 @@ public void getRequestMetadata_hasAccessToken() throws IOException {
453457 assertTrue (isValidJson ((String ) kvp .value ));
454458 }
455459 }
460+ ILoggingEvent defaultServiceAccountResponse = testAppender .events .get (1 );
456461 assertEquals (
457- "Received response for refresh access token" , testAppender .events .get (1 ).getMessage ());
458- assertEquals (3 , testAppender .events .get (1 ).getKeyValuePairs ().size ());
459- for (KeyValuePair kvp : testAppender .events .get (1 ).getKeyValuePairs ()) {
462+ "Received response for universe domain/default service account" ,
463+ defaultServiceAccountResponse .getMessage ());
464+ assertEquals (3 , defaultServiceAccountResponse .getKeyValuePairs ().size ());
465+ for (KeyValuePair kvp : defaultServiceAccountResponse .getKeyValuePairs ()) {
460466 assertTrue (
461467 kvp .key .equals ("response.headers" )
462468 || kvp .key .equals ("response.status" )
463469 || kvp .key .equals ("response.status.message" ));
464470 }
465- assertEquals ("Response payload for access token" , testAppender .events .get (2 ).getMessage ());
466- assertEquals (3 , testAppender .events .get (2 ).getKeyValuePairs ().size ());
471+ ILoggingEvent defaultServiceAccountPayload = testAppender .events .get (2 );
472+ assertEquals (
473+ "Received default service account payload" , defaultServiceAccountPayload .getMessage ());
474+ assertEquals (1 , defaultServiceAccountPayload .getKeyValuePairs ().size ());
475+
476+ ILoggingEvent accessTokenRequest = testAppender .events .get (3 );
477+ assertEquals ("Sending request to refresh access token" , accessTokenRequest .getMessage ());
478+ assertEquals (3 , accessTokenRequest .getKeyValuePairs ().size ());
479+ for (KeyValuePair kvp : accessTokenRequest .getKeyValuePairs ()) {
480+ assertTrue (
481+ kvp .key .equals ("request.headers" )
482+ || kvp .key .equals ("request.method" )
483+ || kvp .key .equals ("request.url" ));
484+ if (kvp .key .equals ("request.headers" )) {
485+ assertTrue (isValidJson ((String ) kvp .value ));
486+ }
487+ }
488+ ILoggingEvent accessTokenResponse = testAppender .events .get (4 );
489+ assertEquals ("Received response for refresh access token" , accessTokenResponse .getMessage ());
490+ assertEquals (3 , accessTokenResponse .getKeyValuePairs ().size ());
491+ for (KeyValuePair kvp : accessTokenResponse .getKeyValuePairs ()) {
492+ assertTrue (
493+ kvp .key .equals ("response.headers" )
494+ || kvp .key .equals ("response.status" )
495+ || kvp .key .equals ("response.status.message" ));
496+ }
497+ ILoggingEvent accessTokenPayload = testAppender .events .get (5 );
498+ assertEquals ("Response payload for access token" , accessTokenPayload .getMessage ());
499+ assertEquals (3 , accessTokenPayload .getKeyValuePairs ().size ());
467500
468501 testAppender .stop ();
469502 }
0 commit comments