diff --git a/lib/connector-customizer.spec.ts b/lib/connector-customizer.spec.ts index ef7fccc..cb06a71 100644 --- a/lib/connector-customizer.spec.ts +++ b/lib/connector-customizer.spec.ts @@ -2,7 +2,7 @@ import { StandardCommand } from './commands' import { CustomizerType, createConnectorCustomizer } from './connector-customizer' -import { Context } from './connector-handler' +import { Context, AssumeAwsRoleRequest, AssumeAwsRoleResponse } from './connector-handler' class MockContext implements Context { config = {} @@ -12,6 +12,11 @@ class MockContext implements Context { reloadConfig(): Promise { return Promise.resolve({}) } + + assumeAwsRole(assumeAwsRoleRequest: AssumeAwsRoleRequest): Promise { + return Promise.resolve(new AssumeAwsRoleResponse('ccessKeyId', 'secretAccessKey', 'sessionToken', 123)) + } + } const MOCK_CONTEXT = new MockContext() diff --git a/lib/connector-handler.ts b/lib/connector-handler.ts index 161723c..2866669 100644 --- a/lib/connector-handler.ts +++ b/lib/connector-handler.ts @@ -51,8 +51,30 @@ export interface Context { [prop: string]: any reloadConfig(): Promise + assumeAwsRole(assumeAwsRoleRequest: AssumeAwsRoleRequest): Promise; +} +export class AssumeAwsRoleRequest { + roleArn: string; + externalId : string; + roleSessionName :string; + constructor(roleArn: string, externalId: string, roleSessionName: string) { + this.roleArn = roleArn; + this.externalId = externalId; + this.roleSessionName = roleSessionName; + } +} +export class AssumeAwsRoleResponse { + accessKeyId: string; + secretAccessKey: string; + sessionToken: string; + expiration : number; + constructor(accessKeyId: string, secretAccessKey: string, sessionToken: string, expiration: number) { + this.accessKeyId = accessKeyId; + this.secretAccessKey = secretAccessKey; + this.sessionToken = sessionToken; + this.expiration = expiration; + } } - export type StdAccountCreateHandler = ( context: Context, input: StdAccountCreateInput, diff --git a/lib/connector.spec.ts b/lib/connector.spec.ts index c811af8..2c6e8d8 100644 --- a/lib/connector.spec.ts +++ b/lib/connector.spec.ts @@ -9,7 +9,7 @@ import { major } from 'semver' import packageJson from '../package.json' import { createConnectorCustomizer } from './connector-customizer' -import { Context } from './connector-handler' +import { Context, AssumeAwsRoleRequest, AssumeAwsRoleResponse } from './connector-handler' import path from 'path' const mockFS = require('mock-fs'); @@ -22,6 +22,10 @@ class MockContext implements Context { reloadConfig(): Promise { return Promise.resolve({}) } + + assumeAwsRole(assumeAwsRoleRequest: AssumeAwsRoleRequest): Promise { + return Promise.resolve(new AssumeAwsRoleResponse('ccessKeyId', 'secretAccessKey', 'sessionToken', 123)) + } } const MOCK_CONTEXT = new MockContext()