Skip to content
Snippets Groups Projects
Select Git revision
  • 0fcd54823e1ab5d2643be014a543afc2cbc12085
  • main default protected
  • fix/36615b-branch-reuse-no-cache
  • renovate/main-redis-5.x
  • next
  • revert-31645-feat/rename-gradle-wrapper-validation-action
  • chore/punycode
  • refactor/pin-new-value
  • feat/36219--git-x509-signing
  • feat/structured-logger
  • hotfix/39.264.1
  • feat/skip-dangling
  • gh-readonly-queue/next/pr-36034-7a061c4ca1024a19e2c295d773d9642625d1c2be
  • hotfix/39.238.3
  • refactor/gitlab-auto-approve
  • feat/template-strings
  • gh-readonly-queue/next/pr-35654-137d934242c784e0c45d4b957362214f0eade1d7
  • fix/32307-global-extends-merging
  • fix/32307-global-extends-repositories
  • gh-readonly-queue/next/pr-35009-046ebf7cb84ab859f7fefceb5fa53a54ce9736f8
  • gh-readonly-queue/next/pr-35009-9d5e583b7d7251148ab0d11ee8dd38149618d162
  • 41.38.2
  • 41.38.1
  • 41.38.0
  • 41.37.12
  • 41.37.11
  • 41.37.10
  • 41.37.9
  • 41.37.8
  • 41.37.7
  • 41.37.6
  • 41.37.5
  • 41.37.4
  • 41.37.3
  • 41.37.2
  • 41.37.1
  • 41.37.0
  • 41.36.2
  • 41.36.1
  • 41.36.0
  • 41.35.2
41 results

extract.spec.ts

Blame
  • user avatar
    Brooks Collins authored and GitHub committed
    0fcd5482
    History
    extract.spec.ts 1.78 KiB
    import { readFileSync } from 'fs';
    import {
      TerraformDependencyTypes,
      extractPackageFile,
      getTerraformDependencyType,
    } from './extract';
    
    const tf1 = readFileSync('lib/manager/terraform/__fixtures__/1.tf', 'utf8');
    const tf2 = `module "relative" {
      source = "../../modules/fe"
    }
    `;
    
    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(25);
          expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(6);
        });
        it('returns null if only local deps', () => {
          expect(extractPackageFile(tf2)).toBeNull();
        });
      });
      describe('getTerraformDependencyType()', () => {
        it('returns TerraformDependencyTypes.module', () => {
          expect(getTerraformDependencyType('module')).toBe(
            TerraformDependencyTypes.module
          );
        });
        it('returns TerraformDependencyTypes.provider', () => {
          expect(getTerraformDependencyType('provider')).toBe(
            TerraformDependencyTypes.provider
          );
        });
        it('returns TerraformDependencyTypes.unknown', () => {
          expect(getTerraformDependencyType('unknown')).toBe(
            TerraformDependencyTypes.unknown
          );
        });
        it('returns TerraformDependencyTypes.unknown on empty string', () => {
          expect(getTerraformDependencyType('')).toBe(
            TerraformDependencyTypes.unknown
          );
        });
        it('returns TerraformDependencyTypes.unknown on string with random chars', () => {
          expect(getTerraformDependencyType('sdfsgdsfadfhfghfhgdfsdf')).toBe(
            TerraformDependencyTypes.unknown
          );
        });
      });
    });