@@ -32,7 +32,7 @@ import * as mocks from '../../resources/mocks';
3232
3333import {
3434 ApplicationDefaultCredential , CertCredential , Certificate , GoogleOAuthAccessToken ,
35- MetadataServiceCredential , RefreshTokenCredential ,
35+ MetadataServiceCredential , RefreshTokenCredential , tryGetCertificate ,
3636} from '../../../src/auth/credential' ;
3737import { HttpClient } from '../../../src/utils/api-request' ;
3838import { Agent } from 'https' ;
@@ -255,6 +255,15 @@ describe('Credential', () => {
255255 } ) ;
256256 } ) ;
257257
258+ it ( 'should return a certificate' , ( ) => {
259+ const c = new CertCredential ( mockCertificateObject ) ;
260+ expect ( tryGetCertificate ( c ) ) . to . deep . equal ( {
261+ projectId : mockCertificateObject . project_id ,
262+ clientEmail : mockCertificateObject . client_email ,
263+ privateKey : mockCertificateObject . private_key ,
264+ } ) ;
265+ } ) ;
266+
258267 it ( 'should create access tokens' , ( ) => {
259268 const c = new CertCredential ( mockCertificateObject ) ;
260269 return c . getAccessToken ( ) . then ( ( token ) => {
@@ -292,7 +301,7 @@ describe('Credential', () => {
292301 describe ( 'RefreshTokenCredential' , ( ) => {
293302 it ( 'should not return a certificate' , ( ) => {
294303 const c = new RefreshTokenCredential ( MOCK_REFRESH_TOKEN_CONFIG ) ;
295- expect ( c . getCertificate ( ) ) . to . be . null ;
304+ expect ( tryGetCertificate ( c ) ) . to . be . null ;
296305 } ) ;
297306
298307 it ( 'should create access tokens' , ( ) => {
@@ -322,7 +331,7 @@ describe('Credential', () => {
322331
323332 it ( 'should not return a certificate' , ( ) => {
324333 const c = new MetadataServiceCredential ( ) ;
325- expect ( c . getCertificate ( ) ) . to . be . null ;
334+ expect ( tryGetCertificate ( c ) ) . to . be . null ;
326335 } ) ;
327336
328337 it ( 'should create access tokens' , ( ) => {
@@ -428,6 +437,16 @@ describe('Credential', () => {
428437 } ) ;
429438 } ) ;
430439
440+ it ( 'should return a Certificate' , ( ) => {
441+ process . env . GOOGLE_APPLICATION_CREDENTIALS = path . resolve ( __dirname , '../../resources/mock.key.json' ) ;
442+ const c = new ApplicationDefaultCredential ( ) ;
443+ expect ( tryGetCertificate ( c ) ) . to . deep . equal ( {
444+ projectId : mockCertificateObject . project_id ,
445+ clientEmail : mockCertificateObject . client_email ,
446+ privateKey : mockCertificateObject . private_key ,
447+ } ) ;
448+ } ) ;
449+
431450 it ( 'should parse valid RefreshTokenCredential if GOOGLE_APPLICATION_CREDENTIALS environment variable ' +
432451 'points to default refresh token location' , ( ) => {
433452 process . env . GOOGLE_APPLICATION_CREDENTIALS = GCLOUD_CREDENTIAL_PATH ;
0 commit comments