3030package com .google .api .gax .core ;
3131
3232import static com .google .common .truth .Truth .assertThat ;
33+ import static org .junit .Assert .assertTrue ;
3334
3435import com .google .auth .Credentials ;
3536import com .google .auth .oauth2 .ServiceAccountCredentials ;
4344
4445@ RunWith (JUnit4 .class )
4546public class GoogleCredentialsProviderTest {
47+ ServiceAccountCredentials CreateServiceAccountCredentials () {
48+ return ServiceAccountCredentials .newBuilder ()
49+ .setClientId ("fake-client-id" )
50+ .
setClientEmail (
"[email protected] " )
51+ .setPrivateKeyId ("fake-private-key" )
52+ .setPrivateKey (Mockito .mock (PrivateKey .class ))
53+ .build ();
54+ }
55+
4656 @ Test
4757 public void serviceAccountReplacedWithJwtTokens () throws Exception {
48- ServiceAccountCredentials serviceAccountCredentials =
49- ServiceAccountCredentials .newBuilder ()
50- .setClientId ("fake-client-id" )
51- .
setClientEmail (
"[email protected] " )
52- .setPrivateKeyId ("fake-private-key" )
53- .setPrivateKey (Mockito .mock (PrivateKey .class ))
54- .build ();
58+ ServiceAccountCredentials serviceAccountCredentials = CreateServiceAccountCredentials ();
5559
5660 GoogleCredentialsProvider provider =
5761 GoogleCredentialsProvider .newBuilder ()
@@ -71,13 +75,7 @@ public void serviceAccountReplacedWithJwtTokens() throws Exception {
7175
7276 @ Test
7377 public void noJwtWithoutScopeMatch () throws Exception {
74- ServiceAccountCredentials serviceAccountCredentials =
75- ServiceAccountCredentials .newBuilder ()
76- .setClientId ("fake-client-id" )
77- .
setClientEmail (
"[email protected] " )
78- .setPrivateKeyId ("fake-private-key" )
79- .setPrivateKey (Mockito .mock (PrivateKey .class ))
80- .build ();
78+ ServiceAccountCredentials serviceAccountCredentials = CreateServiceAccountCredentials ();
8179
8280 GoogleCredentialsProvider provider =
8381 GoogleCredentialsProvider .newBuilder ()
@@ -100,4 +98,30 @@ public void noJwtWithoutScopeMatch() throws Exception {
10098 .isEqualTo (serviceAccountCredentials .getPrivateKey ());
10199 assertThat (serviceAccountCredentials2 .getScopes ()).containsExactly ("scope1" , "scope2" );
102100 }
101+
102+ @ Test
103+ public void useJwtAccessWithScope () throws Exception {
104+ ServiceAccountCredentials serviceAccountCredentials = CreateServiceAccountCredentials ();
105+
106+ GoogleCredentialsProvider provider =
107+ GoogleCredentialsProvider .newBuilder ()
108+ .setScopesToApply (ImmutableList .of ("scope1" , "scope2" ))
109+ .setOAuth2Credentials (serviceAccountCredentials )
110+ .setUseJwtAccessWithScope (true )
111+ .build ();
112+
113+ Credentials credentials = provider .getCredentials ();
114+ assertThat (credentials ).isInstanceOf (ServiceAccountCredentials .class );
115+
116+ ServiceAccountCredentials serviceAccountCredentials2 = (ServiceAccountCredentials ) credentials ;
117+ assertThat (serviceAccountCredentials2 .getClientId ())
118+ .isEqualTo (serviceAccountCredentials .getClientId ());
119+ assertThat (serviceAccountCredentials2 .getClientEmail ())
120+ .isEqualTo (serviceAccountCredentials .getClientEmail ());
121+ assertThat (serviceAccountCredentials2 .getPrivateKeyId ())
122+ .isEqualTo (serviceAccountCredentials .getPrivateKeyId ());
123+ assertThat (serviceAccountCredentials2 .getPrivateKey ())
124+ .isEqualTo (serviceAccountCredentials .getPrivateKey ());
125+ assertTrue (serviceAccountCredentials2 .getUseJwtAccessWithScope ());
126+ }
103127}
0 commit comments