diff --git a/lib/config/decrypt.spec.ts b/lib/config/decrypt.spec.ts index f0f604e60a3a18..c79072a5159fab 100644 --- a/lib/config/decrypt.spec.ts +++ b/lib/config/decrypt.spec.ts @@ -1,10 +1,9 @@ -import fs from 'fs'; -import { getName } from '../../test/util'; +import { getName, loadFixture } from '../../test/util'; import { setAdminConfig } from './admin'; import { decryptConfig } from './decrypt'; import type { RenovateConfig } from './types'; -const privateKey = fs.readFileSync('lib/config/keys/__fixtures__/private.pem'); +const privateKey = loadFixture(__filename, 'private.pem', 'keys'); describe(getName(__filename), () => { describe('decryptConfig()', () => { diff --git a/lib/config/presets/index.spec.ts b/lib/config/presets/index.spec.ts index 08acc21349fc43..38e7e4f982ad51 100644 --- a/lib/config/presets/index.spec.ts +++ b/lib/config/presets/index.spec.ts @@ -1,6 +1,5 @@ -import { getName, mocked } from '../../../test/util'; +import { getName, loadJsonFixture, mocked } from '../../../test/util'; import type { RenovateConfig } from '../types'; -import presetIkatyang from './__fixtures__/renovate-config-ikatyang.json'; import * as _local from './local'; import * as _npm from './npm'; import { @@ -17,6 +16,11 @@ jest.mock('./local'); const npm = mocked(_npm); const local = mocked(_local); +const presetIkatyang = loadJsonFixture( + __filename, + 'renovate-config-ikatyang.json' +); + npm.getPreset = jest.fn(({ packageName, presetName }) => { if (packageName === 'renovate-config-ikatyang') { return presetIkatyang.versions[presetIkatyang['dist-tags'].latest][ diff --git a/lib/datasource/cdnjs/index.spec.ts b/lib/datasource/cdnjs/index.spec.ts index 8535027de59767..6e6165ee1f647d 100644 --- a/lib/datasource/cdnjs/index.spec.ts +++ b/lib/datasource/cdnjs/index.spec.ts @@ -1,21 +1,11 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { EXTERNAL_HOST_ERROR } from '../../constants/error-messages'; import { id as datasource } from '.'; -let res1 = fs.readFileSync( - 'lib/datasource/cdnjs/__fixtures__/d3-force.json', - 'utf8' -); -res1 = JSON.parse(res1); - -let res2 = fs.readFileSync( - 'lib/datasource/cdnjs/__fixtures__/bulma.json', - 'utf8' -); -res2 = JSON.parse(res2); +const res1 = loadFixture(__filename, 'd3-force.json'); +const res2 = loadFixture(__filename, 'bulma.json'); const baseUrl = 'https://api.cdnjs.com/'; diff --git a/lib/datasource/crate/index.spec.ts b/lib/datasource/crate/index.spec.ts index dd8e79fdefb2cb..8bcf8fe19c08b0 100644 --- a/lib/datasource/crate/index.spec.ts +++ b/lib/datasource/crate/index.spec.ts @@ -5,7 +5,7 @@ import { DirectoryResult, dir } from 'tmp-promise'; import { dirname, join } from 'upath'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { setAdminConfig } from '../../config/admin'; import * as memCache from '../../util/cache/memory'; import { setFsConfig } from '../../util/fs'; @@ -20,12 +20,9 @@ import { jest.mock('simple-git'); const simpleGit: any = _simpleGit; -const res1 = fs.readFileSync('lib/datasource/crate/__fixtures__/libc', 'utf8'); -const res2 = fs.readFileSync( - 'lib/datasource/crate/__fixtures__/amethyst', - 'utf8' -); -const res3 = fs.readFileSync('lib/datasource/crate/__fixtures__/mypkg', 'utf8'); +const res1 = loadFixture(__filename, 'libc'); +const res2 = loadFixture(__filename, 'amethyst'); +const res3 = loadFixture(__filename, 'mypkg'); const baseUrl = 'https://raw.githubusercontent.com/rust-lang/crates.io-index/master/'; diff --git a/lib/datasource/dart/index.spec.ts b/lib/datasource/dart/index.spec.ts index 5228b332bf5ca1..abc986a028b1bc 100644 --- a/lib/datasource/dart/index.spec.ts +++ b/lib/datasource/dart/index.spec.ts @@ -1,15 +1,9 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadJsonFixture } from '../../../test/util'; import { id as datasource } from '.'; -const body: any = JSON.parse( - fs.readFileSync( - 'lib/datasource/dart/__fixtures__/shared_preferences.json', - 'utf8' - ) -); +const body = loadJsonFixture(__filename, 'shared_preferences.json'); const baseUrl = 'https://pub.dartlang.org/api/packages/'; diff --git a/lib/datasource/galaxy-collection/index.spec.ts b/lib/datasource/galaxy-collection/index.spec.ts index b7583d605de991..32acd8d69a10a1 100644 --- a/lib/datasource/galaxy-collection/index.spec.ts +++ b/lib/datasource/galaxy-collection/index.spec.ts @@ -1,29 +1,28 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource } from '.'; -const communityKubernetesBase = fs.readFileSync( - 'lib/datasource/galaxy-collection/__fixtures__/community_kubernetes_base.json', - 'utf8' +const communityKubernetesBase = loadFixture( + __filename, + 'community_kubernetes_base.json' ); -const communityKubernetesVersions = fs.readFileSync( - 'lib/datasource/galaxy-collection/__fixtures__/community_kubernetes_versions.json', - 'utf8' +const communityKubernetesVersions = loadFixture( + __filename, + 'community_kubernetes_versions.json' ); -const communityKubernetesDetails121 = fs.readFileSync( - 'lib/datasource/galaxy-collection/__fixtures__/community_kubernetes_version_details_1.2.1.json', - 'utf8' +const communityKubernetesDetails121 = loadFixture( + __filename, + 'community_kubernetes_version_details_1.2.1.json' ); -const communityKubernetesDetails120 = fs.readFileSync( - 'lib/datasource/galaxy-collection/__fixtures__/community_kubernetes_version_details_1.2.0.json', - 'utf8' +const communityKubernetesDetails120 = loadFixture( + __filename, + 'community_kubernetes_version_details_1.2.0.json' ); -const communityKubernetesDetails0111 = fs.readFileSync( - 'lib/datasource/galaxy-collection/__fixtures__/community_kubernetes_version_details_0.11.1.json', - 'utf8' +const communityKubernetesDetails0111 = loadFixture( + __filename, + 'community_kubernetes_version_details_0.11.1.json' ); const baseUrl = 'https://galaxy.ansible.com'; diff --git a/lib/datasource/galaxy/index.spec.ts b/lib/datasource/galaxy/index.spec.ts index 6fb54511189fad..4786daa7281fa5 100644 --- a/lib/datasource/galaxy/index.spec.ts +++ b/lib/datasource/galaxy/index.spec.ts @@ -1,18 +1,11 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource } from '.'; -const res1 = fs.readFileSync( - 'lib/datasource/galaxy/__fixtures__/timezone', - 'utf8' -); -const empty = fs.readFileSync( - 'lib/datasource/galaxy/__fixtures__/empty', - 'utf8' -); +const res1 = loadFixture(__filename, 'timezone'); +const empty = loadFixture(__filename, 'empty'); const baseUrl = 'https://galaxy.ansible.com/'; diff --git a/lib/datasource/git-refs/index.spec.ts b/lib/datasource/git-refs/index.spec.ts index c60b8eb241bbe2..5e0dc5c31faac9 100644 --- a/lib/datasource/git-refs/index.spec.ts +++ b/lib/datasource/git-refs/index.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs-extra'; import _simpleGit from 'simple-git'; import { getPkgReleases } from '..'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource, getDigest } from '.'; jest.mock('simple-git'); @@ -9,10 +8,7 @@ const simpleGit: any = _simpleGit; const depName = 'https://github.com/example/example.git'; -const lsRemote1 = fs.readFileSync( - 'lib/datasource/git-refs/__fixtures__/ls-remote-1.txt', - 'utf8' -); +const lsRemote1 = loadFixture(__filename, 'ls-remote-1.txt'); describe(getName(__filename), () => { describe('getReleases', () => { diff --git a/lib/datasource/git-tags/index.spec.ts b/lib/datasource/git-tags/index.spec.ts index c449c78d429562..d1309fa51d89c8 100644 --- a/lib/datasource/git-tags/index.spec.ts +++ b/lib/datasource/git-tags/index.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs-extra'; import _simpleGit from 'simple-git'; import { getPkgReleases } from '..'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource, getDigest } from '.'; jest.mock('simple-git'); @@ -9,10 +8,7 @@ const simpleGit: any = _simpleGit; const depName = 'https://github.com/example/example.git'; -const lsRemote1 = fs.readFileSync( - 'lib/datasource/git-refs/__fixtures__/ls-remote-1.txt', - 'utf8' -); +const lsRemote1 = loadFixture(__filename, 'ls-remote-1.txt', '../git-refs'); describe(getName(__filename), () => { describe('getReleases', () => { diff --git a/lib/datasource/gradle-version/index.spec.ts b/lib/datasource/gradle-version/index.spec.ts index fc9ac0b290a3f8..dd527dc0e1396f 100644 --- a/lib/datasource/gradle-version/index.spec.ts +++ b/lib/datasource/gradle-version/index.spec.ts @@ -1,14 +1,11 @@ -import fs from 'fs'; import { GetPkgReleasesConfig, GetReleasesConfig, getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName, partial } from '../../../test/util'; +import { getName, loadJsonFixture, partial } from '../../../test/util'; import { ExternalHostError } from '../../types/errors/external-host-error'; import { id as versioning } from '../../versioning/gradle'; import { id as datasource, getReleases } from '.'; -const allResponse: any = fs.readFileSync( - 'lib/datasource/gradle-version/__fixtures__/all.json' -); +const allResponse: any = loadJsonFixture(__filename, 'all.json'); let config: GetPkgReleasesConfig; @@ -32,7 +29,7 @@ describe(getName(__filename), () => { httpMock .scope('https://services.gradle.org/') .get('/versions/all') - .reply(200, JSON.parse(allResponse)); + .reply(200, allResponse); const res = await getPkgReleases(config); expect(res).toMatchSnapshot(); expect(res).not.toBeNull(); @@ -44,10 +41,7 @@ describe(getName(__filename), () => { }); it('calls configured registryUrls', async () => { - httpMock - .scope('https://foo.bar') - .get('/') - .reply(200, JSON.parse(allResponse)); + httpMock.scope('https://foo.bar').get('/').reply(200, allResponse); httpMock .scope('http://baz.qux') diff --git a/lib/datasource/helm/index.spec.ts b/lib/datasource/helm/index.spec.ts index 5e572990251bee..37e9a119201c45 100644 --- a/lib/datasource/helm/index.spec.ts +++ b/lib/datasource/helm/index.spec.ts @@ -1,14 +1,10 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource } from '.'; // Truncated index.yaml file -const indexYaml = fs.readFileSync( - 'lib/datasource/helm/__fixtures__/index.yaml', - 'utf8' -); +const indexYaml = loadFixture(__filename, 'index.yaml'); describe(getName(__filename), () => { describe('getReleases', () => { diff --git a/lib/datasource/hex/index.spec.ts b/lib/datasource/hex/index.spec.ts index 44f72778b8f92d..4357cf966fe18c 100644 --- a/lib/datasource/hex/index.spec.ts +++ b/lib/datasource/hex/index.spec.ts @@ -1,18 +1,13 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadJsonFixture } from '../../../test/util'; import { EXTERNAL_HOST_ERROR } from '../../constants/error-messages'; import * as _hostRules from '../../util/host-rules'; import { id as datasource } from '.'; const hostRules: any = _hostRules; -let res1 = fs.readFileSync( - 'lib/datasource/hex/__fixtures__/certifi.json', - 'utf8' -); -res1 = JSON.parse(res1); +const res1 = loadJsonFixture(__filename, 'certifi.json'); jest.mock('../../util/host-rules'); diff --git a/lib/datasource/jenkins-plugins/index.spec.ts b/lib/datasource/jenkins-plugins/index.spec.ts index 8de09d668839ad..3943760e88860d 100644 --- a/lib/datasource/jenkins-plugins/index.spec.ts +++ b/lib/datasource/jenkins-plugins/index.spec.ts @@ -1,12 +1,19 @@ import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadJsonFixture } from '../../../test/util'; import * as versioning from '../../versioning/docker'; -import jenkinsPluginsVersions from './__fixtures__/plugin-versions.json'; -import jenkinsPluginsInfo from './__fixtures__/update-center.actual.json'; import { resetCache } from './get'; import * as jenkins from '.'; +const jenkinsPluginsVersions = loadJsonFixture( + __filename, + 'plugin-versions.json' +); +const jenkinsPluginsInfo = loadJsonFixture( + __filename, + 'update-center.actual.json' +); + describe(getName(__filename), () => { describe('getReleases', () => { const SKIP_CACHE = process.env.RENOVATE_SKIP_CACHE; diff --git a/lib/datasource/maven/index.spec.ts b/lib/datasource/maven/index.spec.ts index 9eb446dbf8816e..9a411bb8e26bad 100644 --- a/lib/datasource/maven/index.spec.ts +++ b/lib/datasource/maven/index.spec.ts @@ -1,8 +1,6 @@ -import fs from 'fs'; import nock from 'nock'; -import { resolve } from 'upath'; import { Release, getPkgReleases } from '..'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { EXTERNAL_HOST_ERROR } from '../../constants/error-messages'; import * as hostRules from '../../util/host-rules'; import * as mavenVersioning from '../../versioning/maven'; @@ -10,20 +8,14 @@ import { id as datasource } from '.'; const MYSQL_VERSIONS = ['6.0.5', '6.0.6', '8.0.7', '8.0.8', '8.0.9']; -const MYSQL_MAVEN_METADATA = fs.readFileSync( - resolve( - __dirname, - './__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml' - ), - 'utf8' +const MYSQL_MAVEN_METADATA = loadFixture( + __filename, + 'repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml' ); -const MYSQL_MAVEN_MYSQL_POM = fs.readFileSync( - resolve( - __dirname, - './__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom' - ), - 'utf8' +const MYSQL_MAVEN_MYSQL_POM = loadFixture( + __filename, + 'repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom' ); const config = { diff --git a/lib/datasource/nuget/index.spec.ts b/lib/datasource/nuget/index.spec.ts index c8ecb5a1da68d8..777089b4ec3f87 100644 --- a/lib/datasource/nuget/index.spec.ts +++ b/lib/datasource/nuget/index.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import * as _hostRules from '../../util/host-rules'; import { id as versioning } from '../../versioning/nuget'; import { id as datasource, parseRegistryUrl } from '.'; @@ -10,81 +9,48 @@ const hostRules: any = _hostRules; jest.mock('../../util/host-rules'); -const pkgInfoV3FromNuget = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v3_nuget_org.xml', - 'utf8' -); -const pkgListV3Registration = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v3_registration.json', - 'utf8' +const pkgInfoV3FromNuget = loadFixture(__filename, 'nunit/v3_nuget_org.xml'); +const pkgListV3Registration = loadFixture( + __filename, + 'nunit/v3_registration.json' ); -const pkgListV2 = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v2.xml', - 'utf8' -); -const pkgListV2NoGitHubProjectUrl = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v2_noGitHubProjectUrl.xml', - 'utf8' -); -const pkgListV2NoRelease = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v2_no_release.xml', - 'utf8' +const pkgListV2 = loadFixture(__filename, 'nunit/v2.xml'); +const pkgListV2NoGitHubProjectUrl = loadFixture( + __filename, + 'nunit/v2_noGitHubProjectUrl.xml' ); -const pkgListV2WithoutProjectUrl = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v2_withoutProjectUrl.xml', - 'utf8' +const pkgListV2NoRelease = loadFixture(__filename, 'nunit/v2_no_release.xml'); +const pkgListV2WithoutProjectUrl = loadFixture( + __filename, + 'nunit/v2_withoutProjectUrl.xml' ); -const pkgListV2Page1of2 = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v2_paginated_1.xml', - 'utf8' -); -const pkgListV2Page2of2 = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nunit/v2_paginated_2.xml', - 'utf8' -); +const pkgListV2Page1of2 = loadFixture(__filename, 'nunit/v2_paginated_1.xml'); +const pkgListV2Page2of2 = loadFixture(__filename, 'nunit/v2_paginated_2.xml'); -const nugetIndexV3 = fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/v3_index.json', - 'utf8' -); +const nugetIndexV3 = loadFixture(__filename, 'v3_index.json'); const nlogMocks = [ { url: '/v3/registration5-gz-semver2/nlog/index.json', - result: fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nlog/v3_registration.json', - 'utf8' - ), + result: loadFixture(__filename, 'nlog/v3_registration.json'), }, { url: '/v3/registration5-gz-semver2/nlog/page/1.0.0.505/4.4.0-beta5.json', - result: fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nlog/v3_catalog_1.json', - 'utf8' - ), + result: loadFixture(__filename, 'nlog/v3_catalog_1.json'), }, { url: '/v3/registration5-gz-semver2/nlog/page/4.4.0-beta6/4.6.0-rc2.json', - result: fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nlog/v3_catalog_2.json', - 'utf8' - ), + result: loadFixture(__filename, 'nlog/v3_catalog_2.json'), }, { url: '/v3/registration5-gz-semver2/nlog/page/4.6.0-rc3/5.0.0-beta11.json', - result: fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nlog/v3_catalog_3.json', - 'utf8' - ), + result: loadFixture(__filename, 'nlog/v3_catalog_3.json'), }, { url: '/v3-flatcontainer/nlog/4.7.3/nlog.nuspec', - result: fs.readFileSync( - 'lib/datasource/nuget/__fixtures__/nlog/nuspec.xml', - 'utf8' - ), + result: loadFixture(__filename, 'nlog/nuspec.xml'), }, ]; diff --git a/lib/datasource/packagist/index.spec.ts b/lib/datasource/packagist/index.spec.ts index 33132089277815..556339f47b8b59 100644 --- a/lib/datasource/packagist/index.spec.ts +++ b/lib/datasource/packagist/index.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadJsonFixture } from '../../../test/util'; import * as _hostRules from '../../util/host-rules'; import * as composerVersioning from '../../versioning/composer'; import { id as versioning } from '../../versioning/loose'; @@ -11,15 +10,9 @@ jest.mock('../../util/host-rules'); const hostRules = _hostRules; -const includesJson: any = fs.readFileSync( - 'lib/datasource/packagist/__fixtures__/includes.json' -); -const beytJson: any = fs.readFileSync( - 'lib/datasource/packagist/__fixtures__/1beyt.json' -); -const mailchimpJson: any = fs.readFileSync( - 'lib/datasource/packagist/__fixtures__/mailchimp-api.json' -); +const includesJson: any = loadJsonFixture(__filename, 'includes.json'); +const beytJson: any = loadJsonFixture(__filename, '1beyt.json'); +const mailchimpJson: any = loadJsonFixture(__filename, 'mailchimp-api.json'); const baseUrl = 'https://packagist.org'; @@ -143,7 +136,7 @@ describe(getName(__filename), () => { .get('/packages.json') .reply(200, packagesJson) .get('/include/all$afbf74d51f31c7cbb5ff10304f9290bfb4f4e68b.json') - .reply(200, JSON.parse(includesJson)); + .reply(200, includesJson); const res = await getPkgReleases({ ...config, datasource, @@ -227,7 +220,7 @@ describe(getName(__filename), () => { .get( '/p/wpackagist-plugin/1beyt$b574a802b5bf20a58c0f027e73aea2a75d23a6f654afc298a8dc467331be316a.json' ) - .reply(200, JSON.parse(beytJson)); + .reply(200, beytJson); const res = await getPkgReleases({ ...config, datasource, @@ -269,10 +262,7 @@ describe(getName(__filename), () => { '/p/providers-2018-09$14346045d7a7261cb3a12a6b7a1a7c4151982530347b115e5e277d879cad1942.json' ) .reply(200, fileJson); - httpMock - .scope(baseUrl) - .get('/p/some/other.json') - .reply(200, JSON.parse(beytJson)); + httpMock.scope(baseUrl).get('/p/some/other.json').reply(200, beytJson); const res = await getPkgReleases({ ...config, datasource, @@ -304,7 +294,7 @@ describe(getName(__filename), () => { .get( '/p/wpackagist-plugin/1beyt$b574a802b5bf20a58c0f027e73aea2a75d23a6f654afc298a8dc467331be316a.json' ) - .reply(200, JSON.parse(beytJson)); + .reply(200, beytJson); const res = await getPkgReleases({ ...config, datasource, @@ -334,10 +324,7 @@ describe(getName(__filename), () => { .scope('https://composer.renovatebot.com') .get('/packages.json') .reply(200, packagesJson); - httpMock - .scope(baseUrl) - .get('/p/some/other.json') - .reply(200, JSON.parse(beytJson)); + httpMock.scope(baseUrl).get('/p/some/other.json').reply(200, beytJson); const res = await getPkgReleases({ ...config, datasource, @@ -351,7 +338,7 @@ describe(getName(__filename), () => { httpMock .scope(baseUrl) .get('/p/drewm/mailchimp-api.json') - .reply(200, JSON.parse(mailchimpJson)); + .reply(200, mailchimpJson); config.registryUrls = ['https://packagist.org']; expect( await getPkgReleases({ @@ -367,7 +354,7 @@ describe(getName(__filename), () => { httpMock .scope(baseUrl) .get('/p/drewm/mailchimp-api.json') - .reply(200, JSON.parse(mailchimpJson)); + .reply(200, mailchimpJson); config.registryUrls = []; expect( await getPkgReleases({ diff --git a/lib/datasource/pypi/index.spec.ts b/lib/datasource/pypi/index.spec.ts index 75c8c8efcc6b43..6a36bba660daa5 100644 --- a/lib/datasource/pypi/index.spec.ts +++ b/lib/datasource/pypi/index.spec.ts @@ -1,27 +1,20 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import * as hostRules from '../../util/host-rules'; import { id as datasource } from '.'; -const res1: any = fs.readFileSync( - 'lib/datasource/pypi/__fixtures__/azure-cli-monitor.json' +const res1: any = loadFixture(__filename, 'azure-cli-monitor.json'); +const res2: any = loadFixture(__filename, 'azure-cli-monitor-updated.json'); +const htmlResponse = loadFixture(__filename, 'versions-html.html'); +const badResponse = loadFixture(__filename, 'versions-html-badfile.html'); +const dataRequiresPythonResponse = loadFixture( + __filename, + 'versions-html-data-requires-python.html' ); -const res2: any = fs.readFileSync( - 'lib/datasource/pypi/__fixtures__/azure-cli-monitor-updated.json' -); -const htmlResponse = fs.readFileSync( - 'lib/datasource/pypi/__fixtures__/versions-html.html' -); -const badResponse = fs.readFileSync( - 'lib/datasource/pypi/__fixtures__/versions-html-badfile.html' -); -const dataRequiresPythonResponse = fs.readFileSync( - 'lib/datasource/pypi/__fixtures__/versions-html-data-requires-python.html' -); -const mixedHyphensResponse = fs.readFileSync( - 'lib/datasource/pypi/__fixtures__/versions-html-mixed-hyphens.html' +const mixedHyphensResponse = loadFixture( + __filename, + 'versions-html-mixed-hyphens.html' ); const baseUrl = 'https://pypi.org/pypi'; diff --git a/lib/datasource/repology/index.spec.ts b/lib/datasource/repology/index.spec.ts index 1079805e3a709c..9323908ac1642f 100644 --- a/lib/datasource/repology/index.spec.ts +++ b/lib/datasource/repology/index.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { EXTERNAL_HOST_ERROR } from '../../constants/error-messages'; import { id as versioning } from '../../versioning/loose'; import { RepologyPackage, id as datasource } from '.'; @@ -46,26 +45,11 @@ const mockResolverCall = ( } }; -const fixtureNginx = fs.readFileSync( - `${__dirname}/__fixtures__/nginx.json`, - 'utf8' -); -const fixtureGccDefaults = fs.readFileSync( - `${__dirname}/__fixtures__/gcc-defaults.json`, - 'utf8' -); -const fixtureGcc = fs.readFileSync( - `${__dirname}/__fixtures__/gcc.json`, - 'utf8' -); -const fixturePulseaudio = fs.readFileSync( - `${__dirname}/__fixtures__/pulseaudio.json`, - 'utf8' -); -const fixtureJdk = fs.readFileSync( - `${__dirname}/__fixtures__/openjdk.json`, - 'utf8' -); +const fixtureNginx = loadFixture(__filename, `nginx.json`); +const fixtureGccDefaults = loadFixture(__filename, `gcc-defaults.json`); +const fixtureGcc = loadFixture(__filename, `gcc.json`); +const fixturePulseaudio = loadFixture(__filename, `pulseaudio.json`); +const fixtureJdk = loadFixture(__filename, `openjdk.json`); describe(getName(__filename), () => { describe('getReleases', () => { diff --git a/lib/datasource/ruby-version/index.spec.ts b/lib/datasource/ruby-version/index.spec.ts index 759931897df364..2f95bcfa918996 100644 --- a/lib/datasource/ruby-version/index.spec.ts +++ b/lib/datasource/ruby-version/index.spec.ts @@ -1,13 +1,9 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource } from '.'; -const rubyReleasesHtml = fs.readFileSync( - 'lib/datasource/ruby-version/__fixtures__/releases.html', - 'utf8' -); +const rubyReleasesHtml = loadFixture(__filename, 'releases.html'); describe(getName(__filename), () => { describe('getReleases', () => { diff --git a/lib/datasource/rubygems/__fixtures__/rubygems-org.txt b/lib/datasource/rubygems/__fixtures__/rubygems-org.txt new file mode 100644 index 00000000000000..69564ff592b916 --- /dev/null +++ b/lib/datasource/rubygems/__fixtures__/rubygems-org.txt @@ -0,0 +1,18 @@ +created_at: 2017-03-27T04:38:13+00:00 +--- +- 1 05d0116933ba44b0b5d0ee19bfd35ccc +.cat 0.0.1 631fd60a806eaf5026c86fff3155c289 +0mq 0.1.0,0.1.1,0.1.2,0.2.0,0.2.1,0.3.0,0.4.0,0.4.1,0.5.0,0.5.1,0.5.2,0.5.3 6146193f8f7e944156b0b42ec37bad3e +0xffffff 0.0.1,0.1.0 0a4a9aeae24152cdb467be02f40482f9 +10to1-crack 0.1.1,0.1.2,0.1.3 e7218e76477e2137355d2e7ded094925 +1234567890_ 1.0,1.1 233e818c2db65d2dad9f9ea9a27b1a30 +12_hour_time 0.0.2,0.0.3,0.0.4 4e58bc03e301f704950410b713c20b69 +16watts-fluently 0.3.0,0.3.1 555088e2b18e97e0293cab1d90dbb0d2 +189seg 0.0.1 c4d329f7d3eb88b6e602358968be0242 +196demo 0.0.0 e00c558565f7b03a438fbd93d854b7de +1_as_identity_function 1.0.0,1.0.1 bee2f0fbbc3c5c83008c0b8fc64cb168 +1and1 1.1 1853e4495b036ddc5da2035523d48f0d +1hdoc 0.1.3,0.2.0,0.2.2,0.2.3,0.2.4 7076f29c196df12047a3700c4d6e5915 +1pass 0.1.0,0.1.1,0.1.2 d209547aae4b8f3d67123f18f738ac99 +1pass -0.1.2 abcdef +21-day-challenge-countdown 0.1.0,0.1.1,0.1.2 57e8873fe713063f4e54e85bbbd709bb diff --git a/lib/datasource/rubygems/index.spec.ts b/lib/datasource/rubygems/index.spec.ts index 29c849d9f289c3..92df66b559aba3 100644 --- a/lib/datasource/rubygems/index.spec.ts +++ b/lib/datasource/rubygems/index.spec.ts @@ -1,30 +1,13 @@ import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture, loadJsonFixture } from '../../../test/util'; import * as rubyVersioning from '../../versioning/ruby'; -import railsInfo from './__fixtures__/rails/info.json'; -import railsVersions from './__fixtures__/rails/versions.json'; import { resetCache } from './get-rubygems-org'; import * as rubygems from '.'; -const rubygemsOrgVersions = `created_at: 2017-03-27T04:38:13+00:00 ---- -- 1 05d0116933ba44b0b5d0ee19bfd35ccc -.cat 0.0.1 631fd60a806eaf5026c86fff3155c289 -0mq 0.1.0,0.1.1,0.1.2,0.2.0,0.2.1,0.3.0,0.4.0,0.4.1,0.5.0,0.5.1,0.5.2,0.5.3 6146193f8f7e944156b0b42ec37bad3e -0xffffff 0.0.1,0.1.0 0a4a9aeae24152cdb467be02f40482f9 -10to1-crack 0.1.1,0.1.2,0.1.3 e7218e76477e2137355d2e7ded094925 -1234567890_ 1.0,1.1 233e818c2db65d2dad9f9ea9a27b1a30 -12_hour_time 0.0.2,0.0.3,0.0.4 4e58bc03e301f704950410b713c20b69 -16watts-fluently 0.3.0,0.3.1 555088e2b18e97e0293cab1d90dbb0d2 -189seg 0.0.1 c4d329f7d3eb88b6e602358968be0242 -196demo 0.0.0 e00c558565f7b03a438fbd93d854b7de -1_as_identity_function 1.0.0,1.0.1 bee2f0fbbc3c5c83008c0b8fc64cb168 -1and1 1.1 1853e4495b036ddc5da2035523d48f0d -1hdoc 0.1.3,0.2.0,0.2.2,0.2.3,0.2.4 7076f29c196df12047a3700c4d6e5915 -1pass 0.1.0,0.1.1,0.1.2 d209547aae4b8f3d67123f18f738ac99 -1pass -0.1.2 abcdef -21-day-challenge-countdown 0.1.0,0.1.1,0.1.2 57e8873fe713063f4e54e85bbbd709bb`; +const rubygemsOrgVersions = loadFixture(__filename, 'rubygems-org.txt'); +const railsInfo = loadJsonFixture(__filename, 'rails/info.json'); +const railsVersions = loadJsonFixture(__filename, 'rails/versions.json'); describe(getName(__filename), () => { describe('getReleases', () => { diff --git a/lib/datasource/sbt-package/index.spec.ts b/lib/datasource/sbt-package/index.spec.ts index ba30b93ad56bfd..2616a41293cae8 100644 --- a/lib/datasource/sbt-package/index.spec.ts +++ b/lib/datasource/sbt-package/index.spec.ts @@ -1,22 +1,13 @@ -import fs from 'fs'; import nock from 'nock'; -import upath from 'upath'; import { getPkgReleases } from '..'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import * as mavenVersioning from '../../versioning/maven'; import { MAVEN_REPO } from '../maven/common'; import { parseIndexDir } from '../sbt-plugin/util'; import * as sbtPlugin from '.'; -const mavenIndexHtml = fs.readFileSync( - upath.resolve(__dirname, `./__fixtures__/maven-index.html`), - 'utf8' -); - -const sbtPluginIndex = fs.readFileSync( - upath.resolve(__dirname, `./__fixtures__/sbt-plugins-index.html`), - 'utf8' -); +const mavenIndexHtml = loadFixture(__filename, `maven-index.html`); +const sbtPluginIndex = loadFixture(__filename, `sbt-plugins-index.html`); describe(getName(__filename), () => { it('parses Maven index directory', () => { diff --git a/lib/datasource/sbt-plugin/index.spec.ts b/lib/datasource/sbt-plugin/index.spec.ts index ab8cd3e9f7cc07..b8228ab50091c8 100644 --- a/lib/datasource/sbt-plugin/index.spec.ts +++ b/lib/datasource/sbt-plugin/index.spec.ts @@ -1,22 +1,13 @@ -import fs from 'fs'; import nock from 'nock'; -import upath from 'upath'; import { getPkgReleases } from '..'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import * as mavenVersioning from '../../versioning/maven'; import { MAVEN_REPO } from '../maven/common'; import { parseIndexDir } from './util'; import * as sbtPlugin from '.'; -const mavenIndexHtml = fs.readFileSync( - upath.resolve(__dirname, `./__fixtures__/maven-index.html`), - 'utf8' -); - -const sbtPluginIndex = fs.readFileSync( - upath.resolve(__dirname, `./__fixtures__/sbt-plugins-index.html`), - 'utf8' -); +const mavenIndexHtml = loadFixture(__filename, `maven-index.html`); +const sbtPluginIndex = loadFixture(__filename, `sbt-plugins-index.html`); describe(getName(__filename), () => { it('parses Maven index directory', () => { diff --git a/lib/datasource/terraform-module/index.spec.ts b/lib/datasource/terraform-module/index.spec.ts index d7d1d0b7abac6d..2d08c2dd29677e 100644 --- a/lib/datasource/terraform-module/index.spec.ts +++ b/lib/datasource/terraform-module/index.spec.ts @@ -1,17 +1,16 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource } from '.'; -const consulData: any = fs.readFileSync( - 'lib/datasource/terraform-module/__fixtures__/registry-consul.json' +const consulData: any = loadFixture(__filename, 'registry-consul.json'); +const serviceDiscoveryResult: any = loadFixture( + __filename, + 'service-discovery.json' ); -const serviceDiscoveryResult: any = fs.readFileSync( - 'lib/datasource/terraform-module/__fixtures__/service-discovery.json' -); -const serviceDiscoveryCustomResult: any = fs.readFileSync( - 'lib/datasource/terraform-module/__fixtures__/service-custom-discovery.json' +const serviceDiscoveryCustomResult: any = loadFixture( + __filename, + 'service-custom-discovery.json' ); const baseUrl = 'https://registry.terraform.io'; diff --git a/lib/datasource/terraform-provider/index.spec.ts b/lib/datasource/terraform-provider/index.spec.ts index c7725e2c744573..44dfa44b294f2e 100644 --- a/lib/datasource/terraform-provider/index.spec.ts +++ b/lib/datasource/terraform-provider/index.spec.ts @@ -1,17 +1,16 @@ -import fs from 'fs'; import { getPkgReleases } from '..'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as datasource, defaultRegistryUrls } from '.'; -const consulData: any = fs.readFileSync( - 'lib/datasource/terraform-provider/__fixtures__/azurerm-provider.json' +const consulData: any = loadFixture(__filename, 'azurerm-provider.json'); +const hashicorpReleases: any = loadFixture( + __filename, + 'releaseBackendIndex.json' ); -const hashicorpReleases: any = fs.readFileSync( - 'lib/datasource/terraform-provider/__fixtures__/releaseBackendIndex.json' -); -const serviceDiscoveryResult: any = fs.readFileSync( - 'lib/datasource/terraform-module/__fixtures__/service-discovery.json' +const serviceDiscoveryResult: any = loadFixture( + __filename, + 'service-discovery.json' ); const primaryUrl = defaultRegistryUrls[0]; diff --git a/lib/manager/ansible-galaxy/extract.spec.ts b/lib/manager/ansible-galaxy/extract.spec.ts index b4f68b6f10abc8..dd3593801e3754 100644 --- a/lib/manager/ansible-galaxy/extract.spec.ts +++ b/lib/manager/ansible-galaxy/extract.spec.ts @@ -1,31 +1,12 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import extractPackageFile, { getSliceEndNumber } from './extract'; -const yamlFile1 = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/requirements01.yml', - 'utf8' -); -const yamlFile2 = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/requirements02.yml', - 'utf8' -); -const helmRequirements = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/helmRequirements.yml', - 'utf8' -); -const collections1 = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/collections1.yml', - 'utf8' -); -const collections2 = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/collections2.yml', - 'utf8' -); -const galaxy = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/galaxy.yml', - 'utf8' -); +const yamlFile1 = loadFixture(__filename, 'requirements01.yml'); +const yamlFile2 = loadFixture(__filename, 'requirements02.yml'); +const helmRequirements = loadFixture(__filename, 'helmRequirements.yml'); +const collections1 = loadFixture(__filename, 'collections1.yml'); +const collections2 = loadFixture(__filename, 'collections2.yml'); +const galaxy = loadFixture(__filename, 'galaxy.yml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/ansible/extract.spec.ts b/lib/manager/ansible/extract.spec.ts index 8b96d583d5fe98..3e068cf4062230 100644 --- a/lib/manager/ansible/extract.spec.ts +++ b/lib/manager/ansible/extract.spec.ts @@ -1,15 +1,8 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import extractPackageFile from './extract'; -const yamlFile1 = readFileSync( - 'lib/manager/ansible/__fixtures__/main1.yaml', - 'utf8' -); -const yamlFile2 = readFileSync( - 'lib/manager/ansible/__fixtures__/main2.yaml', - 'utf8' -); +const yamlFile1 = loadFixture(__filename, 'main1.yaml'); +const yamlFile2 = loadFixture(__filename, 'main2.yaml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/azure-pipelines/extract.spec.ts b/lib/manager/azure-pipelines/extract.spec.ts index 5ac96ae7ecf416..72dd4fcfad25d8 100644 --- a/lib/manager/azure-pipelines/extract.spec.ts +++ b/lib/manager/azure-pipelines/extract.spec.ts @@ -1,5 +1,4 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractContainer, extractPackageFile, @@ -7,19 +6,16 @@ import { parseAzurePipelines, } from './extract'; -const azurePipelines = readFileSync( - 'lib/manager/azure-pipelines/__fixtures__/azure-pipelines.yaml', - 'utf8' -); +const azurePipelines = loadFixture(__filename, 'azure-pipelines.yaml'); -const azurePipelinesInvalid = readFileSync( - 'lib/manager/azure-pipelines/__fixtures__/azure-pipelines-invalid.yaml', - 'utf8' +const azurePipelinesInvalid = loadFixture( + __filename, + 'azure-pipelines-invalid.yaml' ); -const azurePipelinesNoDependency = readFileSync( - 'lib/manager/azure-pipelines/__fixtures__/azure-pipelines-no-dependency.yaml', - 'utf8' +const azurePipelinesNoDependency = loadFixture( + __filename, + 'azure-pipelines-no-dependency.yaml' ); describe(getName(__filename), () => { diff --git a/lib/manager/batect-wrapper/extract.spec.ts b/lib/manager/batect-wrapper/extract.spec.ts index fe854eb3692511..06393f3cd2f7e5 100644 --- a/lib/manager/batect-wrapper/extract.spec.ts +++ b/lib/manager/batect-wrapper/extract.spec.ts @@ -1,19 +1,11 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { id as githubReleaseDatasource } from '../../datasource/github-releases'; import { id as semverVersioning } from '../../versioning/semver'; import type { PackageDependency } from '../types'; import { extractPackageFile } from './extract'; -const validWrapperContent = readFileSync( - 'lib/manager/batect-wrapper/__fixtures__/valid-wrapper', - 'utf8' -); - -const malformedWrapperContent = readFileSync( - 'lib/manager/batect-wrapper/__fixtures__/malformed-wrapper', - 'utf8' -); +const validWrapperContent = loadFixture(__filename, 'valid-wrapper'); +const malformedWrapperContent = loadFixture(__filename, 'malformed-wrapper'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/bazel/extract.spec.ts b/lib/manager/bazel/extract.spec.ts index 23523f8359ca0f..be6a208c17bbfd 100644 --- a/lib/manager/bazel/extract.spec.ts +++ b/lib/manager/bazel/extract.spec.ts @@ -1,26 +1,10 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const workspaceFile = readFileSync( - 'lib/manager/bazel/__fixtures__/WORKSPACE1', - 'utf8' -); - -const workspace2File = readFileSync( - 'lib/manager/bazel/__fixtures__/WORKSPACE2', - 'utf8' -); - -const workspace3File = readFileSync( - 'lib/manager/bazel/__fixtures__/WORKSPACE3', - 'utf8' -); - -const fileWithBzlExtension = readFileSync( - 'lib/manager/bazel/__fixtures__/repositories.bzl', - 'utf8' -); +const workspaceFile = loadFixture(__filename, 'WORKSPACE1'); +const workspace2File = loadFixture(__filename, 'WORKSPACE2'); +const workspace3File = loadFixture(__filename, 'WORKSPACE3'); +const fileWithBzlExtension = loadFixture(__filename, 'repositories.bzl'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/bazel/update.spec.ts b/lib/manager/bazel/update.spec.ts index 41d5fadef24fb0..db2b6bc82a6009 100644 --- a/lib/manager/bazel/update.spec.ts +++ b/lib/manager/bazel/update.spec.ts @@ -1,25 +1,12 @@ -import { readFileSync } from 'fs'; import { Readable } from 'stream'; -import { resolve } from 'upath'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import type { UpdateType } from '../../config/types'; import { updateDependency } from './update'; -const content = readFileSync( - resolve('lib/manager/bazel/__fixtures__/WORKSPACE1'), - 'utf8' -); - -const contentContainerPull = readFileSync( - resolve('lib/manager/bazel/__fixtures__/container_pull'), - 'utf8' -); - -const fileWithBzlExtension = readFileSync( - 'lib/manager/bazel/__fixtures__/repositories.bzl', - 'utf8' -); +const content = loadFixture(__filename, 'WORKSPACE1'); +const contentContainerPull = loadFixture(__filename, 'container_pull'); +const fileWithBzlExtension = loadFixture(__filename, 'repositories.bzl'); /* git_repository( diff --git a/lib/manager/buildkite/extract.spec.ts b/lib/manager/buildkite/extract.spec.ts index 3d9704d1733425..911da7d3c9bf3a 100644 --- a/lib/manager/buildkite/extract.spec.ts +++ b/lib/manager/buildkite/extract.spec.ts @@ -1,23 +1,10 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const pipeline1 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline1.yml', - 'utf8' -); -const pipeline2 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline2.yml', - 'utf8' -); -const pipeline3 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline3.yml', - 'utf8' -); -const pipeline4 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline4.yml', - 'utf8' -); +const pipeline1 = loadFixture(__filename, 'pipeline1.yml'); +const pipeline2 = loadFixture(__filename, 'pipeline2.yml'); +const pipeline3 = loadFixture(__filename, 'pipeline3.yml'); +const pipeline4 = loadFixture(__filename, 'pipeline4.yml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/bundler/extract.spec.ts b/lib/manager/bundler/extract.spec.ts index a70326a8cf8503..baefc8e48a5df9 100644 --- a/lib/manager/bundler/extract.spec.ts +++ b/lib/manager/bundler/extract.spec.ts @@ -1,67 +1,33 @@ -import { readFileSync } from 'fs'; -import { fs, getName } from '../../../test/util'; +import { fs, getName, loadFixture } from '../../../test/util'; import { isValid } from '../../versioning/ruby'; import { extractPackageFile } from './extract'; jest.mock('../../util/fs'); -const railsGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rails', - 'utf8' -); -const railsGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rails.lock', - 'utf8' -); +const railsGemfile = loadFixture(__filename, 'Gemfile.rails'); +const railsGemfileLock = loadFixture(__filename, 'Gemfile.rails.lock'); -const sourceGroupGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.sourceGroup', - 'utf8' -); -const webPackerGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.webpacker', - 'utf8' -); -const webPackerGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.webpacker.lock', - 'utf8' -); -const mastodonGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.mastodon', - 'utf8' -); -const mastodonGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.mastodon.lock', - 'utf8' -); -const rubyCIGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rubyci.lock', - 'utf8' -); +const sourceGroupGemfile = loadFixture(__filename, 'Gemfile.sourceGroup'); +const webPackerGemfile = loadFixture(__filename, 'Gemfile.webpacker'); +const webPackerGemfileLock = loadFixture(__filename, 'Gemfile.webpacker.lock'); +const mastodonGemfile = loadFixture(__filename, 'Gemfile.mastodon'); +const mastodonGemfileLock = loadFixture(__filename, 'Gemfile.mastodon.lock'); +const rubyCIGemfileLock = loadFixture(__filename, 'Gemfile.rubyci.lock'); -const rubyCIGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rubyci', - 'utf8' -); -const gitlabFossGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss.lock', - 'utf8' -); -const gitlabFossGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss', - 'utf8' -); -const sourceBlockGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.sourceBlock', - 'utf8' +const rubyCIGemfile = loadFixture(__filename, 'Gemfile.rubyci'); +const gitlabFossGemfileLock = loadFixture( + __filename, + 'Gemfile.gitlab-foss.lock' ); -const sourceBlockWithNewLinesGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines.lock', - 'utf8' +const gitlabFossGemfile = loadFixture(__filename, 'Gemfile.gitlab-foss'); +const sourceBlockGemfile = loadFixture(__filename, 'Gemfile.sourceBlock'); +const sourceBlockWithNewLinesGemfileLock = loadFixture( + __filename, + 'Gemfile.sourceBlockWithNewLines.lock' ); -const sourceBlockWithNewLinesGemfile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines', - 'utf8' +const sourceBlockWithNewLinesGemfile = loadFixture( + __filename, + 'Gemfile.sourceBlockWithNewLines' ); function validateGems(raw, parsed) { diff --git a/lib/manager/bundler/gemfile.spec.ts b/lib/manager/bundler/gemfile.spec.ts index cee947b8a84b7f..a066c10e2f6017 100644 --- a/lib/manager/bundler/gemfile.spec.ts +++ b/lib/manager/bundler/gemfile.spec.ts @@ -1,10 +1,8 @@ -import { readFileSync } from 'fs'; +import { loadFixture } from '../../../test/util'; import { extractLockFileEntries } from './locked-version'; -const gemLockFile = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rails.lock', - 'utf8' -); +const gemLockFile = loadFixture(__filename, 'Gemfile.rails.lock'); + describe('extract lib/manager/bundler/gemfile.rails.lock', () => { it('matches the expected output', () => { expect(extractLockFileEntries(gemLockFile)).toMatchSnapshot(); diff --git a/lib/manager/bundler/locked-version.spec.ts b/lib/manager/bundler/locked-version.spec.ts index 6670a10aa49115..6401691b7bb25f 100644 --- a/lib/manager/bundler/locked-version.spec.ts +++ b/lib/manager/bundler/locked-version.spec.ts @@ -1,26 +1,15 @@ -import { readFileSync } from 'fs'; +import { loadFixture } from '../../../test/util'; import { extractLockFileEntries } from './locked-version'; -const railsGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rails.lock', - 'utf8' -); -const webPackerGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.webpacker.lock', - 'utf8' -); -const mastodonGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.mastodon.lock', - 'utf8' -); -const rubyCIGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.rubyci.lock', - 'utf8' -); -const gitlabFossGemfileLock = readFileSync( - 'lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss.lock', - 'utf8' +const railsGemfileLock = loadFixture(__filename, 'Gemfile.rails.lock'); +const webPackerGemfileLock = loadFixture(__filename, 'Gemfile.webpacker.lock'); +const mastodonGemfileLock = loadFixture(__filename, 'Gemfile.mastodon.lock'); +const rubyCIGemfileLock = loadFixture(__filename, 'Gemfile.rubyci.lock'); +const gitlabFossGemfileLock = loadFixture( + __filename, + 'Gemfile.gitlab-foss.lock' ); + describe('/lib/manager/bundler/locked-version', () => { test('Parse Rails Gem Lock File', () => { const parsedLockEntries = extractLockFileEntries(railsGemfileLock); diff --git a/lib/manager/cake/index.spec.ts b/lib/manager/cake/index.spec.ts index c354776c5e0c94..eae570413174cd 100644 --- a/lib/manager/cake/index.spec.ts +++ b/lib/manager/cake/index.spec.ts @@ -1,11 +1,7 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from '.'; -const content = readFileSync( - 'lib/manager/cake/__fixtures__/build.cake', - 'utf8' -); +const content = loadFixture(__filename, 'build.cake'); describe(getName(__filename), () => { it('extracts', () => { diff --git a/lib/manager/cargo/extract.spec.ts b/lib/manager/cargo/extract.spec.ts index cfaf0d624c9d33..761785d8031a7f 100644 --- a/lib/manager/cargo/extract.spec.ts +++ b/lib/manager/cargo/extract.spec.ts @@ -1,39 +1,16 @@ -import { readFileSync } from 'fs'; import { dir } from 'tmp-promise'; import { join } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { setFsConfig, writeLocalFile } from '../../util/fs'; import { extractPackageFile } from './extract'; -const cargo1toml = readFileSync( - 'lib/manager/cargo/__fixtures__/Cargo.1.toml', - 'utf8' -); -const cargo2toml = readFileSync( - 'lib/manager/cargo/__fixtures__/Cargo.2.toml', - 'utf8' -); -const cargo3toml = readFileSync( - 'lib/manager/cargo/__fixtures__/Cargo.3.toml', - 'utf8' -); -const cargo4toml = readFileSync( - 'lib/manager/cargo/__fixtures__/Cargo.4.toml', - 'utf8' -); -const cargo5toml = readFileSync( - 'lib/manager/cargo/__fixtures__/Cargo.5.toml', - 'utf8' -); - -const cargo6configtoml = readFileSync( - 'lib/manager/cargo/__fixtures__/cargo.6.config.toml', - 'utf8' -); -const cargo6toml = readFileSync( - 'lib/manager/cargo/__fixtures__/Cargo.6.toml', - 'utf8' -); +const cargo1toml = loadFixture(__filename, 'Cargo.1.toml'); +const cargo2toml = loadFixture(__filename, 'Cargo.2.toml'); +const cargo3toml = loadFixture(__filename, 'Cargo.3.toml'); +const cargo4toml = loadFixture(__filename, 'Cargo.4.toml'); +const cargo5toml = loadFixture(__filename, 'Cargo.5.toml'); +const cargo6configtoml = loadFixture(__filename, 'cargo.6.config.toml'); +const cargo6toml = loadFixture(__filename, 'Cargo.6.toml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/cdnurl/extract.spec.ts b/lib/manager/cdnurl/extract.spec.ts index 0a01f316df7612..7d03a1539fed13 100644 --- a/lib/manager/cdnurl/extract.spec.ts +++ b/lib/manager/cdnurl/extract.spec.ts @@ -1,12 +1,7 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from '.'; -const input = readFileSync( - resolve(__dirname, `./__fixtures__/sample.txt`), - 'utf8' -); +const input = loadFixture(__filename, `sample.txt`); describe(getName(__filename), () => { it('extractPackageFile', () => { diff --git a/lib/manager/circleci/extract.spec.ts b/lib/manager/circleci/extract.spec.ts index fc25189c5871b3..dc31c4a5a59b5c 100644 --- a/lib/manager/circleci/extract.spec.ts +++ b/lib/manager/circleci/extract.spec.ts @@ -1,19 +1,9 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const file1 = readFileSync( - 'lib/manager/circleci/__fixtures__/config.yml', - 'utf8' -); -const file2 = readFileSync( - 'lib/manager/circleci/__fixtures__/config2.yml', - 'utf8' -); -const file3 = readFileSync( - 'lib/manager/circleci/__fixtures__/config3.yml', - 'utf8' -); +const file1 = loadFixture(__filename, 'config.yml'); +const file2 = loadFixture(__filename, 'config2.yml'); +const file3 = loadFixture(__filename, 'config3.yml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/cloudbuild/extract.spec.ts b/lib/manager/cloudbuild/extract.spec.ts index 116a38c644b384..4301cf5ccec8bb 100644 --- a/lib/manager/cloudbuild/extract.spec.ts +++ b/lib/manager/cloudbuild/extract.spec.ts @@ -1,11 +1,7 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const file1 = readFileSync( - 'lib/manager/cloudbuild/__fixtures__/cloudbuild.yml', - 'utf8' -); +const file1 = loadFixture(__filename, 'cloudbuild.yml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/cocoapods/extract.spec.ts b/lib/manager/cocoapods/extract.spec.ts index 09d456474f43c4..d8e5d18dcb3278 100644 --- a/lib/manager/cocoapods/extract.spec.ts +++ b/lib/manager/cocoapods/extract.spec.ts @@ -1,18 +1,8 @@ -import fs from 'fs-extra'; -import upath from 'upath'; - -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from '.'; -const simplePodfile = fs.readFileSync( - upath.resolve(__dirname, './__fixtures__/Podfile.simple'), - 'utf-8' -); - -const complexPodfile = fs.readFileSync( - upath.resolve(__dirname, './__fixtures__/Podfile.complex'), - 'utf-8' -); +const simplePodfile = loadFixture(__filename, 'Podfile.simple'); +const complexPodfile = loadFixture(__filename, 'Podfile.complex'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/composer/extract.spec.ts b/lib/manager/composer/extract.spec.ts index 04bf9d7121ffdd..f7dc652ef6df87 100644 --- a/lib/manager/composer/extract.spec.ts +++ b/lib/manager/composer/extract.spec.ts @@ -1,33 +1,14 @@ -import { readFileSync } from 'fs'; -import { fs, getName } from '../../../test/util'; +import { fs, getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; jest.mock('../../util/fs'); -const requirements1 = readFileSync( - 'lib/manager/composer/__fixtures__/composer1.json', - 'utf8' -); -const requirements2 = readFileSync( - 'lib/manager/composer/__fixtures__/composer2.json', - 'utf8' -); -const requirements3 = readFileSync( - 'lib/manager/composer/__fixtures__/composer3.json', - 'utf8' -); -const requirements4 = readFileSync( - 'lib/manager/composer/__fixtures__/composer4.json', - 'utf8' -); -const requirements5 = readFileSync( - 'lib/manager/composer/__fixtures__/composer5.json', - 'utf8' -); -const requirements5Lock = readFileSync( - 'lib/manager/composer/__fixtures__/composer5.lock', - 'utf8' -); +const requirements1 = loadFixture(__filename, 'composer1.json'); +const requirements2 = loadFixture(__filename, 'composer2.json'); +const requirements3 = loadFixture(__filename, 'composer3.json'); +const requirements4 = loadFixture(__filename, 'composer4.json'); +const requirements5 = loadFixture(__filename, 'composer5.json'); +const requirements5Lock = loadFixture(__filename, 'composer5.lock'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/deps-edn/extract.spec.ts b/lib/manager/deps-edn/extract.spec.ts index dd550044a7196c..b240919bb75bdd 100644 --- a/lib/manager/deps-edn/extract.spec.ts +++ b/lib/manager/deps-edn/extract.spec.ts @@ -1,13 +1,7 @@ -/* eslint-disable no-template-curly-in-string */ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const depsEdn = readFileSync( - resolve(__dirname, `./__fixtures__/deps.edn`), - 'utf8' -); +const depsEdn = loadFixture(__filename, 'deps.edn'); describe(getName(__filename), () => { it('extractPackageFile', () => { diff --git a/lib/manager/docker-compose/extract.spec.ts b/lib/manager/docker-compose/extract.spec.ts index 915e00345f0f1c..4cca8cd425415c 100644 --- a/lib/manager/docker-compose/extract.spec.ts +++ b/lib/manager/docker-compose/extract.spec.ts @@ -1,20 +1,11 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const yamlFile1 = readFileSync( - 'lib/manager/docker-compose/__fixtures__/docker-compose.1.yml', - 'utf8' -); - -const yamlFile3 = readFileSync( - 'lib/manager/docker-compose/__fixtures__/docker-compose.3.yml', - 'utf8' -); - -const yamlFile3NoVersion = readFileSync( - 'lib/manager/docker-compose/__fixtures__/docker-compose.3-no-version.yml', - 'utf8' +const yamlFile1 = loadFixture(__filename, 'docker-compose.1.yml'); +const yamlFile3 = loadFixture(__filename, 'docker-compose.3.yml'); +const yamlFile3NoVersion = loadFixture( + __filename, + 'docker-compose.3-no-version.yml' ); describe(getName(__filename), () => { diff --git a/lib/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts index fcdf3409bcb4d6..6a72adff49ac56 100644 --- a/lib/manager/dockerfile/extract.spec.ts +++ b/lib/manager/dockerfile/extract.spec.ts @@ -1,16 +1,8 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile, getDep } from './extract'; -const d1 = readFileSync( - 'lib/manager/dockerfile/__fixtures__/1.Dockerfile', - 'utf8' -); - -const d2 = readFileSync( - 'lib/manager/dockerfile/__fixtures__/2.Dockerfile', - 'utf8' -); +const d1 = loadFixture(__filename, '1.Dockerfile'); +const d2 = loadFixture(__filename, '2.Dockerfile'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/droneci/extract.spec.ts b/lib/manager/droneci/extract.spec.ts index 585137d56d0d85..3855871bb729f7 100644 --- a/lib/manager/droneci/extract.spec.ts +++ b/lib/manager/droneci/extract.spec.ts @@ -1,13 +1,8 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const droneYAML = readFileSync( - resolve('lib/manager/droneci/__fixtures__/.drone.yml'), - 'utf8' -); +const droneYAML = loadFixture(__filename, '.drone.yml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/github-actions/extract.spec.ts b/lib/manager/github-actions/extract.spec.ts index 9e607beda7426c..96b57906990614 100644 --- a/lib/manager/github-actions/extract.spec.ts +++ b/lib/manager/github-actions/extract.spec.ts @@ -1,16 +1,8 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const workflow1 = readFileSync( - 'lib/manager/github-actions/__fixtures__/workflow.yml.1', - 'utf8' -); - -const workflow2 = readFileSync( - 'lib/manager/github-actions/__fixtures__/workflow.yml.2', - 'utf8' -); +const workflow1 = loadFixture(__filename, 'workflow.yml.1'); +const workflow2 = loadFixture(__filename, 'workflow.yml.2'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/gitlabci-include/extract.spec.ts b/lib/manager/gitlabci-include/extract.spec.ts index f7083030c5e110..d0e561f84c941b 100644 --- a/lib/manager/gitlabci-include/extract.spec.ts +++ b/lib/manager/gitlabci-include/extract.spec.ts @@ -1,11 +1,7 @@ -import fs from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const yamlFile = fs.readFileSync( - 'lib/manager/gitlabci-include/__fixtures__/gitlab-ci.1.yaml', - 'utf8' -); +const yamlFile = loadFixture(__filename, 'gitlab-ci.1.yaml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/gomod/extract.spec.ts b/lib/manager/gomod/extract.spec.ts index d0ae06a506032d..e24ba7a50eee1a 100644 --- a/lib/manager/gomod/extract.spec.ts +++ b/lib/manager/gomod/extract.spec.ts @@ -1,10 +1,9 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const gomod1 = readFileSync('lib/manager/gomod/__fixtures__/1/go.mod', 'utf8'); -const gomod2 = readFileSync('lib/manager/gomod/__fixtures__/2/go.mod', 'utf8'); -const gomod3 = readFileSync('lib/manager/gomod/__fixtures__/3/go.mod', 'utf8'); +const gomod1 = loadFixture(__filename, '1/go.mod'); +const gomod2 = loadFixture(__filename, '2/go.mod'); +const gomod3 = loadFixture(__filename, '3/go.mod'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/gomod/update.spec.ts b/lib/manager/gomod/update.spec.ts index 6dfba946bf02b0..eb03ca3cfc6806 100644 --- a/lib/manager/gomod/update.spec.ts +++ b/lib/manager/gomod/update.spec.ts @@ -1,10 +1,9 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import type { UpdateType } from '../../config/types'; import { updateDependency } from './update'; -const gomod1 = readFileSync('lib/manager/gomod/__fixtures__/1/go.mod', 'utf8'); -const gomod2 = readFileSync('lib/manager/gomod/__fixtures__/2/go.mod', 'utf8'); +const gomod1 = loadFixture(__filename, '1/go.mod'); +const gomod2 = loadFixture(__filename, '2/go.mod'); describe(getName(__filename), () => { describe('updateDependency', () => { diff --git a/lib/manager/gradle-lite/parser.spec.ts b/lib/manager/gradle-lite/parser.spec.ts index 560d365dbdf88a..972653ff4bff10 100644 --- a/lib/manager/gradle-lite/parser.spec.ts +++ b/lib/manager/gradle-lite/parser.spec.ts @@ -1,13 +1,7 @@ -import { readFileSync } from 'fs'; -import path from 'path'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { GOOGLE_REPO, JCENTER_REPO, MAVEN_REPO } from './common'; import { parseGradle, parseProps } from './parser'; -function getGradleFile(fileName: string): string { - return readFileSync(path.resolve(__dirname, fileName), 'utf8'); -} - describe(getName(__filename), () => { it('handles end of input', () => { expect(parseGradle('version = ').deps).toBeEmpty(); @@ -162,8 +156,10 @@ describe(getName(__filename), () => { ]); }); it('parses fixture from "gradle" manager', () => { - const content = getGradleFile( - `../gradle/__fixtures__/build.gradle.example1` + const content = loadFixture( + __filename, + 'build.gradle.example1', + '../gradle' ); const { deps } = parseGradle(content, {}, 'build.gradle'); deps.forEach((dep) => { diff --git a/lib/manager/gradle-wrapper/extract.spec.ts b/lib/manager/gradle-wrapper/extract.spec.ts index b3d3a149d131c7..f436ccdafdc953 100644 --- a/lib/manager/gradle-wrapper/extract.spec.ts +++ b/lib/manager/gradle-wrapper/extract.spec.ts @@ -1,27 +1,13 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const propertiesFile1 = readFileSync( - resolve(__dirname, './__fixtures__/gradle-wrapper-1.properties'), - 'utf8' -); -const propertiesFile2 = readFileSync( - resolve(__dirname, './__fixtures__/gradle-wrapper-2.properties'), - 'utf8' -); -const propertiesFile3 = readFileSync( - resolve(__dirname, './__fixtures__/gradle-wrapper-3.properties'), - 'utf8' -); -const propertiesFile4 = readFileSync( - resolve(__dirname, './__fixtures__/gradle-wrapper-4.properties'), - 'utf8' -); -const whitespacePropertiesFile = readFileSync( - resolve(__dirname, './__fixtures__/gradle-wrapper-whitespace.properties'), - 'utf8' +const propertiesFile1 = loadFixture(__filename, 'gradle-wrapper-1.properties'); +const propertiesFile2 = loadFixture(__filename, 'gradle-wrapper-2.properties'); +const propertiesFile3 = loadFixture(__filename, 'gradle-wrapper-3.properties'); +const propertiesFile4 = loadFixture(__filename, 'gradle-wrapper-4.properties'); +const whitespacePropertiesFile = loadFixture( + __filename, + 'gradle-wrapper-whitespace.properties' ); describe(getName(__filename), () => { diff --git a/lib/manager/helm-values/extract.spec.ts b/lib/manager/helm-values/extract.spec.ts index 3db74c265e3d8c..53fbc347837df3 100644 --- a/lib/manager/helm-values/extract.spec.ts +++ b/lib/manager/helm-values/extract.spec.ts @@ -1,15 +1,14 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const helmDefaultChartInitValues = readFileSync( - 'lib/manager/helm-values/__fixtures__/default_chart_init_values.yaml', - 'utf8' +const helmDefaultChartInitValues = loadFixture( + __filename, + 'default_chart_init_values.yaml' ); -const helmMultiAndNestedImageValues = readFileSync( - 'lib/manager/helm-values/__fixtures__/multi_and_nested_image_values.yaml', - 'utf8' +const helmMultiAndNestedImageValues = loadFixture( + __filename, + 'multi_and_nested_image_values.yaml' ); describe(getName(__filename), () => { diff --git a/lib/manager/helmfile/extract.spec.ts b/lib/manager/helmfile/extract.spec.ts index 7c983e6c7a807a..3a3888575aae4c 100644 --- a/lib/manager/helmfile/extract.spec.ts +++ b/lib/manager/helmfile/extract.spec.ts @@ -1,11 +1,8 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const multidocYaml = readFileSync( - 'lib/manager/helmfile/__fixtures__/multidoc.yaml', - 'utf8' -); +const multidocYaml = loadFixture(__filename, 'multidoc.yaml'); + describe(getName(__filename), () => { describe('extractPackageFile()', () => { beforeEach(() => { diff --git a/lib/manager/homebrew/extract.spec.ts b/lib/manager/homebrew/extract.spec.ts index d4c61f7d27f3e4..b4e8f6d8d87662 100644 --- a/lib/manager/homebrew/extract.spec.ts +++ b/lib/manager/homebrew/extract.spec.ts @@ -1,24 +1,11 @@ -import fs from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const aalib = fs.readFileSync( - 'lib/manager/homebrew/__fixtures__/aalib.rb', - 'utf8' -); -const aap = fs.readFileSync('lib/manager/homebrew/__fixtures__/aap.rb', 'utf8'); -const acmetool = fs.readFileSync( - 'lib/manager/homebrew/__fixtures__/acmetool.rb', - 'utf8' -); -const aide = fs.readFileSync( - 'lib/manager/homebrew/__fixtures__/aide.rb', - 'utf8' -); -const ibazel = fs.readFileSync( - 'lib/manager/homebrew/__fixtures__/ibazel.rb', - 'utf8' -); +const aalib = loadFixture(__filename, 'aalib.rb'); +const aap = loadFixture(__filename, 'aap.rb'); +const acmetool = loadFixture(__filename, 'acmetool.rb'); +const aide = loadFixture(__filename, 'aide.rb'); +const ibazel = loadFixture(__filename, 'ibazel.rb'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/homebrew/update.spec.ts b/lib/manager/homebrew/update.spec.ts index 84aafa850acaba..ad7f6df4a7ec8d 100644 --- a/lib/manager/homebrew/update.spec.ts +++ b/lib/manager/homebrew/update.spec.ts @@ -1,17 +1,10 @@ -import fs from 'fs'; import { Readable } from 'stream'; import * as httpMock from '../../../test/http-mock'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { updateDependency } from './update'; -const aide = fs.readFileSync( - 'lib/manager/homebrew/__fixtures__/aide.rb', - 'utf8' -); -const ibazel = fs.readFileSync( - 'lib/manager/homebrew/__fixtures__/ibazel.rb', - 'utf8' -); +const aide = loadFixture(__filename, 'aide.rb'); +const ibazel = loadFixture(__filename, 'ibazel.rb'); const baseUrl = 'https://github.com'; diff --git a/lib/manager/html/extract.spec.ts b/lib/manager/html/extract.spec.ts index 7f27a8eb30428c..20bfa9720bd4eb 100644 --- a/lib/manager/html/extract.spec.ts +++ b/lib/manager/html/extract.spec.ts @@ -1,16 +1,8 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from '.'; -const sample = readFileSync( - resolve(__dirname, `./__fixtures__/sample.html`), - 'utf8' -); -const nothing = readFileSync( - resolve(__dirname, `./__fixtures__/nothing.html`), - 'utf8' -); +const sample = loadFixture(__filename, `sample.html`); +const nothing = loadFixture(__filename, `nothing.html`); describe(getName(__filename), () => { it('extractPackageFile', () => { diff --git a/lib/manager/jenkins/extract.spec.ts b/lib/manager/jenkins/extract.spec.ts index 36775a6e261ffa..b9481d1576ec40 100644 --- a/lib/manager/jenkins/extract.spec.ts +++ b/lib/manager/jenkins/extract.spec.ts @@ -1,29 +1,13 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const invalidYamlFile = readFileSync( - 'lib/manager/jenkins/__fixtures__/invalid.yaml', - 'utf8' -); - -const pluginsTextFile = readFileSync( - 'lib/manager/jenkins/__fixtures__/plugins.txt', - 'utf8' -); -const pluginsYamlFile = readFileSync( - 'lib/manager/jenkins/__fixtures__/plugins.yaml', - 'utf8' -); - -const pluginsEmptyTextFile = readFileSync( - 'lib/manager/jenkins/__fixtures__/empty.txt', - 'utf8' -); -const pluginsEmptyYamlFile = readFileSync( - 'lib/manager/jenkins/__fixtures__/empty.yaml', - 'utf8' -); +const invalidYamlFile = loadFixture(__filename, 'invalid.yaml'); + +const pluginsTextFile = loadFixture(__filename, 'plugins.txt'); +const pluginsYamlFile = loadFixture(__filename, 'plugins.yaml'); + +const pluginsEmptyTextFile = loadFixture(__filename, 'empty.txt'); +const pluginsEmptyYamlFile = loadFixture(__filename, 'empty.yaml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/kubernetes/extract.spec.ts b/lib/manager/kubernetes/extract.spec.ts index 8862eaf8c09383..04fe288e18c451 100644 --- a/lib/manager/kubernetes/extract.spec.ts +++ b/lib/manager/kubernetes/extract.spec.ts @@ -1,26 +1,10 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const kubernetesImagesFile = readFileSync( - 'lib/manager/kubernetes/__fixtures__/kubernetes.yaml', - 'utf8' -); - -const kubernetesConfigMapFile = readFileSync( - 'lib/manager/kubernetes/__fixtures__/configmap.yaml', - 'utf8' -); - -const kubernetesArraySyntaxFile = readFileSync( - 'lib/manager/kubernetes/__fixtures__/array-syntax.yaml', - 'utf8' -); - -const otherYamlFile = readFileSync( - 'lib/manager/kubernetes/__fixtures__/gitlab-ci.yaml', - 'utf8' -); +const kubernetesImagesFile = loadFixture(__filename, 'kubernetes.yaml'); +const kubernetesConfigMapFile = loadFixture(__filename, 'configmap.yaml'); +const kubernetesArraySyntaxFile = loadFixture(__filename, 'array-syntax.yaml'); +const otherYamlFile = loadFixture(__filename, 'gitlab-ci.yaml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/kustomize/extract.spec.ts b/lib/manager/kustomize/extract.spec.ts index f7330ce303e06b..e4da4782aed016 100644 --- a/lib/manager/kustomize/extract.spec.ts +++ b/lib/manager/kustomize/extract.spec.ts @@ -1,5 +1,4 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import * as datasourceDocker from '../../datasource/docker'; import * as datasourceGitTags from '../../datasource/git-tags'; import * as datasourceGitHubTags from '../../datasource/github-tags'; @@ -11,47 +10,18 @@ import { parseKustomize, } from './extract'; -const kustomizeGitSSHBase = readFileSync( - 'lib/manager/kustomize/__fixtures__/gitSshBase.yaml', - 'utf8' +const kustomizeGitSSHBase = loadFixture(__filename, 'gitSshBase.yaml'); +const kustomizeEmpty = loadFixture(__filename, 'kustomizeEmpty.yaml'); +const kustomizeGitSSHSubdir = loadFixture(__filename, 'gitSubdir.yaml'); +const kustomizeHTTP = loadFixture(__filename, 'kustomizeHttp.yaml'); +const kustomizeWithLocal = loadFixture(__filename, 'kustomizeWithLocal.yaml'); +const nonKustomize = loadFixture(__filename, 'service.yaml'); +const gitImages = loadFixture(__filename, 'gitImages.yaml'); +const kustomizeDepsInResources = loadFixture( + __filename, + 'depsInResources.yaml' ); - -const kustomizeEmpty = readFileSync( - 'lib/manager/kustomize/__fixtures__/kustomizeEmpty.yaml', - 'utf8' -); - -const kustomizeGitSSHSubdir = readFileSync( - 'lib/manager/kustomize/__fixtures__/gitSubdir.yaml', - 'utf8' -); - -const kustomizeHTTP = readFileSync( - 'lib/manager/kustomize/__fixtures__/kustomizeHttp.yaml', - 'utf8' -); - -const kustomizeWithLocal = readFileSync( - 'lib/manager/kustomize/__fixtures__/kustomizeWithLocal.yaml', - 'utf8' -); - -const nonKustomize = readFileSync( - 'lib/manager/kustomize/__fixtures__/service.yaml', - 'utf8' -); - -const gitImages = readFileSync( - 'lib/manager/kustomize/__fixtures__/gitImages.yaml', - 'utf8' -); - -const kustomizeDepsInResources = readFileSync( - 'lib/manager/kustomize/__fixtures__/depsInResources.yaml', - 'utf8' -); - -const sha = readFileSync('lib/manager/kustomize/__fixtures__/sha.yaml', 'utf8'); +const sha = loadFixture(__filename, 'sha.yaml'); describe(getName(__filename), () => { it('should successfully parse a valid kustomize file', () => { diff --git a/lib/manager/leiningen/extract.spec.ts b/lib/manager/leiningen/extract.spec.ts index 22a261641037e1..681db83205e449 100644 --- a/lib/manager/leiningen/extract.spec.ts +++ b/lib/manager/leiningen/extract.spec.ts @@ -1,14 +1,8 @@ -/* eslint-disable no-template-curly-in-string */ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import * as datasourceClojure from '../../datasource/clojure'; import { extractFromVectors, extractPackageFile, trimAtKey } from './extract'; -const leinProjectClj = readFileSync( - resolve(__dirname, `./__fixtures__/project.clj`), - 'utf8' -); +const leinProjectClj = loadFixture(__filename, `project.clj`); describe(getName(__filename), () => { it('trimAtKey', () => { diff --git a/lib/manager/maven/extract.spec.ts b/lib/manager/maven/extract.spec.ts index 8ba6f952187249..36c443fe3faafd 100644 --- a/lib/manager/maven/extract.spec.ts +++ b/lib/manager/maven/extract.spec.ts @@ -1,18 +1,9 @@ /* eslint-disable no-template-curly-in-string */ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackage } from './extract'; -const minimumContent = readFileSync( - resolve(__dirname, `./__fixtures__/minimum.pom.xml`), - 'utf8' -); - -const simpleContent = readFileSync( - resolve(__dirname, `./__fixtures__/simple.pom.xml`), - 'utf8' -); +const minimumContent = loadFixture(__filename, `minimum.pom.xml`); +const simpleContent = loadFixture(__filename, `simple.pom.xml`); describe(getName(__filename), () => { describe('extractDependencies', () => { diff --git a/lib/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts index 548b71f42629f9..4be69a337c6dbc 100644 --- a/lib/manager/maven/index.spec.ts +++ b/lib/manager/maven/index.spec.ts @@ -1,27 +1,14 @@ -import { readFileSync } from 'fs'; -import { fs, getName } from '../../../test/util'; +import { fs, getName, loadFixture } from '../../../test/util'; import type { PackageDependency, PackageFile } from '../types'; import { extractPackage, resolveParents } from './extract'; import { extractAllPackageFiles, updateDependency } from '.'; jest.mock('../../util/fs'); -const pomContent = readFileSync( - 'lib/manager/maven/__fixtures__/simple.pom.xml', - 'utf8' -); -const pomParent = readFileSync( - 'lib/manager/maven/__fixtures__/parent.pom.xml', - 'utf8' -); -const pomChild = readFileSync( - 'lib/manager/maven/__fixtures__/child.pom.xml', - 'utf8' -); -const origContent = readFileSync( - 'lib/manager/maven/__fixtures__/grouping.pom.xml', - 'utf8' -); +const pomContent = loadFixture(__filename, 'simple.pom.xml'); +const pomParent = loadFixture(__filename, 'parent.pom.xml'); +const pomChild = loadFixture(__filename, 'child.pom.xml'); +const origContent = loadFixture(__filename, 'grouping.pom.xml'); function selectDep(deps: PackageDependency[], name = 'org.example:quuz') { return deps.find((dep) => dep.depName === name); diff --git a/lib/manager/meteor/extract.spec.ts b/lib/manager/meteor/extract.spec.ts index 6bfb2f18671161..7171f035823bc0 100644 --- a/lib/manager/meteor/extract.spec.ts +++ b/lib/manager/meteor/extract.spec.ts @@ -1,13 +1,7 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -function readFixture(fixture: string) { - return readFileSync(resolve(__dirname, `./__fixtures__/${fixture}`), 'utf8'); -} - -const input01Content = readFixture('package-1.js'); +const input01Content = loadFixture(__filename, 'package-1.js'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/mix/extract.spec.ts b/lib/manager/mix/extract.spec.ts index b350d5750f66f1..834c210a500389 100644 --- a/lib/manager/mix/extract.spec.ts +++ b/lib/manager/mix/extract.spec.ts @@ -1,12 +1,7 @@ -import fs from 'fs-extra'; -import upath from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from '.'; -const sample = fs.readFileSync( - upath.resolve(__dirname, './__fixtures__/mix.exs'), - 'utf-8' -); +const sample = loadFixture(__filename, 'mix.exs'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts index beda16f2a1b85c..b4ea83e1ef2eda 100644 --- a/lib/manager/npm/extract/index.spec.ts +++ b/lib/manager/npm/extract/index.spec.ts @@ -1,6 +1,4 @@ -import { readFileSync } from 'fs'; -import upath from 'upath'; -import { getName } from '../../../../test/util'; +import { getName, loadFixture } from '../../../../test/util'; import { getConfig } from '../../../config/defaults'; import * as _fs from '../../../util/fs'; import * as npmExtract from '.'; @@ -10,18 +8,19 @@ const fs: any = _fs; // TODO: fix types const defaultConfig = getConfig(); -function readFixture(fixture: string) { - return readFileSync( - upath.resolve(__dirname, `../__fixtures__/${fixture}`), - 'utf8' - ); -} - -const input01Content = readFixture('inputs/01.json'); -const workspacesContent = readFixture('inputs/workspaces.json'); -const workspacesSimpleContent = readFixture('inputs/workspaces-simple.json'); -const vendorisedContent = readFixture('is-object.json'); -const invalidNameContent = readFixture('invalid-name.json'); +const input01Content = loadFixture(__filename, 'inputs/01.json', '..'); +const workspacesContent = loadFixture( + __filename, + 'inputs/workspaces.json', + '..' +); +const workspacesSimpleContent = loadFixture( + __filename, + 'inputs/workspaces-simple.json', + '..' +); +const vendorisedContent = loadFixture(__filename, 'is-object.json', '..'); +const invalidNameContent = loadFixture(__filename, 'invalid-name.json', '..'); describe(getName(__filename), () => { describe('.extractPackageFile()', () => { diff --git a/lib/manager/npm/extract/npm.spec.ts b/lib/manager/npm/extract/npm.spec.ts index 4a9962c4027198..1946d3e61eb9b8 100644 --- a/lib/manager/npm/extract/npm.spec.ts +++ b/lib/manager/npm/extract/npm.spec.ts @@ -1,5 +1,4 @@ -import { readFileSync } from 'fs'; -import { fs, getName } from '../../../../test/util'; +import { fs, getName, loadFixture } from '../../../../test/util'; import { getNpmLock } from './npm'; jest.mock('../../../util/fs'); @@ -12,8 +11,10 @@ describe(getName(__filename), () => { expect(Object.keys(res.lockedVersions)).toHaveLength(0); }); it('extracts', async () => { - const plocktest1Lock = readFileSync( - 'lib/manager/npm/__fixtures__/plocktest1/package-lock.json' + const plocktest1Lock = loadFixture( + __filename, + 'plocktest1/package-lock.json', + '..' ); fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock as never); const res = await getNpmLock('package.json'); @@ -21,9 +22,7 @@ describe(getName(__filename), () => { expect(Object.keys(res.lockedVersions)).toHaveLength(7); }); it('extracts npm 7 lockfile', async () => { - const npm7Lock = readFileSync( - 'lib/manager/npm/__fixtures__/npm7/package-lock.json' - ); + const npm7Lock = loadFixture(__filename, 'npm7/package-lock.json', '..'); fs.readLocalFile.mockResolvedValueOnce(npm7Lock as never); const res = await getNpmLock('package.json'); expect(res).toMatchSnapshot(); diff --git a/lib/manager/npm/extract/yarn.spec.ts b/lib/manager/npm/extract/yarn.spec.ts index 9b91d267724422..9882b371471882 100644 --- a/lib/manager/npm/extract/yarn.spec.ts +++ b/lib/manager/npm/extract/yarn.spec.ts @@ -1,5 +1,4 @@ -import { readFileSync } from 'fs'; -import { fs, getName } from '../../../../test/util'; +import { fs, getName, loadFixture } from '../../../../test/util'; import { getYarnLock } from './yarn'; jest.mock('../../../util/fs'); @@ -14,9 +13,10 @@ describe(getName(__filename), () => { }); it('extracts yarn 1', async () => { - const plocktest1Lock = readFileSync( - 'lib/manager/npm/__fixtures__/plocktest1/yarn.lock', - 'utf8' + const plocktest1Lock = loadFixture( + __filename, + 'plocktest1/yarn.lock', + '..' ); fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock); const res = await getYarnLock('package.json'); @@ -27,10 +27,7 @@ describe(getName(__filename), () => { }); it('extracts yarn 2', async () => { - const plocktest1Lock = readFileSync( - 'lib/manager/npm/__fixtures__/yarn2/yarn.lock', - 'utf8' - ); + const plocktest1Lock = loadFixture(__filename, 'yarn2/yarn.lock', '..'); fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock); const res = await getYarnLock('package.json'); expect(res.isYarn1).toBe(false); @@ -40,10 +37,7 @@ describe(getName(__filename), () => { }); it('extracts yarn 2 cache version', async () => { - const plocktest1Lock = readFileSync( - 'lib/manager/npm/__fixtures__/yarn2.2/yarn.lock', - 'utf8' - ); + const plocktest1Lock = loadFixture(__filename, 'yarn2.2/yarn.lock', '..'); fs.readLocalFile.mockResolvedValueOnce(plocktest1Lock); const res = await getYarnLock('package.json'); expect(res.isYarn1).toBe(false); diff --git a/lib/manager/npm/update/dependency/index.spec.ts b/lib/manager/npm/update/dependency/index.spec.ts index a663e644d3a2f4..b2a2c177b3a483 100644 --- a/lib/manager/npm/update/dependency/index.spec.ts +++ b/lib/manager/npm/update/dependency/index.spec.ts @@ -1,15 +1,7 @@ -import fs from 'fs'; -import upath from 'upath'; - -import { getName } from '../../../../../test/util'; +import { getName, loadFixture } from '../../../../../test/util'; import * as npmUpdater from '.'; -function readFixture(fixture: string) { - return fs.readFileSync( - upath.resolve(__dirname, `../../__fixtures__/${fixture}`), - 'utf8' - ); -} +const readFixture = (x: string): string => loadFixture(__filename, x, '../..'); const input01Content = readFixture('inputs/01.json'); const input01GlobContent = readFixture('inputs/01-glob.json'); diff --git a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts b/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts index 47e0122b741f8c..577b9317221bf9 100644 --- a/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts +++ b/lib/manager/npm/update/locked-dependency/dep-constraints.spec.ts @@ -1,16 +1,10 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../../../test/util'; +import { getName, loadJsonFixture } from '../../../../../test/util'; import { findDepConstraints } from './dep-constraints'; jest.mock('../../../../util/fs'); -const packageJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/package.json'), 'utf8') -); -const packageLockJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/package-lock.json'), 'utf8') -); +const packageJson = loadJsonFixture(__filename, 'package.json'); +const packageLockJson = loadJsonFixture(__filename, 'package-lock.json'); describe(getName(__filename), () => { describe('findDepConstraints()', () => { diff --git a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts b/lib/manager/npm/update/locked-dependency/get-locked.spec.ts index f6ee9de18acee9..80370af9e543ac 100644 --- a/lib/manager/npm/update/locked-dependency/get-locked.spec.ts +++ b/lib/manager/npm/update/locked-dependency/get-locked.spec.ts @@ -1,13 +1,9 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../../../test/util'; +import { getName, loadJsonFixture } from '../../../../../test/util'; import { getLockedDependencies } from './get-locked'; jest.mock('../../../../util/fs'); -const packageLockJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/package-lock.json'), 'utf8') -); +const packageLockJson = loadJsonFixture(__filename, 'package-lock.json'); describe(getName(__filename), () => { describe('getLockedDependencies()', () => { diff --git a/lib/manager/npm/update/locked-dependency/index.spec.ts b/lib/manager/npm/update/locked-dependency/index.spec.ts index b5cff2f0e15a15..ebcda222783838 100644 --- a/lib/manager/npm/update/locked-dependency/index.spec.ts +++ b/lib/manager/npm/update/locked-dependency/index.spec.ts @@ -1,43 +1,19 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; import * as httpMock from '../../../../../test/http-mock'; -import { getName } from '../../../../../test/util'; +import { getName, loadFixture } from '../../../../../test/util'; import { clone } from '../../../../util/clone'; import type { UpdateLockedConfig } from '../../../types'; import { updateLockedDependency } from '.'; -const packageFileContent = readFileSync( - resolve(__dirname, './__fixtures__/package.json'), - 'utf8' -); -const lockFileContent = readFileSync( - resolve(__dirname, './__fixtures__/package-lock.json'), - 'utf8' -); - -const acceptsJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/accepts.json'), 'utf8') -); - -const expressJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/express.json'), 'utf8') -); - -const mimeJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/mime.json'), 'utf8') -); - +const packageFileContent = loadFixture(__filename, 'package.json'); +const lockFileContent = loadFixture(__filename, 'package-lock.json'); +const acceptsJson = JSON.parse(loadFixture(__filename, 'accepts.json')); +const expressJson = JSON.parse(loadFixture(__filename, 'express.json')); +const mimeJson = JSON.parse(loadFixture(__filename, 'mime.json')); const serveStaticJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/serve-static.json'), 'utf8') -); - -const sendJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/send.json'), 'utf8') -); - -const typeIsJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/type-is.json'), 'utf8') + loadFixture(__filename, 'serve-static.json') ); +const sendJson = JSON.parse(loadFixture(__filename, 'send.json')); +const typeIsJson = JSON.parse(loadFixture(__filename, 'type-is.json')); describe(getName(__filename), () => { describe('updateLockedDependency()', () => { diff --git a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts b/lib/manager/npm/update/locked-dependency/parent-version.spec.ts index ee2e5a7c3d5370..0e5717c181a216 100644 --- a/lib/manager/npm/update/locked-dependency/parent-version.spec.ts +++ b/lib/manager/npm/update/locked-dependency/parent-version.spec.ts @@ -1,12 +1,8 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; import * as httpMock from '../../../../../test/http-mock'; -import { getName } from '../../../../../test/util'; +import { getName, loadJsonFixture } from '../../../../../test/util'; import { findFirstParentVersion } from './parent-version'; -const expressJson = JSON.parse( - readFileSync(resolve(__dirname, './__fixtures__/express.json'), 'utf8') -); +const expressJson = loadJsonFixture(__filename, 'express.json'); describe(getName(__filename), () => { describe('getLockedDependencies()', () => { diff --git a/lib/manager/pip_requirements/extract.spec.ts b/lib/manager/pip_requirements/extract.spec.ts index 9607c03eebc135..886f6059fe10c0 100644 --- a/lib/manager/pip_requirements/extract.spec.ts +++ b/lib/manager/pip_requirements/extract.spec.ts @@ -1,40 +1,14 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { setAdminConfig } from '../../config/admin'; import { extractPackageFile } from './extract'; -const requirements1 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements1.txt', - 'utf8' -); -const requirements2 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements2.txt', - 'utf8' -); -const requirements3 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements3.txt', - 'utf8' -); - -const requirements4 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements4.txt', - 'utf8' -); - -const requirements5 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements5.txt', - 'utf8' -); - -const requirements6 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements6.txt', - 'utf8' -); - -const requirements7 = readFileSync( - 'lib/manager/pip_requirements/__fixtures__/requirements7.txt', - 'utf8' -); +const requirements1 = loadFixture(__filename, 'requirements1.txt'); +const requirements2 = loadFixture(__filename, 'requirements2.txt'); +const requirements3 = loadFixture(__filename, 'requirements3.txt'); +const requirements4 = loadFixture(__filename, 'requirements4.txt'); +const requirements5 = loadFixture(__filename, 'requirements5.txt'); +const requirements6 = loadFixture(__filename, 'requirements6.txt'); +const requirements7 = loadFixture(__filename, 'requirements7.txt'); describe(getName(__filename), () => { beforeEach(() => { diff --git a/lib/manager/pip_setup/__snapshots__/index.spec.ts.snap b/lib/manager/pip_setup/__snapshots__/index.spec.ts.snap index 69fad81daa3714..540026674ee265 100644 --- a/lib/manager/pip_setup/__snapshots__/index.spec.ts.snap +++ b/lib/manager/pip_setup/__snapshots__/index.spec.ts.snap @@ -390,9 +390,9 @@ Array [ }, }, Object { - "cmd": " \\"lib/manager/pip_setup/__fixtures__/setup.py\\"", + "cmd": " \\"setup.py\\"", "options": Object { - "cwd": "/tmp/github/some/repo/lib/manager/pip_setup/__fixtures__", + "cwd": "/tmp/github/some/repo", "encoding": "utf-8", "env": Object { "HOME": "/home/user", @@ -449,9 +449,9 @@ Array [ }, }, Object { - "cmd": " \\"lib/manager/pip_setup/__fixtures__/setup.py\\"", + "cmd": " \\"setup.py\\"", "options": Object { - "cwd": "/tmp/github/some/repo/lib/manager/pip_setup/__fixtures__", + "cwd": "/tmp/github/some/repo", "encoding": "utf-8", "env": Object { "HOME": "/home/user", diff --git a/lib/manager/pip_setup/index.spec.ts b/lib/manager/pip_setup/index.spec.ts index b5cd418f0c9c81..b81802bc82f6be 100644 --- a/lib/manager/pip_setup/index.spec.ts +++ b/lib/manager/pip_setup/index.spec.ts @@ -1,4 +1,3 @@ -import { readFileSync } from 'fs'; import { ExecSnapshots, envMock, @@ -6,18 +5,16 @@ import { mockExecAll, mockExecSequence, } from '../../../test/exec-util'; -import { env, getName } from '../../../test/util'; +import { env, getName, loadFixture } from '../../../test/util'; import { setUtilConfig } from '../../util'; import { BinarySource } from '../../util/exec/common'; import * as fs from '../../util/fs'; import * as extract from './extract'; import { extractPackageFile } from '.'; -const packageFile = 'lib/manager/pip_setup/__fixtures__/setup.py'; -const content = readFileSync(packageFile, 'utf8'); - -const packageFileJson = 'lib/manager/pip_setup/__fixtures__/setup.py.json'; -const jsonContent = readFileSync(packageFileJson, 'utf8'); +const packageFile = 'setup.py'; +const content = loadFixture(__filename, packageFile); +const jsonContent = loadFixture(__filename, 'setup.py.json'); const config = { localDir: '/tmp/github/some/repo', diff --git a/lib/manager/pipenv/extract.spec.ts b/lib/manager/pipenv/extract.spec.ts index 5e491d6bd3eba5..d302208b924b43 100644 --- a/lib/manager/pipenv/extract.spec.ts +++ b/lib/manager/pipenv/extract.spec.ts @@ -1,29 +1,13 @@ -import fs from 'fs'; -import { fs as fsutil, getName } from '../../../test/util'; +import { fs as fsutil, getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; jest.mock('../../util/fs'); -const pipfile1 = fs.readFileSync( - 'lib/manager/pipenv/__fixtures__/Pipfile1', - 'utf8' -); -const pipfile2 = fs.readFileSync( - 'lib/manager/pipenv/__fixtures__/Pipfile2', - 'utf8' -); -const pipfile3 = fs.readFileSync( - 'lib/manager/pipenv/__fixtures__/Pipfile3', - 'utf8' -); -const pipfile4 = fs.readFileSync( - 'lib/manager/pipenv/__fixtures__/Pipfile4', - 'utf8' -); -const pipfile5 = fs.readFileSync( - 'lib/manager/pipenv/__fixtures__/Pipfile5', - 'utf8' -); +const pipfile1 = loadFixture(__filename, 'Pipfile1'); +const pipfile2 = loadFixture(__filename, 'Pipfile2'); +const pipfile3 = loadFixture(__filename, 'Pipfile3'); +const pipfile4 = loadFixture(__filename, 'Pipfile4'); +const pipfile5 = loadFixture(__filename, 'Pipfile5'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/poetry/artifacts.spec.ts b/lib/manager/poetry/artifacts.spec.ts index c8a8aa9cb8f354..92466cf6aae69b 100644 --- a/lib/manager/poetry/artifacts.spec.ts +++ b/lib/manager/poetry/artifacts.spec.ts @@ -1,9 +1,8 @@ import { exec as _exec } from 'child_process'; -import { readFileSync } from 'fs'; import _fs from 'fs-extra'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../test/exec-util'; -import { mocked } from '../../../test/util'; +import { loadFixture, mocked } from '../../../test/util'; import * as _datasource from '../../datasource'; import { setExecConfig } from '../../util/exec'; import { BinarySource } from '../../util/exec/common'; @@ -12,10 +11,7 @@ import * as _env from '../../util/exec/env'; import * as _hostRules from '../../util/host-rules'; import { updateArtifacts } from './artifacts'; -const pyproject10toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.10.toml', - 'utf8' -); +const pyproject10toml = loadFixture(__filename, 'pyproject.10.toml'); jest.mock('fs-extra'); jest.mock('child_process'); diff --git a/lib/manager/poetry/extract.spec.ts b/lib/manager/poetry/extract.spec.ts index 8e69b748625532..5991b47a68fd3d 100644 --- a/lib/manager/poetry/extract.spec.ts +++ b/lib/manager/poetry/extract.spec.ts @@ -1,65 +1,21 @@ -import { readFileSync } from 'fs'; -import { fs, getName } from '../../../test/util'; +import { fs, getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; jest.mock('../../util/fs'); -const pyproject1toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.1.toml', - 'utf8' -); - -const pyproject2toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.2.toml', - 'utf8' -); - -const pyproject3toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.3.toml', - 'utf8' -); - -const pyproject4toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.4.toml', - 'utf8' -); - -const pyproject5toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.5.toml', - 'utf8' -); - -const pyproject6toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.6.toml', - 'utf8' -); - -const pyproject7toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.7.toml', - 'utf8' -); - -const pyproject8toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.8.toml', - 'utf8' -); - -const pyproject9toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.9.toml', - 'utf8' -); +const pyproject1toml = loadFixture(__filename, 'pyproject.1.toml'); +const pyproject2toml = loadFixture(__filename, 'pyproject.2.toml'); +const pyproject3toml = loadFixture(__filename, 'pyproject.3.toml'); +const pyproject4toml = loadFixture(__filename, 'pyproject.4.toml'); +const pyproject5toml = loadFixture(__filename, 'pyproject.5.toml'); +const pyproject6toml = loadFixture(__filename, 'pyproject.6.toml'); +const pyproject7toml = loadFixture(__filename, 'pyproject.7.toml'); +const pyproject8toml = loadFixture(__filename, 'pyproject.8.toml'); +const pyproject9toml = loadFixture(__filename, 'pyproject.9.toml'); // pyproject.10.toml use by artifacts - -const pyproject11toml = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.11.toml', - 'utf8' -); - -const pyproject11tomlLock = readFileSync( - 'lib/manager/poetry/__fixtures__/pyproject.11.toml.lock', - 'utf8' -); +const pyproject11toml = loadFixture(__filename, 'pyproject.11.toml'); +const pyproject11tomlLock = loadFixture(__filename, 'pyproject.11.toml.lock'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/pre-commit/extract.spec.ts b/lib/manager/pre-commit/extract.spec.ts index 18f4df48b1cff4..fd9ae0b6c53e40 100644 --- a/lib/manager/pre-commit/extract.spec.ts +++ b/lib/manager/pre-commit/extract.spec.ts @@ -1,41 +1,34 @@ -import { readFileSync } from 'fs'; -import { getName, mocked } from '../../../test/util'; +import { getName, loadFixture, mocked } from '../../../test/util'; import * as _hostRules from '../../util/host-rules'; import { extractPackageFile } from './extract'; jest.mock('../../util/host-rules'); const hostRules = mocked(_hostRules); - const filename = '.pre-commit.yaml'; -const complexPrecommitConfig = readFileSync( - 'lib/manager/pre-commit/__fixtures__/complex.pre-commit-config.yaml', - 'utf8' +const complexPrecommitConfig = loadFixture( + __filename, + 'complex.pre-commit-config.yaml' ); - -const examplePrecommitConfig = readFileSync( - 'lib/manager/pre-commit/__fixtures__/.pre-commit-config.yaml', - 'utf8' +const examplePrecommitConfig = loadFixture( + __filename, + '.pre-commit-config.yaml' ); - -const emptyReposPrecommitConfig = readFileSync( - 'lib/manager/pre-commit/__fixtures__/empty_repos.pre-commit-config.yaml', - 'utf8' +const emptyReposPrecommitConfig = loadFixture( + __filename, + 'empty_repos.pre-commit-config.yaml' ); - -const noReposPrecommitConfig = readFileSync( - 'lib/manager/pre-commit/__fixtures__/no_repos.pre-commit-config.yaml', - 'utf8' +const noReposPrecommitConfig = loadFixture( + __filename, + 'no_repos.pre-commit-config.yaml' ); - -const invalidRepoPrecommitConfig = readFileSync( - 'lib/manager/pre-commit/__fixtures__/invalid_repo.pre-commit-config.yaml', - 'utf8' +const invalidRepoPrecommitConfig = loadFixture( + __filename, + 'invalid_repo.pre-commit-config.yaml' ); - -const enterpriseGitPrecommitConfig = readFileSync( - 'lib/manager/pre-commit/__fixtures__/enterprise.pre-commit-config.yaml', - 'utf8' +const enterpriseGitPrecommitConfig = loadFixture( + __filename, + 'enterprise.pre-commit-config.yaml' ); describe(getName(__filename), () => { diff --git a/lib/manager/pub/extract.spec.ts b/lib/manager/pub/extract.spec.ts index 6130772162eded..1b5c74a5d6c203 100644 --- a/lib/manager/pub/extract.spec.ts +++ b/lib/manager/pub/extract.spec.ts @@ -1,16 +1,8 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from '.'; -const brokenYaml = readFileSync( - 'lib/manager/pub/__fixtures__/update.yaml', - 'utf8' -); - -const packageFile = readFileSync( - 'lib/manager/pub/__fixtures__/extract.yaml', - 'utf8' -); +const brokenYaml = loadFixture(__filename, 'update.yaml'); +const packageFile = loadFixture(__filename, 'extract.yaml'); describe(getName(__filename), () => { describe('extractPackageFile', () => { diff --git a/lib/manager/regex/index.spec.ts b/lib/manager/regex/index.spec.ts index 7d69417eeb6d54..0f944b63a9f877 100644 --- a/lib/manager/regex/index.spec.ts +++ b/lib/manager/regex/index.spec.ts @@ -1,22 +1,11 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { logger } from '../../logger'; import type { CustomExtractConfig } from '../types'; import { defaultConfig, extractPackageFile } from '.'; -const dockerfileContent = readFileSync( - resolve(__dirname, `./__fixtures__/Dockerfile`), - 'utf8' -); -const ansibleYamlContent = readFileSync( - resolve(__dirname, `./__fixtures__/ansible.yml`), - 'utf8' -); -const exampleJsonContent = readFileSync( - resolve(__dirname, `./__fixtures__/example.json`), - 'utf8' -); +const dockerfileContent = loadFixture(__filename, `Dockerfile`); +const ansibleYamlContent = loadFixture(__filename, `ansible.yml`); +const exampleJsonContent = loadFixture(__filename, `example.json`); describe(getName(__filename), () => { it('has default config', () => { diff --git a/lib/manager/sbt/extract.spec.ts b/lib/manager/sbt/extract.spec.ts index f4f0453ed4cc41..9ddb9831332636 100644 --- a/lib/manager/sbt/extract.spec.ts +++ b/lib/manager/sbt/extract.spec.ts @@ -1,29 +1,19 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const sbt = readFileSync( - resolve(__dirname, `./__fixtures__/sample.sbt`), - 'utf8' +const sbt = loadFixture(__filename, `sample.sbt`); +const sbtScalaVersionVariable = loadFixture( + __filename, + `scala-version-variable.sbt` ); -const sbtScalaVersionVariable = readFileSync( - resolve(__dirname, `./__fixtures__/scala-version-variable.sbt`), - 'utf8' +const sbtMissingScalaVersion = loadFixture( + __filename, + `missing-scala-version.sbt` ); -const sbtMissingScalaVersion = readFileSync( - resolve(__dirname, `./__fixtures__/missing-scala-version.sbt`), - 'utf8' -); - -const sbtDependencyFile = readFileSync( - resolve(__dirname, `./__fixtures__/dependency-file.scala`), - 'utf8' -); - -const sbtPrivateVariableDependencyFile = readFileSync( - resolve(__dirname, `./__fixtures__/private-variable-dependency-file.scala`), - 'utf8' +const sbtDependencyFile = loadFixture(__filename, `dependency-file.scala`); +const sbtPrivateVariableDependencyFile = loadFixture( + __filename, + `private-variable-dependency-file.scala` ); describe(getName(__filename), () => { diff --git a/lib/manager/setup-cfg/extract.spec.ts b/lib/manager/setup-cfg/extract.spec.ts index 97d564c32e4209..693c3d6d0be9dc 100644 --- a/lib/manager/setup-cfg/extract.spec.ts +++ b/lib/manager/setup-cfg/extract.spec.ts @@ -1,11 +1,7 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const content = readFileSync( - 'lib/manager/setup-cfg/__fixtures__/setup-cfg-1.txt', - 'utf8' -); +const content = loadFixture(__filename, 'setup-cfg-1.txt'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/swift/index.spec.ts b/lib/manager/swift/index.spec.ts index fcc6362a2c3ac1..3c0e90918502ad 100644 --- a/lib/manager/swift/index.spec.ts +++ b/lib/manager/swift/index.spec.ts @@ -1,12 +1,7 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const pkgContent = readFileSync( - resolve(__dirname, `./__fixtures__/SamplePackage.swift`), - 'utf8' -); +const pkgContent = loadFixture(__filename, `SamplePackage.swift`); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/terraform/extract.spec.ts b/lib/manager/terraform/extract.spec.ts index 11f80a1817c796..b617c39b856374 100644 --- a/lib/manager/terraform/extract.spec.ts +++ b/lib/manager/terraform/extract.spec.ts @@ -1,13 +1,12 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const tf1 = readFileSync('lib/manager/terraform/__fixtures__/1.tf', 'utf8'); +const tf1 = loadFixture(__filename, '1.tf'); const tf2 = `module "relative" { source = "../../modules/fe" } `; -const helm = readFileSync('lib/manager/terraform/__fixtures__/helm.tf', 'utf8'); +const helm = loadFixture(__filename, 'helm.tf'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/terragrunt/extract.spec.ts b/lib/manager/terragrunt/extract.spec.ts index 23e68f7d4e0e80..90626f785bbede 100644 --- a/lib/manager/terragrunt/extract.spec.ts +++ b/lib/manager/terragrunt/extract.spec.ts @@ -1,8 +1,7 @@ -import { readFileSync } from 'fs'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const tg1 = readFileSync('lib/manager/terragrunt/__fixtures__/2.hcl', 'utf8'); +const tg1 = loadFixture(__filename, '2.hcl'); const tg2 = `terragrunt { source = "../../modules/fe" } diff --git a/lib/manager/travis/extract.spec.ts b/lib/manager/travis/extract.spec.ts index 08ade541405730..8335256c0c672d 100644 --- a/lib/manager/travis/extract.spec.ts +++ b/lib/manager/travis/extract.spec.ts @@ -1,12 +1,7 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { extractPackageFile } from './extract'; -const invalidYAML = readFileSync( - resolve('lib/manager/travis/__fixtures__/invalid.yml'), - 'utf8' -); +const invalidYAML = loadFixture(__filename, 'invalid.yml'); describe(getName(__filename), () => { describe('extractPackageFile()', () => { diff --git a/lib/manager/travis/update.spec.ts b/lib/manager/travis/update.spec.ts index 518dbf613248b2..b36897e7f4474b 100644 --- a/lib/manager/travis/update.spec.ts +++ b/lib/manager/travis/update.spec.ts @@ -1,12 +1,7 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { updateDependency } from './update'; -const content = readFileSync( - resolve('lib/manager/travis/__fixtures__/travis.yml'), - 'utf8' -); +const content = loadFixture(__filename, 'travis.yml'); describe(getName(__filename), () => { describe('updateDependency', () => { diff --git a/lib/platform/github/index.spec.ts b/lib/platform/github/index.spec.ts index ebcd4a20d0d65d..f6002def84c42c 100644 --- a/lib/platform/github/index.spec.ts +++ b/lib/platform/github/index.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs-extra'; import { DateTime } from 'luxon'; import * as httpMock from '../../../test/http-mock'; -import { getName, mocked } from '../../../test/util'; +import { getName, loadFixture, mocked } from '../../../test/util'; import { REPOSITORY_NOT_FOUND, REPOSITORY_RENAMED, @@ -42,13 +41,13 @@ describe(getName(__filename), () => { httpMock.reset(); }); - const graphqlOpenPullRequests = fs.readFileSync( - 'lib/platform/github/__fixtures__/graphql/pullrequest-1.json', - 'utf8' + const graphqlOpenPullRequests = loadFixture( + __filename, + 'graphql/pullrequest-1.json' ); - const graphqlClosedPullRequests = fs.readFileSync( - 'lib/platform/github/__fixtures__/graphql/pullrequests-closed.json', - 'utf8' + const graphqlClosedPullRequests = loadFixture( + __filename, + 'graphql/pullrequests-closed.json' ); describe('initPlatform()', () => { diff --git a/lib/platform/utils/pr-body.spec.ts b/lib/platform/utils/pr-body.spec.ts index ab0b3a7cfece7d..873b12529919c6 100644 --- a/lib/platform/utils/pr-body.spec.ts +++ b/lib/platform/utils/pr-body.spec.ts @@ -1,15 +1,9 @@ -import fs from 'fs-extra'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { smartTruncate } from './pr-body'; +const prBody = loadFixture(__filename, 'pr-body.txt'); + describe(getName(__filename), () => { - let prBody: string; - beforeAll(async () => { - prBody = await fs.readFile( - 'lib/platform/utils/__fixtures__/pr-body.txt', - 'utf8' - ); - }); describe('.smartTruncate', () => { it('truncates to 1000', () => { const body = smartTruncate(prBody, 1000); diff --git a/lib/platform/utils/read-only-issue-body.spec.ts b/lib/platform/utils/read-only-issue-body.spec.ts index 440d4b82acaa56..ef98dedc3d7ef9 100644 --- a/lib/platform/utils/read-only-issue-body.spec.ts +++ b/lib/platform/utils/read-only-issue-body.spec.ts @@ -1,15 +1,9 @@ -import fs from 'fs-extra'; -import { getName } from '../../../test/util'; +import { getName, loadFixture } from '../../../test/util'; import { readOnlyIssueBody } from './read-only-issue-body'; +const issueBody = loadFixture(__filename, 'issue-body.txt'); + describe(getName(__filename), () => { - let issueBody: string; - beforeAll(async () => { - issueBody = await fs.readFile( - 'lib/platform/utils/__fixtures__/issue-body.txt', - 'utf8' - ); - }); describe('.readOnlyIssueBody', () => { it('removes all checkbox formatting', () => { expect(readOnlyIssueBody(issueBody)).toEqual( diff --git a/lib/workers/branch/auto-replace.spec.ts b/lib/workers/branch/auto-replace.spec.ts index 0bf06f454badb6..125d9237d34620 100644 --- a/lib/workers/branch/auto-replace.spec.ts +++ b/lib/workers/branch/auto-replace.spec.ts @@ -1,15 +1,10 @@ -import { readFileSync } from 'fs'; -import { resolve } from 'upath'; -import { defaultConfig, getName } from '../../../test/util'; +import { defaultConfig, getName, loadFixture } from '../../../test/util'; import { WORKER_FILE_UPDATE_FAILED } from '../../constants/error-messages'; import { extractPackageFile } from '../../manager/html'; import type { BranchUpgradeConfig } from '../types'; import { doAutoReplace } from './auto-replace'; -const sampleHtml = readFileSync( - resolve(__dirname, `../../manager/html/__fixtures__/sample.html`), - 'utf8' -); +const sampleHtml = loadFixture(__filename, 'sample.html', `../../manager/html`); jest.mock('../../util/fs'); diff --git a/lib/workers/pr/changelog/release-notes.spec.ts b/lib/workers/pr/changelog/release-notes.spec.ts index aca57ac8c44f2b..f28f25f667f182 100644 --- a/lib/workers/pr/changelog/release-notes.spec.ts +++ b/lib/workers/pr/changelog/release-notes.spec.ts @@ -1,7 +1,6 @@ -import fs from 'fs-extra'; import { DateTime } from 'luxon'; import * as httpMock from '../../../../test/http-mock'; -import { getName, mocked } from '../../../../test/util'; +import { getName, loadFixture, mocked } from '../../../../test/util'; import * as _hostRules from '../../../util/host-rules'; import { addReleaseNotes, @@ -16,33 +15,19 @@ jest.mock('../../../util/host-rules'); const hostRules = mocked(_hostRules); -const angularJsChangelogMd = fs.readFileSync( - 'lib/workers/pr/__fixtures__/angular-js.md', - 'utf8' +const angularJsChangelogMd = loadFixture(__filename, 'angular-js.md', '..'); +const jestChangelogMd = loadFixture(__filename, 'jest.md', '..'); +const jsYamlChangelogMd = loadFixture(__filename, 'js-yaml.md', '..'); +const yargsChangelogMd = loadFixture(__filename, 'yargs.md', '..'); +const adapterutilsChangelogMd = loadFixture( + __filename, + 'adapter-utils.md', + '..' ); -const jestChangelogMd = fs.readFileSync( - 'lib/workers/pr/__fixtures__/jest.md', - 'utf8' -); - -const jsYamlChangelogMd = fs.readFileSync( - 'lib/workers/pr/__fixtures__/js-yaml.md', - 'utf8' -); - -const yargsChangelogMd = fs.readFileSync( - 'lib/workers/pr/__fixtures__/yargs.md', - 'utf8' -); - -const adapterutilsChangelogMd = fs.readFileSync( - 'lib/workers/pr/__fixtures__/adapter-utils.md', - 'utf8' -); - -const gitterWebappChangelogMd = fs.readFileSync( - 'lib/workers/pr/__fixtures__/gitter-webapp.md', - 'utf8' +const gitterWebappChangelogMd = loadFixture( + __filename, + 'gitter-webapp.md', + '..' ); const githubTreeResponse = { diff --git a/lib/workers/repository/dependency-dashboard.spec.ts b/lib/workers/repository/dependency-dashboard.spec.ts index 67bf63f17c86fb..35f20a00daf67e 100644 --- a/lib/workers/repository/dependency-dashboard.spec.ts +++ b/lib/workers/repository/dependency-dashboard.spec.ts @@ -1,10 +1,10 @@ -import fs from 'fs'; import { ERROR, WARN } from 'bunyan'; import { mock } from 'jest-mock-extended'; import { RenovateConfig, getConfig, getName, + loadFixture, logger, platform, } from '../../../test/util'; @@ -239,10 +239,7 @@ describe(getName(__filename), () => { config.dependencyDashboardTitle ); expect(platform.ensureIssue.mock.calls[0][0].body).toBe( - fs.readFileSync( - 'lib/workers/repository/__fixtures__/master-issue_with_8_PR.txt', - 'utf8' - ) + loadFixture(__filename, 'master-issue_with_8_PR.txt') ); expect(platform.getBranchPr).toHaveBeenCalledTimes(0); expect(platform.findPr).toHaveBeenCalledTimes(0); @@ -282,10 +279,7 @@ describe(getName(__filename), () => { config.dependencyDashboardTitle ); expect(platform.ensureIssue.mock.calls[0][0].body).toBe( - fs.readFileSync( - 'lib/workers/repository/__fixtures__/master-issue_with_2_PR_edited.txt', - 'utf8' - ) + loadFixture(__filename, 'master-issue_with_2_PR_edited.txt') ); expect(platform.getBranchPr).toHaveBeenCalledTimes(2); expect(platform.getBranchPr.mock.calls[0][0]).toBe('branchName1'); @@ -335,10 +329,7 @@ describe(getName(__filename), () => { config.dependencyDashboardTitle ); expect(platform.ensureIssue.mock.calls[0][0].body).toBe( - fs.readFileSync( - 'lib/workers/repository/__fixtures__/master-issue_with_3_PR_in_progress.txt', - 'utf8' - ) + loadFixture(__filename, 'master-issue_with_3_PR_in_progress.txt') ); expect(platform.getBranchPr).toHaveBeenCalledTimes(3); expect(platform.getBranchPr.mock.calls[0][0]).toBe('branchName1'); @@ -382,10 +373,7 @@ describe(getName(__filename), () => { config.dependencyDashboardTitle ); expect(platform.ensureIssue.mock.calls[0][0].body).toBe( - fs.readFileSync( - 'lib/workers/repository/__fixtures__/master-issue_with_2_PR_closed_ignored.txt', - 'utf8' - ) + loadFixture(__filename, 'master-issue_with_2_PR_closed_ignored.txt') ); expect(platform.getBranchPr).toHaveBeenCalledTimes(0); expect(platform.findPr).toHaveBeenCalledTimes(2); @@ -443,10 +431,7 @@ describe(getName(__filename), () => { config.dependencyDashboardTitle ); expect(platform.ensureIssue.mock.calls[0][0].body).toBe( - fs.readFileSync( - 'lib/workers/repository/__fixtures__/master-issue_with_3_PR_in_approval.txt', - 'utf8' - ) + loadFixture(__filename, 'master-issue_with_3_PR_in_approval.txt') ); expect(platform.findPr).toHaveBeenCalledTimes(0); diff --git a/lib/workers/repository/process/lookup/index.spec.ts b/lib/workers/repository/process/lookup/index.spec.ts index 1edb6aa299597f..d457c3a565ee53 100644 --- a/lib/workers/repository/process/lookup/index.spec.ts +++ b/lib/workers/repository/process/lookup/index.spec.ts @@ -1,12 +1,11 @@ import nock from 'nock'; -import { getConfig, getName, mocked, partial } from '../../../../../test/util'; -import qJson from '../../../../config/npm/__fixtures__/01.json'; -import helmetJson from '../../../../config/npm/__fixtures__/02.json'; -import coffeelintJson from '../../../../config/npm/__fixtures__/coffeelint.json'; -import nextJson from '../../../../config/npm/__fixtures__/next.json'; -import typescriptJson from '../../../../config/npm/__fixtures__/typescript.json'; -import vueJson from '../../../../config/npm/__fixtures__/vue.json'; -import webpackJson from '../../../../config/npm/__fixtures__/webpack.json'; +import { + getConfig, + getName, + loadJsonFixture, + mocked, + partial, +} from '../../../../../test/util'; import { CONFIG_VALIDATION } from '../../../../constants/error-messages'; import * as datasourceDocker from '../../../../datasource/docker'; import { id as datasourceDockerId } from '../../../../datasource/docker'; @@ -29,7 +28,25 @@ jest.mock('../../../../datasource/docker'); jest.mock('../../../../datasource/git-refs'); jest.mock('../../../../datasource/github-releases'); -qJson.latestVersion = '1.4.1'; +const fixtureRoot = '../../../../config/npm'; +const qJson = { + ...loadJsonFixture(__filename, '01.json', fixtureRoot), + latestVersion: '1.4.1', +}; +const helmetJson = loadJsonFixture(__filename, '02.json', fixtureRoot); +const coffeelintJson = loadJsonFixture( + __filename, + 'coffeelint.json', + fixtureRoot +); +const nextJson = loadJsonFixture(__filename, 'next.json', fixtureRoot); +const typescriptJson = loadJsonFixture( + __filename, + 'typescript.json', + fixtureRoot +); +const vueJson = loadJsonFixture(__filename, 'vue.json', fixtureRoot); +const webpackJson = loadJsonFixture(__filename, 'webpack.json', fixtureRoot); const docker = mocked(datasourceDocker) as any; docker.defaultRegistryUrls = ['https://index.docker.io']; diff --git a/test/util.ts b/test/util.ts index 06f596fb1e85e6..e45057b9d29099 100644 --- a/test/util.ts +++ b/test/util.ts @@ -1,5 +1,7 @@ import crypto from 'crypto'; +import { readFileSync } from 'fs'; import { expect } from '@jest/globals'; +import upath from 'upath'; import { getConfig } from '../lib/config/defaults'; import type { RenovateConfig as _RenovateConfig } from '../lib/config/types'; import * as _logger from '../lib/logger'; @@ -44,6 +46,30 @@ export function getName(file: string): string { return name; } +export function loadFixture( + currentFile: string, + fixtureFile: string, + fixtureRoot = '.' +): string { + const callerDir = upath.dirname(currentFile); + const fixtureAbsFile = upath.join( + callerDir, + fixtureRoot, + '__fixtures__', + fixtureFile + ); + return readFileSync(fixtureAbsFile, { encoding: 'utf8' }); +} + +export function loadJsonFixture( + currentFile: string, + fixtureFile: string, + fixtureRoot = '.' +): T { + const rawFixture = loadFixture(currentFile, fixtureFile, fixtureRoot); + return JSON.parse(rawFixture) as T; +} + /** * Can be used to search and replace strings in jest snapshots. * @example