Skip to content

Commit 1be5b37

Browse files
committed
sigv4 unit tests
1 parent c172894 commit 1be5b37

File tree

1 file changed

+30
-14
lines changed

1 file changed

+30
-14
lines changed

aws-distro-opentelemetry-node-autoinstrumentation/test/exporter/otlp/aws/common/aws-authenticator.test.ts

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@ import {
1717
X_AMZ_DATE_HEADER,
1818
X_AMZ_SECURITY_TOKEN_HEADER,
1919
} from './test-utils.test';
20+
import { getNodeVersion } from '../../../../../src/utils';
2021

2122
const mockCredentials = {
2223
accessKeyId: 'test_access_key',
2324
secretAccessKey: 'test_secret_key',
2425
sessionToken: 'test_session_token',
2526
};
2627

28+
// Sigv4 is only enabled for node version >= 16
29+
const version = getNodeVersion();
30+
2731
describe('AwsAuthenticator', () => {
2832
let sandbox: sinon.SinonSandbox;
2933

@@ -101,13 +105,19 @@ describe('AwsAuthenticator', () => {
101105
new Uint8Array()
102106
);
103107

104-
expect(result).toHaveProperty(AUTHORIZATION_HEADER);
105-
expect(result).toHaveProperty(X_AMZ_DATE_HEADER);
106-
expect(result).toHaveProperty(X_AMZ_SECURITY_TOKEN_HEADER);
107-
108-
expect(result[AUTHORIZATION_HEADER]).toBe(expected[AUTHORIZATION_HEADER]);
109-
expect(result[X_AMZ_DATE_HEADER]).toBe(expected[X_AMZ_DATE_HEADER]);
110-
expect(result[X_AMZ_SECURITY_TOKEN_HEADER]).toBe(expected[X_AMZ_SECURITY_TOKEN_HEADER]);
108+
if (version >= 16) {
109+
expect(result).toHaveProperty(AUTHORIZATION_HEADER);
110+
expect(result).toHaveProperty(X_AMZ_DATE_HEADER);
111+
expect(result).toHaveProperty(X_AMZ_SECURITY_TOKEN_HEADER);
112+
113+
expect(result[AUTHORIZATION_HEADER]).toBe(expected[AUTHORIZATION_HEADER]);
114+
expect(result[X_AMZ_DATE_HEADER]).toBe(expected[X_AMZ_DATE_HEADER]);
115+
expect(result[X_AMZ_SECURITY_TOKEN_HEADER]).toBe(expected[X_AMZ_SECURITY_TOKEN_HEADER]);
116+
} else {
117+
expect(result).not.toHaveProperty(AUTHORIZATION_HEADER);
118+
expect(result).not.toHaveProperty(X_AMZ_DATE_HEADER);
119+
expect(result).not.toHaveProperty(X_AMZ_SECURITY_TOKEN_HEADER);
120+
}
111121
});
112122

113123
it('should clear SigV4 headers if already present ', async () => {
@@ -145,12 +155,18 @@ describe('AwsAuthenticator', () => {
145155
new Uint8Array()
146156
);
147157

148-
expect(result).toHaveProperty(AUTHORIZATION_HEADER);
149-
expect(result).toHaveProperty(X_AMZ_DATE_HEADER);
150-
expect(result).toHaveProperty(X_AMZ_SECURITY_TOKEN_HEADER);
151-
152-
expect(result[AUTHORIZATION_HEADER]).toBe(expected[AUTHORIZATION_HEADER]);
153-
expect(result[X_AMZ_DATE_HEADER]).toBe(expected[X_AMZ_DATE_HEADER]);
154-
expect(result[X_AMZ_SECURITY_TOKEN_HEADER]).toBe(expected[X_AMZ_SECURITY_TOKEN_HEADER]);
158+
if (version >= 16) {
159+
expect(result).toHaveProperty(AUTHORIZATION_HEADER);
160+
expect(result).toHaveProperty(X_AMZ_DATE_HEADER);
161+
expect(result).toHaveProperty(X_AMZ_SECURITY_TOKEN_HEADER);
162+
163+
expect(result[AUTHORIZATION_HEADER]).toBe(expected[AUTHORIZATION_HEADER]);
164+
expect(result[X_AMZ_DATE_HEADER]).toBe(expected[X_AMZ_DATE_HEADER]);
165+
expect(result[X_AMZ_SECURITY_TOKEN_HEADER]).toBe(expected[X_AMZ_SECURITY_TOKEN_HEADER]);
166+
} else {
167+
expect(result).not.toHaveProperty(AUTHORIZATION_HEADER);
168+
expect(result).not.toHaveProperty(X_AMZ_DATE_HEADER);
169+
expect(result).not.toHaveProperty(X_AMZ_SECURITY_TOKEN_HEADER);
170+
}
155171
});
156172
});

0 commit comments

Comments
 (0)