32 lines
848 B
TypeScript
32 lines
848 B
TypeScript
/**
|
|
* STS integration tests.
|
|
*/
|
|
|
|
import { describe, it, expect, beforeAll } from 'vitest';
|
|
import { STSClient, GetCallerIdentityCommand, AssumeRoleCommand } from '@aws-sdk/client-sts';
|
|
import { makeClient, ACCOUNT } from './setup';
|
|
|
|
describe('STS', () => {
|
|
let sts: STSClient;
|
|
|
|
beforeAll(() => {
|
|
sts = makeClient(STSClient);
|
|
});
|
|
|
|
it('should get caller identity', async () => {
|
|
const response = await sts.send(new GetCallerIdentityCommand({}));
|
|
expect(response.Account).toBeTruthy();
|
|
expect(response.UserId).toBeTruthy();
|
|
});
|
|
|
|
it('should assume role', async () => {
|
|
const response = await sts.send(
|
|
new AssumeRoleCommand({
|
|
RoleArn: `arn:aws:iam::${ACCOUNT}:role/test-role`,
|
|
RoleSessionName: 'test-session',
|
|
})
|
|
);
|
|
expect(response.Credentials?.AccessKeyId).toBeTruthy();
|
|
});
|
|
});
|