Skip to content

Commit

Permalink
refactor(test): Load fixtures with helpers (#9699)
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
  • Loading branch information
zharinov and viceice committed Apr 23, 2021
1 parent feb1bd6 commit b255275
Show file tree
Hide file tree
Showing 97 changed files with 573 additions and 1,318 deletions.
5 changes: 2 additions & 3 deletions 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()', () => {
Expand Down
8 changes: 6 additions & 2 deletions 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 {
Expand All @@ -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][
Expand Down
16 changes: 3 additions & 13 deletions 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/';

Expand Down
11 changes: 4 additions & 7 deletions lib/datasource/crate/index.spec.ts
Expand Up @@ -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';
Expand All @@ -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/';
Expand Down
10 changes: 2 additions & 8 deletions 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/';

Expand Down
33 changes: 16 additions & 17 deletions 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';
Expand Down
13 changes: 3 additions & 10 deletions 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/';

Expand Down
8 changes: 2 additions & 6 deletions lib/datasource/git-refs/index.spec.ts
@@ -1,18 +1,14 @@
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');
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', () => {
Expand Down
8 changes: 2 additions & 6 deletions lib/datasource/git-tags/index.spec.ts
@@ -1,18 +1,14 @@
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');
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', () => {
Expand Down
14 changes: 4 additions & 10 deletions 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;

Expand All @@ -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();
Expand All @@ -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')
Expand Down
8 changes: 2 additions & 6 deletions 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', () => {
Expand Down
9 changes: 2 additions & 7 deletions 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');

Expand Down
13 changes: 10 additions & 3 deletions 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;
Expand Down
22 changes: 7 additions & 15 deletions lib/datasource/maven/index.spec.ts
@@ -1,29 +1,21 @@
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';
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 = {
Expand Down

0 comments on commit b255275

Please sign in to comment.