Files
pulse-signage/test/player-bridge-web-base-url.test.js
T

45 lines
1.2 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
require('../src/common');
const originalWebBaseUrl = process.env.WEB_BASE_URL;
const { resolveWebBaseUrl } = require('../src/player-bridge/index');
test.after(() => {
if (originalWebBaseUrl === undefined) {
delete process.env.WEB_BASE_URL;
} else {
process.env.WEB_BASE_URL = originalWebBaseUrl;
}
});
test('resolveWebBaseUrl prefers WEB_BASE_URL', () => {
process.env.WEB_BASE_URL = 'https://web.example.test/app/';
const resolved = resolveWebBaseUrl({
headers: {
host: 'bridge.example.test',
'x-forwarded-host': 'bridge.example.test',
'x-forwarded-proto': 'https'
},
socket: { encrypted: true }
});
assert.equal(resolved, 'https://web.example.test/app');
});
test('resolveWebBaseUrl keeps external https hosts on the default port', () => {
delete process.env.WEB_BASE_URL;
const resolved = resolveWebBaseUrl({
headers: {
host: 'bridge.example.test',
'x-forwarded-host': 'bridge.example.test',
'x-forwarded-proto': 'https'
},
socket: { encrypted: true }
});
assert.equal(resolved, 'https://bridge.example.test');
});