All files / src/client-side-encryption/providers gcp.ts

85.71% Statements 6/7
50% Branches 1/2
100% Functions 1/1
85.71% Lines 6/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17408x       408x 8x   8x       8x     4x    
import { getGcpMetadata } from '../../deps';
import { type KMSProviders } from '.';
 
/** @internal */
export async function loadGCPCredentials(kmsProviders: KMSProviders): Promise<KMSProviders> {
  const gcpMetadata = getGcpMetadata();
 
  Iif ('kModuleError' in gcpMetadata) {
    return kmsProviders;
  }
 
  const { access_token: accessToken } = await gcpMetadata.instance<{ access_token: string }>({
    property: 'service-accounts/default/token'
  });
  return { ...kmsProviders, gcp: { accessToken } };
}