Files
renovate/lib/util/cache/memory/index.spec.ts
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00

69 lines
2.4 KiB
TypeScript

import * as memCache from './index.ts';
describe('util/cache/memory/index', () => {
it('returns undefined if not init', () => {
expect(memCache.get('key1')).toBeUndefined();
});
it('sets and gets repo cache', () => {
memCache.init();
memCache.set('key2', 'value');
expect(memCache.get('key2')).toBe('value');
});
it('resets', () => {
memCache.init();
memCache.set('key3', 'value');
memCache.reset();
expect(memCache.get('key3')).toBeUndefined();
});
describe('cleanDatasourceKeys', () => {
beforeEach(() => {
memCache.init();
});
it('does nothing if no matching keys exist', () => {
memCache.set('normal-key', 'value');
memCache.set('another-key', 'data');
memCache.cleanDatasourceKeys();
expect(memCache.get('normal-key')).toBe('value');
expect(memCache.get('another-key')).toBe('data');
});
it('removes keys that start with datasource-mem:pkg-fetch:', () => {
memCache.set('datasource-mem:pkg-fetch:test', 'value');
memCache.set('normal-key', 'data');
memCache.cleanDatasourceKeys();
expect(memCache.get('datasource-mem:pkg-fetch:test')).toBeUndefined();
expect(memCache.get('normal-key')).toBe('data');
});
it('removes keys that start with datasource-releases', () => {
memCache.set('datasource-mem:pkg-fetch:npm', 'value');
memCache.set('normal-key', 'data');
memCache.cleanDatasourceKeys();
expect(memCache.get('datasource-mem:releases:npm')).toBeUndefined();
expect(memCache.get('normal-key')).toBe('data');
});
it('removes all matching keys while keeping others', () => {
memCache.set('datasource-mem:pkg-fetch:test1', 'value1');
memCache.set('datasource-mem:pkg-fetch:test2', 'value2');
memCache.set('datasource-mem:pkg-fetch:npm', 'npm-data');
memCache.set('datasource-mem:pkg-fetch:docker', 'docker-data');
memCache.set('normal-key1', 'normal1');
memCache.set('normal-key2', 'normal2');
memCache.cleanDatasourceKeys();
expect(memCache.get('datasource-mem:pkg-fetch:test1')).toBeUndefined();
expect(memCache.get('datasource-mem:pkg-fetch:test2')).toBeUndefined();
expect(memCache.get('datasource-mem:pkg-fetch:npm')).toBeUndefined();
expect(memCache.get('datasource-mem:pkg-fetch:docker')).toBeUndefined();
expect(memCache.get('normal-key1')).toBe('normal1');
expect(memCache.get('normal-key2')).toBe('normal2');
});
});
});