Skip to content

Commit 17bf70b

Browse files
committed
fix(credential-provider-node): test to work with ts-jest
1 parent 9dacc7e commit 17bf70b

File tree

1 file changed

+18
-33
lines changed

1 file changed

+18
-33
lines changed

packages/credential-provider-node/src/index.spec.ts

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,9 @@
1+
import { fromEnv } from "@aws-sdk/credential-provider-env";
12
import { ProviderError } from "@aws-sdk/property-provider";
3+
import { loadSharedConfigFiles } from "@aws-sdk/shared-ini-file-loader";
24

35
import { defaultProvider, ENV_IMDS_DISABLED } from "./";
46

5-
jest.mock("@aws-sdk/credential-provider-env", () => {
6-
const envProvider = jest.fn();
7-
return {
8-
fromEnv: jest.fn().mockReturnValue(envProvider),
9-
};
10-
});
11-
import { fromEnv } from "@aws-sdk/credential-provider-env";
12-
13-
const loadedConfig = {
14-
credentialsFile: {
15-
foo: { aws_access_key_id: "key", aws_secret_access_key: "secret" },
16-
},
17-
configFile: { bar: { aws_access_key_id: "key", aws_secret_access_key: "secret" } },
18-
};
19-
jest.mock("@aws-sdk/shared-ini-file-loader", () => ({
20-
loadSharedConfigFiles: jest.fn().mockReturnValue(loadedConfig),
21-
}));
22-
import { loadSharedConfigFiles } from "@aws-sdk/shared-ini-file-loader";
23-
247
jest.mock("@aws-sdk/credential-provider-sso", () => {
258
const ssoProvider = jest.fn();
269
return {
@@ -67,6 +50,9 @@ import {
6750
RemoteProviderInit,
6851
} from "@aws-sdk/credential-provider-imds";
6952

53+
jest.mock("@aws-sdk/credential-provider-env");
54+
jest.mock("@aws-sdk/shared-ini-file-loader");
55+
7056
const envAtLoadTime: { [key: string]: string | undefined } = [
7157
ENV_CONFIG_PATH,
7258
ENV_CREDENTIALS_PATH,
@@ -83,24 +69,23 @@ const envAtLoadTime: { [key: string]: string | undefined } = [
8369
return envState;
8470
}, {});
8571

72+
const loadedConfig = {
73+
credentialsFile: {
74+
foo: { aws_access_key_id: "key", aws_secret_access_key: "secret" },
75+
},
76+
configFile: { bar: { aws_access_key_id: "key", aws_secret_access_key: "secret" } },
77+
};
78+
8679
beforeEach(() => {
80+
(fromEnv as jest.Mock).mockReturnValue(jest.fn());
81+
(loadSharedConfigFiles as jest.Mock).mockReturnValue(loadedConfig);
82+
});
83+
84+
afterEach(() => {
8785
Object.keys(envAtLoadTime).forEach((envKey) => {
8886
delete process.env[envKey];
8987
});
90-
91-
(fromEnv() as any).mockClear();
92-
(fromSSO() as any).mockClear();
93-
(fromIni() as any).mockClear();
94-
(fromProcess() as any).mockClear();
95-
(fromContainerMetadata() as any).mockClear();
96-
(fromInstanceMetadata() as any).mockClear();
97-
(fromEnv as any).mockClear();
98-
(fromSSO as any).mockClear();
99-
(fromIni as any).mockClear();
100-
(fromProcess as any).mockClear();
101-
(fromContainerMetadata as any).mockClear();
102-
(fromInstanceMetadata as any).mockClear();
103-
(loadSharedConfigFiles as any).mockClear();
88+
jest.clearAllMocks();
10489
});
10590

10691
afterAll(() => {

0 commit comments

Comments
 (0)