# 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
29 lines
875 B
TypeScript
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);
|
|
});
|