Files
umami/src/lib/__tests__/detect.test.ts
Mike Cao 04c06443a8 Merge branch 'master' into dev
# Conflicts:
#	.github/workflows/ci.yml
#	src/lang/es-ES.json
#	src/lang/sl-SI.json
#	src/lib/constants.ts
#	src/lib/detect.ts
#	src/queries/sql/reports/getRevenue.ts
2025-09-16 21:11:12 -07:00

29 lines
875 B
TypeScript

import * as detect from '../detect';
const IP = '127.0.0.1';
const BAD_IP = '127.127.127.127';
test('getIpAddress: Custom header', () => {
process.env.CLIENT_IP_HEADER = 'x-custom-ip-header';
expect(detect.getIpAddress(new Headers({ 'x-custom-ip-header': IP }))).toEqual(IP);
});
test('getIpAddress: CloudFlare header', () => {
expect(detect.getIpAddress(new Headers({ 'cf-connecting-ip': IP }))).toEqual(IP);
});
test('getIpAddress: Standard header', () => {
expect(detect.getIpAddress(new Headers({ 'x-forwarded-for': IP }))).toEqual(IP);
});
test('getIpAddress: CloudFlare header is lower priority than standard header', () => {
expect(
detect.getIpAddress(new Headers({ 'cf-connecting-ip': BAD_IP, 'x-forwarded-for': IP })),
).toEqual(IP);
});
test('getIpAddress: No header', () => {
expect(detect.getIpAddress(new Headers())).toEqual(null);
});