@@ -1355,7 +1355,6 @@ public void getRequestMetadata_selfSignedJWT_withScopes() throws IOException {
1355
1355
.setPrivateKey (privateKey )
1356
1356
.setPrivateKeyId (PRIVATE_KEY_ID )
1357
1357
.setScopes (SCOPES )
1358
- .setServiceAccountUser (USER )
1359
1358
.setProjectId (PROJECT_ID )
1360
1359
.setHttpTransportFactory (new MockTokenServerTransportFactory ())
1361
1360
.setUseJwtAccessWithScope (true )
@@ -1366,16 +1365,51 @@ public void getRequestMetadata_selfSignedJWT_withScopes() throws IOException {
1366
1365
}
1367
1366
1368
1367
@ Test
1369
- public void getRequestMetadata_selfSignedJWT_withAudience () throws IOException {
1368
+ public void refreshAccessToken_withDomainDelegation_selfSignedJWT_disabled () throws IOException {
1369
+ final String accessToken1 = "1/MkSJoj1xsli0AccessToken_NKPY2" ;
1370
+ final String accessToken2 = "2/MkSJoj1xsli0AccessToken_NKPY2" ;
1371
+ MockTokenServerTransportFactory transportFactory = new MockTokenServerTransportFactory ();
1372
+ MockTokenServerTransport transport = transportFactory .transport ;
1370
1373
PrivateKey privateKey = ServiceAccountCredentials .privateKeyFromPkcs8 (PRIVATE_KEY_PKCS8 );
1371
1374
GoogleCredentials credentials =
1372
1375
ServiceAccountCredentials .newBuilder ()
1373
1376
.setClientId (CLIENT_ID )
1374
1377
.setClientEmail (CLIENT_EMAIL )
1375
1378
.setPrivateKey (privateKey )
1376
1379
.setPrivateKeyId (PRIVATE_KEY_ID )
1380
+ .setScopes (SCOPES )
1377
1381
.setServiceAccountUser (USER )
1378
1382
.setProjectId (PROJECT_ID )
1383
+ .setHttpTransportFactory (transportFactory )
1384
+ .setUseJwtAccessWithScope (true )
1385
+ .build ();
1386
+
1387
+ transport .addServiceAccount (CLIENT_EMAIL , accessToken1 );
1388
+ Map <String , List <String >> metadata = credentials .getRequestMetadata (CALL_URI );
1389
+ TestUtils .assertContainsBearerToken (metadata , accessToken1 );
1390
+
1391
+ try {
1392
+ verifyJwtAccess (metadata , "dummy.scope" );
1393
+ fail ("jwt access should fail with ServiceAccountUser" );
1394
+ } catch (Exception ex ) {
1395
+ // expected
1396
+ }
1397
+
1398
+ transport .addServiceAccount (CLIENT_EMAIL , accessToken2 );
1399
+ credentials .refresh ();
1400
+ TestUtils .assertContainsBearerToken (credentials .getRequestMetadata (CALL_URI ), accessToken2 );
1401
+ }
1402
+
1403
+ @ Test
1404
+ public void getRequestMetadata_selfSignedJWT_withAudience () throws IOException {
1405
+ PrivateKey privateKey = ServiceAccountCredentials .privateKeyFromPkcs8 (PRIVATE_KEY_PKCS8 );
1406
+ GoogleCredentials credentials =
1407
+ ServiceAccountCredentials .newBuilder ()
1408
+ .setClientId (CLIENT_ID )
1409
+ .setClientEmail (CLIENT_EMAIL )
1410
+ .setPrivateKey (privateKey )
1411
+ .setPrivateKeyId (PRIVATE_KEY_ID )
1412
+ .setProjectId (PROJECT_ID )
1379
1413
.setHttpTransportFactory (new MockTokenServerTransportFactory ())
1380
1414
.build ();
1381
1415
@@ -1393,7 +1427,6 @@ public void getRequestMetadata_selfSignedJWT_withDefaultScopes() throws IOExcept
1393
1427
.setPrivateKey (privateKey )
1394
1428
.setPrivateKeyId (PRIVATE_KEY_ID )
1395
1429
.setScopes (null , SCOPES )
1396
- .setServiceAccountUser (USER )
1397
1430
.setProjectId (PROJECT_ID )
1398
1431
.setHttpTransportFactory (new MockTokenServerTransportFactory ())
1399
1432
.setUseJwtAccessWithScope (true )
@@ -1412,7 +1445,6 @@ public void getRequestMetadataWithCallback_selfSignedJWT() throws IOException {
1412
1445
.setClientEmail (CLIENT_EMAIL )
1413
1446
.setPrivateKey (privateKey )
1414
1447
.setPrivateKeyId (PRIVATE_KEY_ID )
1415
- .setServiceAccountUser (USER )
1416
1448
.setProjectId (PROJECT_ID )
1417
1449
.setQuotaProjectId ("my-quota-project-id" )
1418
1450
.setHttpTransportFactory (new MockTokenServerTransportFactory ())
0 commit comments