48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import * as os from 'node:os';
|
|
import { Request } from 'express';
|
|
import { envGet, envGetAppId, envGetAppName, envIsProd, getCacheDir, isElfHostedInstance } from './env';
|
|
|
|
describe('env', () => {
|
|
test('envGet', () => {
|
|
expect(envGet('NODE_ENV')).toBe('test');
|
|
});
|
|
|
|
test('envGetAppId', () => {
|
|
expect(envGetAppId()).toBe('webstreamr');
|
|
|
|
process.env['MANIFEST_ID'] = 'webstreamr.dev';
|
|
expect(envGetAppId()).toBe('webstreamr.dev');
|
|
delete process.env['MANIFEST_ID'];
|
|
});
|
|
|
|
test('envGetAppName', () => {
|
|
expect(envGetAppName()).toBe('WebStreamr');
|
|
|
|
process.env['MANIFEST_NAME'] = 'WebStreamr | dev';
|
|
expect(envGetAppName()).toBe('WebStreamr | dev');
|
|
delete process.env['MANIFEST_NAME'];
|
|
});
|
|
|
|
test('envIsProd', () => {
|
|
expect(envIsProd()).toBeFalsy();
|
|
|
|
const previousNodeEnv = process.env['NODE_ENV'];
|
|
process.env['NODE_ENV'] = 'production';
|
|
expect(envIsProd()).toBeTruthy();
|
|
process.env['NODE_ENV'] = previousNodeEnv;
|
|
});
|
|
|
|
test('isElfHostedInstancce', () => {
|
|
expect(isElfHostedInstance({ host: 'someuser.elfhosted.com' } as Request)).toBeTruthy();
|
|
expect(isElfHostedInstance({ host: 'webstreamr.hayd.uk' } as Request)).toBeFalsy();
|
|
});
|
|
|
|
test('getCacheDir', () => {
|
|
const previousCacheDir = process.env['CACHE_DIR'];
|
|
delete process.env['CACHE_DIR'];
|
|
expect(getCacheDir()).toBe(os.tmpdir());
|
|
process.env['CACHE_DIR'] = previousCacheDir;
|
|
|
|
expect(getCacheDir()).toBe('/dev/null');
|
|
});
|
|
});
|