Skip to content

Commit 5dcc87d

Browse files
committed
chore(config-resolver): remove isFipsRegion check from getResolvedSigningRegion
1 parent 04daf91 commit 5dcc87d

File tree

4 files changed

+19
-46
lines changed

4 files changed

+19
-46
lines changed

packages/config-resolver/src/regionInfo/getRegionInfo.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ describe(getRegionInfo.name, () => {
105105
partitionHostname: mockPartitionHostname,
106106
});
107107
expect(getResolvedPartition).toHaveBeenCalledWith(mockRegion, mockGetResolvedPartitionOptions);
108-
expect(getResolvedSigningRegion).toHaveBeenCalledWith(mockRegion, {
109-
hostname: mockHostname,
108+
expect(getResolvedSigningRegion).toHaveBeenCalledWith(mockHostname, {
110109
regionRegex: mockRegionRegex,
110+
useFipsEndpoint: false,
111111
});
112112
});
113113
});
@@ -169,10 +169,10 @@ describe(getRegionInfo.name, () => {
169169
partitionHostname: mockPartitionHostname,
170170
});
171171
expect(getResolvedPartition).toHaveBeenCalledWith(mockRegion, mockGetResolvedPartitionOptions);
172-
expect(getResolvedSigningRegion).toHaveBeenCalledWith(mockRegion, {
173-
hostname: mockHostname,
172+
expect(getResolvedSigningRegion).toHaveBeenCalledWith(mockHostname, {
174173
signingRegion: mockSigningRegion,
175174
regionRegex: mockRegionRegex,
175+
useFipsEndpoint: false,
176176
});
177177
});
178178
});
@@ -232,9 +232,9 @@ describe(getRegionInfo.name, () => {
232232
partitionHostname: mockPartitionHostname,
233233
});
234234
expect(getResolvedPartition).toHaveBeenCalledWith(mockRegion, mockGetResolvedPartitionOptions);
235-
expect(getResolvedSigningRegion).toHaveBeenCalledWith(mockRegion, {
236-
hostname: mockHostname,
235+
expect(getResolvedSigningRegion).toHaveBeenCalledWith(mockHostname, {
237236
regionRegex: mockRegionRegex,
237+
useFipsEndpoint: false,
238238
});
239239
});
240240
});

packages/config-resolver/src/regionInfo/getRegionInfo.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ export const getRegionInfo = (
3737
throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);
3838
}
3939

40-
const signingRegion = getResolvedSigningRegion(region, {
41-
hostname,
40+
const signingRegion = getResolvedSigningRegion(hostname, {
4241
signingRegion: regionHash[resolvedRegion]?.signingRegion,
4342
regionRegex: partitionHash[partition].regionRegex,
43+
useFipsEndpoint,
4444
});
4545

4646
return {
Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,55 @@
1-
import { isFipsRegion } from "../regionConfig/isFipsRegion";
21
import { getResolvedSigningRegion } from "./getResolvedSigningRegion";
32

4-
jest.mock("../regionConfig/isFipsRegion");
5-
63
describe(getResolvedSigningRegion.name, () => {
7-
const mockRegion = "mockRegion";
84
const mockSigningRegion = "mockSigningRegion";
95
const mockHostname = "mockHostname";
106
const mockRegionRegex = "mockRegionRegex";
117

128
const mockOptions = {
13-
hostname: mockHostname,
149
regionRegex: mockRegionRegex,
10+
useFipsEndpoint: false,
1511
};
1612

17-
beforeEach(() => {
18-
(isFipsRegion as jest.Mock).mockReturnValue(false);
19-
});
20-
21-
afterEach(() => {
22-
jest.clearAllMocks();
23-
});
24-
2513
it("returns signingRegion if passed in options", () => {
26-
expect(getResolvedSigningRegion(mockRegion, { ...mockOptions, signingRegion: mockSigningRegion })).toEqual(
14+
expect(getResolvedSigningRegion(mockHostname, { ...mockOptions, signingRegion: mockSigningRegion })).toEqual(
2715
mockSigningRegion
2816
);
29-
expect(isFipsRegion).not.toHaveBeenCalled();
3017
});
3118

3219
describe("returns undefined if signingRegion is not present and", () => {
3320
it("region is not FIPS", () => {
34-
expect(getResolvedSigningRegion(mockRegion, mockOptions)).not.toBeDefined();
35-
expect(isFipsRegion).toHaveBeenCalledTimes(1);
36-
expect(isFipsRegion).toHaveBeenCalledWith(mockRegion);
21+
expect(getResolvedSigningRegion(mockHostname, mockOptions)).not.toBeDefined();
3722
});
3823

3924
it("regionRegex does not return a match in hostname", () => {
40-
(isFipsRegion as jest.Mock).mockReturnValueOnce(true);
4125
const matchSpy = jest.spyOn(String.prototype, "match").mockReturnValueOnce(null);
4226

43-
expect(getResolvedSigningRegion(mockRegion, mockOptions)).not.toBeDefined();
27+
expect(getResolvedSigningRegion(mockHostname, { ...mockOptions, useFipsEndpoint: true })).not.toBeDefined();
4428
expect(matchSpy).toHaveBeenCalledTimes(1);
4529
expect(matchSpy).toHaveBeenCalledWith(mockRegionRegex);
46-
expect(isFipsRegion).toHaveBeenCalledTimes(1);
47-
expect(isFipsRegion).toHaveBeenCalledWith(mockRegion);
4830
});
4931

5032
it("region is not present between dots in a hostname", () => {
5133
const regionInHostname = "us-east-1";
52-
(isFipsRegion as jest.Mock).mockReturnValueOnce(true);
5334

5435
expect(
55-
getResolvedSigningRegion(mockRegion, {
36+
getResolvedSigningRegion(`test-${regionInHostname}.amazonaws.com`, {
5637
...mockOptions,
57-
hostname: `test-${regionInHostname}.amazonaws.com`,
5838
regionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",
5939
})
6040
).not.toBeDefined();
61-
expect(isFipsRegion).toHaveBeenCalledTimes(1);
62-
expect(isFipsRegion).toHaveBeenCalledWith(mockRegion);
6341
});
6442
});
6543

6644
it("returns region from hostname if signingRegion is not present", () => {
6745
const regionInHostname = "us-east-1";
68-
(isFipsRegion as jest.Mock).mockReturnValueOnce(true);
6946

7047
expect(
71-
getResolvedSigningRegion(mockRegion, {
48+
getResolvedSigningRegion(`test.${regionInHostname}.amazonaws.com`, {
7249
...mockOptions,
73-
hostname: `test.${regionInHostname}.amazonaws.com`,
7450
regionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",
51+
useFipsEndpoint: true,
7552
})
7653
).toEqual(regionInHostname);
77-
expect(isFipsRegion).toHaveBeenCalledTimes(1);
78-
expect(isFipsRegion).toHaveBeenCalledWith(mockRegion);
7954
});
8055
});

packages/config-resolver/src/regionInfo/getResolvedSigningRegion.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
1-
import { isFipsRegion } from "../regionConfig/isFipsRegion";
2-
31
export interface GetResolvedSigningRegionOptions {
4-
hostname: string;
52
regionRegex: string;
63
signingRegion?: string;
4+
useFipsEndpoint: boolean;
75
}
86

97
export const getResolvedSigningRegion = (
10-
region: string,
11-
{ hostname, signingRegion, regionRegex }: GetResolvedSigningRegionOptions
8+
hostname: string,
9+
{ signingRegion, regionRegex, useFipsEndpoint }: GetResolvedSigningRegionOptions
1210
) => {
1311
if (signingRegion) {
1412
return signingRegion;
15-
} else if (isFipsRegion(region)) {
13+
} else if (useFipsEndpoint) {
1614
const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\.");
1715
const regionRegexmatchArray = hostname.match(regionRegexJs);
1816
if (regionRegexmatchArray) {

0 commit comments

Comments
 (0)