nostream/test/unit/utils/http.spec.ts
Ricardo Arturo Cabral Mejía f9c53eeeb8 feat: massive update
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00

51 lines
1.1 KiB
TypeScript

import { expect } from 'chai'
import { IncomingMessage } from 'http'
import { getRemoteAddress } from '../../../src/utils/http'
describe('getRemoteAddress', () => {
const header = 'x-forwarded-for'
const socketAddress = 'socket-address'
const address = 'address'
let request: IncomingMessage
beforeEach(() => {
request = {
headers: {
[header]: address,
},
socket: {
remoteAddress: socketAddress,
},
} as any
})
it('returns address using network.remote_ip_address when set', () => {
expect(
getRemoteAddress(
request,
{ network: { 'remote_ip_header': header } } as any,
)
).to.equal(address)
})
it('returns address using network.remoteIpAddress when set', () => {
expect(
getRemoteAddress(
request,
{ network: { remoteIpHeader: header } } as any,
)
).to.equal(address)
})
it('returns address from socket when header is unset', () => {
expect(
getRemoteAddress(
request,
{ network: { } } as any,
)
).to.equal(socketAddress)
})
})