Skip to content
Snippets Groups Projects
Select Git revision
  • 893f7caab858ae0e90d29920f17e4dcc3f03bdca
  • main default protected
  • renovate/main-ghcr.io-renovatebot-base-image-10.x
  • renovate/main-ghcr.io-containerbase-devcontainer-13.x
  • next
  • revert-31645-feat/rename-gradle-wrapper-validation-action
  • renovate/main-redis-5.x
  • fix/36615b-branch-reuse-no-cache
  • chore/punycode
  • fix/36615-branch-reuse-bug
  • 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
  • 41.31.1
  • 41.31.0
  • 41.30.5
  • 41.30.4
  • 41.30.3
  • 41.30.2
  • 41.30.1
  • 41.30.0
  • 41.29.1
  • 41.29.0
  • 41.28.2
  • 41.28.1
  • 41.28.0
  • 41.27.1
  • 41.27.0
  • 41.26.2
  • 41.26.1
  • 41.26.0
  • 41.25.1
  • 41.25.0
41 results

api.ts

Blame
  • index.spec.ts 12.65 KiB
    import { join } from 'upath';
    import { fs, getName, loadFixture, mocked } from '../../../../test/util';
    import { setAdminConfig } from '../../../config/admin';
    import { getPkgReleases } from '../../../datasource';
    import type { UpdateArtifactsConfig } from '../../types';
    import { TerraformProviderHash } from './hash';
    import { updateArtifacts } from './index';
    
    // auto-mock fs
    jest.mock('../../../util/fs');
    jest.mock('./hash');
    jest.mock('../../../datasource');
    
    const config = {
      constraints: {},
    };
    
    const adminConfig = {
      // `join` fixes Windows CI
      localDir: join('/tmp/github/some/repo'),
      cacheDir: join('/tmp/renovate/cache'),
    };
    
    const validLockfile = loadFixture('validLockfile.hcl');
    
    const mockHash = mocked(TerraformProviderHash).createHashes;
    const mockGetPkgReleases = getPkgReleases as jest.MockedFunction<
      typeof getPkgReleases
    >;
    
    describe(getName(), () => {
      beforeEach(() => {
        jest.resetAllMocks();
        jest.resetModules();
        setAdminConfig(adminConfig);
      });
    
      afterEach(() => {
        delete process.env.RENOVATE_X_TERRAFORM_LOCK_FILE;
      });
    
      it('returns null if no .terraform.lock.hcl found', async () => {
        fs.readLocalFile.mockResolvedValueOnce(null);
    
        process.env.RENOVATE_X_TERRAFORM_LOCK_FILE = 'test';
    
        expect(
          await updateArtifacts({
            packageFileName: 'main.tf',
            updatedDeps: [{ depName: 'aws' }],
            newPackageFileContent: '',
            config,
          })
        ).toBeNull();
      });
    
      it('returns null if .terraform.lock.hcl is empty', async () => {
        fs.readLocalFile.mockResolvedValueOnce('empty' as any);
    
        process.env.RENOVATE_X_TERRAFORM_LOCK_FILE = 'test';
    
        expect(
          await updateArtifacts({
            packageFileName: 'main.tf',
            updatedDeps: [{ depName: 'aws' }],
            newPackageFileContent: '',
            config,
          })
        ).toBeNull();
      });