45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import configuration from '../../config/configuration';
|
|
|
|
describe('T-Bank configuration', () => {
|
|
const originalEnv = process.env;
|
|
|
|
beforeEach(() => {
|
|
process.env = { ...originalEnv };
|
|
});
|
|
|
|
afterAll(() => {
|
|
process.env = originalEnv;
|
|
});
|
|
|
|
it('uses conservative defaults for T-Bank integration', () => {
|
|
delete process.env.T_BANK_BASE_URL;
|
|
delete process.env.T_BANK_RATE_LIMIT_PER_SECOND;
|
|
delete process.env.CACHE_TBANK_PORTFOLIO_TTL;
|
|
|
|
const config = configuration();
|
|
|
|
expect(config.tbank.baseUrl).toBe('invest-public-api.tbank.ru:443');
|
|
expect(config.tbank.rateLimitPerSecond).toBe(5);
|
|
expect(config.cache.tbankPortfolioTtl).toBe(60);
|
|
expect(config.cache.tbankPositionsTtl).toBe(60);
|
|
});
|
|
|
|
it('reads T-Bank token and TTL overrides from environment', () => {
|
|
process.env.T_BANK_TOKEN = 'secret-token';
|
|
process.env.T_BANK_BASE_URL = 'sandbox-invest-public-api.tbank.ru:443';
|
|
process.env.T_BANK_CA_CERT_PATH = '/tmp/tbank-root-ca.pem';
|
|
process.env.T_BANK_RATE_LIMIT_PER_SECOND = '2';
|
|
process.env.CACHE_TBANK_ACCOUNTS_TTL = '120';
|
|
process.env.CACHE_TBANK_POSITIONS_TTL = '45';
|
|
|
|
const config = configuration();
|
|
|
|
expect(config.tbank.token).toBe('secret-token');
|
|
expect(config.tbank.baseUrl).toBe('sandbox-invest-public-api.tbank.ru:443');
|
|
expect(config.tbank.caCertPath).toBe('/tmp/tbank-root-ca.pem');
|
|
expect(config.tbank.rateLimitPerSecond).toBe(2);
|
|
expect(config.cache.tbankAccountsTtl).toBe(120);
|
|
expect(config.cache.tbankPositionsTtl).toBe(45);
|
|
});
|
|
});
|