forked from renovatebot/renovate
/
extract.spec.ts
32 lines (30 loc) · 1.08 KB
/
extract.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { readFileSync } from 'fs';
import { extractPackageFile } from './extract';
const tf1 = readFileSync('lib/manager/terraform/__fixtures__/1.tf', 'utf8');
const tf2 = `module "relative" {
source = "../../modules/fe"
}
`;
const helm = readFileSync('lib/manager/terraform/__fixtures__/helm.tf', 'utf8');
describe('lib/manager/terraform/extract', () => {
describe('extractPackageFile()', () => {
it('returns null for empty', () => {
expect(extractPackageFile('nothing here')).toBeNull();
});
it('extracts', () => {
const res = extractPackageFile(tf1);
expect(res).toMatchSnapshot();
expect(res.deps).toHaveLength(30);
expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(6);
});
it('returns null if only local deps', () => {
expect(extractPackageFile(tf2)).toBeNull();
});
it('extract helm releases', () => {
const res = extractPackageFile(helm);
expect(res).toMatchSnapshot();
expect(res.deps).toHaveLength(6);
expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(3);
});
});
});