Skip to content

Commit db99e70

Browse files
committed
add tests.
1 parent 9e20be9 commit db99e70

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

oauth2_http/javatests/com/google/auth/oauth2/LoggingTest.java

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,10 @@
5252

5353
import com.google.api.client.http.HttpStatusCodes;
5454
import com.google.api.client.json.webtoken.JsonWebToken.Payload;
55+
import com.google.api.client.util.ArrayMap;
5556
import com.google.auth.TestAppender;
5657
import com.google.auth.TestUtils;
58+
import com.google.auth.oauth2.ComputeEngineCredentialsTest.MockMetadataServerTransportFactory;
5759
import com.google.gson.Gson;
5860
import com.google.gson.JsonObject;
5961
import java.io.IOException;
@@ -293,4 +295,65 @@ public void sign_sameAs() throws IOException {
293295
assertEquals(1, testAppender.events.get(2).getMDCPropertyMap().size());
294296
testAppender.stop();
295297
}
298+
299+
@Test
300+
public void getRequestMetadata_hasAccessToken() throws IOException {
301+
TestAppender testAppender = setupTestLogger(ComputeEngineCredentials.class);
302+
MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory();
303+
ComputeEngineCredentials credentials =
304+
ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build();
305+
Map<String, List<String>> metadata = credentials.getRequestMetadata(CALL_URI);
306+
307+
TestUtils.assertContainsBearerToken(metadata, ACCESS_TOKEN);
308+
309+
assertEquals(3, testAppender.events.size());
310+
JsonObject jsonMessage =
311+
gson.fromJson(testAppender.events.get(0).getFormattedMessage(), JsonObject.class);
312+
313+
assertEquals(
314+
"com.google.auth.oauth2.ComputeEngineCredentials",
315+
testAppender.events.get(0).getLoggerName());
316+
assertEquals(
317+
"Auth get metadata sending request for access token",
318+
jsonMessage.get("message").getAsString());
319+
assertEquals(3, testAppender.events.get(0).getMDCPropertyMap().size());
320+
assertEquals(3, testAppender.events.get(1).getMDCPropertyMap().size());
321+
assertEquals(3, testAppender.events.get(2).getMDCPropertyMap().size());
322+
testAppender.stop();
323+
}
324+
325+
@Test
326+
@SuppressWarnings("unchecked")
327+
public void idTokenWithAudience_full() throws IOException {
328+
TestAppender testAppender = setupTestLogger(ComputeEngineCredentials.class);
329+
MockMetadataServerTransportFactory transportFactory = new MockMetadataServerTransportFactory();
330+
ComputeEngineCredentials credentials =
331+
ComputeEngineCredentials.newBuilder().setHttpTransportFactory(transportFactory).build();
332+
333+
String targetAudience = "https://foo.bar";
334+
IdTokenCredentials tokenCredential =
335+
IdTokenCredentials.newBuilder()
336+
.setIdTokenProvider(credentials)
337+
.setTargetAudience(targetAudience)
338+
.setOptions(Arrays.asList(IdTokenProvider.Option.FORMAT_FULL))
339+
.build();
340+
tokenCredential.refresh();
341+
Payload p = tokenCredential.getIdToken().getJsonWebSignature().getPayload();
342+
assertTrue("Full ID Token format not provided", p.containsKey("google"));
343+
ArrayMap<String, ArrayMap> googleClaim = (ArrayMap<String, ArrayMap>) p.get("google");
344+
assertTrue(googleClaim.containsKey("compute_engine"));
345+
346+
assertEquals(2, testAppender.events.size());
347+
JsonObject jsonMessage =
348+
gson.fromJson(testAppender.events.get(0).getFormattedMessage(), JsonObject.class);
349+
350+
assertEquals(
351+
"com.google.auth.oauth2.ComputeEngineCredentials",
352+
testAppender.events.get(0).getLoggerName());
353+
assertEquals(
354+
"Auth get metadata sending request for id token", jsonMessage.get("message").getAsString());
355+
assertEquals(3, testAppender.events.get(0).getMDCPropertyMap().size());
356+
assertEquals(3, testAppender.events.get(1).getMDCPropertyMap().size());
357+
testAppender.stop();
358+
}
296359
}

0 commit comments

Comments
 (0)