mirror of
https://github.com/aws-actions/configure-aws-credentials.git
synced 2026-06-05 21:17:05 +00:00
26 lines
939 B
TypeScript
26 lines
939 B
TypeScript
import * as helpers from '../src/helpers';
|
|
describe('helpers', () => {
|
|
beforeEach(() => {
|
|
jest.resetModules();
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
test('removes brackets from GitHub Actor', () => {
|
|
expect(helpers.sanitizeGithubActor('foo[bot]')).toEqual('foo_bot_');
|
|
});
|
|
|
|
test('removes special characters from worflow names', () => {
|
|
expect(helpers.sanitizeGithubWorkflowName('sdf234@#$%$^&*()_+{}|:"<>?')).toEqual('sdf234@__________+___:_<>?');
|
|
});
|
|
|
|
test('can sleep', async () => {
|
|
const sleep = helpers.defaultSleep(10);
|
|
await expect(Promise.race([sleep, new Promise((_res, rej) => setTimeout(rej, 20))])).resolves;
|
|
});
|
|
|
|
test("backoff function doesn't retry non-retryable errors", async () => {
|
|
const fn = jest.fn().mockRejectedValue('i am not retryable');
|
|
await expect(helpers.retryAndBackoff(fn, false)).rejects.toMatch('i am not retryable');
|
|
expect(fn).toHaveBeenCalledTimes(1);
|
|
});
|
|
});
|