mirror of
https://github.com/apotdevin/thunderhub.git
synced 2025-02-23 14:40:27 +01:00
78 lines
1.9 KiB
TypeScript
78 lines
1.9 KiB
TypeScript
import { resolveEnvVarsInAccount } from '../env';
|
|
import { AccountType, UnresolvedAccountType } from '../fileHelpers';
|
|
|
|
const vars = {
|
|
YML_ENV_1: 'firstEnv',
|
|
YML_ENV_2: 'macaroonString',
|
|
YML_ENV_3: 'false',
|
|
YML_ENV_4: 'true',
|
|
};
|
|
|
|
jest.mock('next/config', () => () => ({
|
|
serverRuntimeConfig: vars,
|
|
}));
|
|
|
|
describe('resolveEnvVarsInAccount', () => {
|
|
it('returns resolved account', () => {
|
|
const account: UnresolvedAccountType = {
|
|
name: '{YML_ENV_1}',
|
|
serverUrl: 'server.url:10009',
|
|
macaroon: '{YML_ENV_2}',
|
|
};
|
|
|
|
const resolved = resolveEnvVarsInAccount(account);
|
|
|
|
const result: AccountType = {
|
|
name: 'firstEnv',
|
|
serverUrl: 'server.url:10009',
|
|
macaroon: 'macaroonString',
|
|
};
|
|
|
|
expect(resolved).toStrictEqual(result);
|
|
});
|
|
it('resolves false boolean values', () => {
|
|
const account: UnresolvedAccountType = {
|
|
name: '{YML_ENV_1}',
|
|
serverUrl: 'server.url:10009',
|
|
encrypted: '{YML_ENV_3}',
|
|
};
|
|
|
|
const resolved = resolveEnvVarsInAccount(account);
|
|
|
|
const result: AccountType = {
|
|
name: 'firstEnv',
|
|
serverUrl: 'server.url:10009',
|
|
encrypted: false,
|
|
};
|
|
|
|
expect(resolved).toStrictEqual(result);
|
|
});
|
|
it('resolves true boolean values', () => {
|
|
const account: UnresolvedAccountType = {
|
|
name: '{YML_ENV_1}',
|
|
serverUrl: 'server.url:10009',
|
|
encrypted: '{YML_ENV_4}',
|
|
};
|
|
|
|
const resolved = resolveEnvVarsInAccount(account);
|
|
|
|
const result: AccountType = {
|
|
name: 'firstEnv',
|
|
serverUrl: 'server.url:10009',
|
|
encrypted: true,
|
|
};
|
|
|
|
expect(resolved).toStrictEqual(result);
|
|
});
|
|
it('does not resolve non existing env vars', () => {
|
|
const account: UnresolvedAccountType = {
|
|
macaroon: '{YML_ENV_NONE}',
|
|
};
|
|
|
|
const resolved = resolveEnvVarsInAccount(account);
|
|
|
|
expect(resolved).toStrictEqual({
|
|
macaroon: '{YML_ENV_NONE}',
|
|
});
|
|
});
|
|
});
|