From 26c03731a4a8173642d1c19cd2149dfd79aacb51 Mon Sep 17 00:00:00 2001
From: Michael Kriese <michael.kriese@visualon.de>
Date: Tue, 11 Feb 2020 06:08:10 +0100
Subject: [PATCH] chore(datasource): move test files to lib (#5426)

---
 .../__snapshots__/index.spec.ts.snap          |  0
 .../__snapshots__/metadata.spec.ts.snap       |  0
 .../datasource/cargo/__fixtures__}/amethyst   |  0
 .../cargo/__fixtures__}/invalid_crate_data    |  0
 .../datasource/cargo/__fixtures__}/libc       |  0
 .../cargo/__snapshots__/index.spec.ts.snap    |  0
 .../datasource/cargo/index.spec.ts            | 12 +++----
 .../datasource/cdnjs/__fixtures__}/bulma.json |  0
 .../cdnjs/__fixtures__}/d3-force.json         |  0
 .../cdnjs/__snapshots__/index.spec.ts.snap    |  0
 .../datasource/cdnjs/index.spec.ts            | 12 +++----
 .../__fixtures__}/shared_preferences.json     |  0
 .../dart/__snapshots__/index.spec.ts.snap     |  0
 .../datasource/dart/index.spec.ts             |  8 ++---
 .../docker/__snapshots__/index.spec.ts.snap   |  0
 .../datasource/docker/index.spec.ts           | 16 ++++-----
 .../datasource/git-submodules/index.spec.ts   |  2 +-
 .../datasource/git-tags/index.spec.ts         |  2 +-
 .../github/__snapshots__/index.spec.ts.snap   |  0
 .../datasource/github/index.spec.ts           | 20 +++++------
 .../gitlab/__snapshots__/index.spec.ts.snap   |  0
 .../datasource/gitlab/index.spec.ts           | 12 +++----
 .../go/__snapshots__/index.spec.ts.snap       |  0
 .../datasource/go/index.spec.ts               | 28 ++++++++-------
 .../gradle-version/__fixtures__}/all.json     |  0
 .../__snapshots__/index.spec.ts.snap          |  0
 .../datasource/gradle-version/index.spec.ts   | 10 +++---
 .../datasource/helm/__fixtures__}/index.yaml  |  0
 .../helm/__snapshots__/index.spec.ts.snap     |  0
 .../datasource/helm/index.spec.ts             |  8 ++---
 .../datasource/hex/__fixtures__}/certifi.json |  0
 .../hex/__snapshots__/index.spec.ts.snap      |  0
 .../datasource/hex/index.spec.ts              | 14 ++++----
 {test => lib}/datasource/index.spec.ts        | 10 +++---
 .../mysql-connector-java/maven-metadata.xml   |  0
 .../5.13.0/realm-gradle-plugin-5.13.0.pom     |  0
 .../realm-gradle-plugin/maven-metadata.xml    |  0
 .../8.0.12/mysql-connector-java-8.0.12.pom    |  0
 .../mysql-connector-java/maven-metadata.xml   |  0
 .../hamcrest/hamcrest-core/maven-metadata.xml |  0
 .../datasource/maven/index.spec.ts            | 36 ++++++++++---------
 {test => lib}/datasource/metadata.spec.ts     |  4 +--
 .../npm/__snapshots__/index.spec.ts.snap      |  0
 {test => lib}/datasource/npm/index.spec.ts    |  4 +--
 .../nuget/__fixtures__}/indexV3.json          |  0
 .../nuget/__fixtures__}/latestV2.json         |  0
 .../nuget/__fixtures__}/nunitV2.json          |  0
 .../nuget/__fixtures__}/nunitV2.xml           |  0
 .../nunitV2_noGitHubProjectUrl.xml            |  0
 .../__fixtures__}/nunitV2_no_release.xml      |  0
 .../__fixtures__}/nunitV2_paginated_1.xml     |  0
 .../__fixtures__}/nunitV2_paginated_2.xml     |  0
 .../nunitV2_withoutProjectUrl.xml             |  0
 .../nuget/__fixtures__}/nunitV3.json          |  0
 .../nunitV3_noGitHubProjectUrl.json           |  0
 .../nunitV3_withoutProjectUrl.json            |  0
 .../nuget/__fixtures__}/nunitv3_nuget-org.xml |  0
 .../nuget/__snapshots__/index.spec.ts.snap    |  0
 .../datasource/nuget/index.spec.ts            | 34 +++++++++---------
 .../orb/__snapshots__/index.spec.ts.snap      |  0
 .../datasource/orb/index.spec.ts              |  8 ++---
 .../packagist/__fixtures__}/1beyt.json        |  0
 .../packagist/__fixtures__}/includes.json     |  0
 .../__fixtures__}/mailchimp-api.json          |  0
 .../__snapshots__/index.spec.ts.snap          |  0
 .../datasource/packagist/index.spec.ts        | 20 +++++------
 .../pypi/__fixtures__}/azure-cli-monitor.json |  0
 .../__fixtures__}/versions-html-badfile.html  |  0
 .../versions-html-mixed-hyphens.html          |  0
 .../pypi/__fixtures__}/versions-html.html     |  0
 .../pypi/__snapshots__/index.spec.ts.snap     |  0
 .../datasource/pypi/index.spec.ts             | 16 ++++-----
 .../ruby-version/__fixtures__}/releases.html  |  0
 .../__snapshots__/index.spec.ts.snap          |  0
 .../datasource/ruby-version/index.spec.ts     |  8 ++---
 .../rubygems/__fixtures__}/rails/info.json    |  0
 .../__fixtures__}/rails/versions.json         |  0
 .../rubygems/__snapshots__/index.spec.ts.snap |  0
 .../datasource/rubygems/index.spec.ts         | 10 +++---
 .../datasource/rubygems/retriable.spec.ts     |  2 +-
 .../sbt/__fixtures__}/maven-index.html        |  0
 .../sbt/__fixtures__}/sbt-plugins-index.html  |  0
 .../sbt/__snapshots__/index.spec.ts.snap      |  0
 {test => lib}/datasource/sbt/index.spec.ts    | 17 ++++-----
 .../__fixtures__}/azurerm-provider.json       |  0
 .../__snapshots__/index.spec.ts.snap          |  0
 .../terraform-provider/index.spec.ts          | 10 +++---
 .../__fixtures__}/registry-consul.json        |  0
 .../__snapshots__/index.spec.ts.snap          |  0
 .../datasource/terraform/index.spec.ts        |  8 ++---
 .../__fixtures__}/gradle-wrapper-1.properties |  0
 .../__fixtures__}/gradle-wrapper-2.properties |  0
 lib/manager/gradle-wrapper/extract.spec.ts    |  5 +--
 lib/manager/gradle-wrapper/update.spec.ts     |  2 +-
 .../MultiProjectUpdatesReport.json            |  0
 .../__fixtures__}/build.gradle.example1       |  0
 .../gradle/__fixtures__}/updatesReport.json   |  0
 .../__fixtures__}/updatesReportEmpty.json     |  0
 lib/manager/gradle/index.spec.ts              |  8 ++---
 .../plocktest1/package-lock.json              |  0
 .../npm/__fixtures__}/plocktest1/package.json |  0
 .../npm/__fixtures__}/plocktest1/yarn.lock    |  0
 lib/manager/npm/extract/npm.spec.ts           |  2 +-
 lib/manager/npm/extract/yarn.spec.ts          |  2 +-
 .../manager/nuget/__fixtures__}/.gitignore    |  0
 .../manager/nuget/__fixtures__}/sample.csproj |  0
 lib/manager/nuget/extract.spec.ts             |  2 +-
 lib/manager/nuget/update.spec.ts              |  2 +-
 .../manager/terraform/__fixtures__}/1.tf      |  0
 lib/manager/terraform/extract.spec.ts         |  2 +-
 lib/manager/terraform/update.spec.ts          |  2 +-
 test/static-files.spec.ts                     |  2 +-
 112 files changed, 183 insertions(+), 177 deletions(-)
 rename {test => lib}/datasource/__snapshots__/index.spec.ts.snap (100%)
 rename {test => lib}/datasource/__snapshots__/metadata.spec.ts.snap (100%)
 rename {test/datasource/cargo/_fixtures => lib/datasource/cargo/__fixtures__}/amethyst (100%)
 rename {test/datasource/cargo/_fixtures => lib/datasource/cargo/__fixtures__}/invalid_crate_data (100%)
 rename {test/datasource/cargo/_fixtures => lib/datasource/cargo/__fixtures__}/libc (100%)
 rename test/datasource/__snapshots__/cargo.spec.ts.snap => lib/datasource/cargo/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/cargo.spec.ts => lib/datasource/cargo/index.spec.ts (90%)
 rename {test/datasource/cdnjs/_fixtures => lib/datasource/cdnjs/__fixtures__}/bulma.json (100%)
 rename {test/datasource/cdnjs/_fixtures => lib/datasource/cdnjs/__fixtures__}/d3-force.json (100%)
 rename test/datasource/__snapshots__/cdnjs.spec.ts.snap => lib/datasource/cdnjs/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/cdnjs.spec.ts => lib/datasource/cdnjs/index.spec.ts (88%)
 rename {test/datasource/dart/_fixtures => lib/datasource/dart/__fixtures__}/shared_preferences.json (100%)
 rename test/datasource/__snapshots__/dart.spec.ts.snap => lib/datasource/dart/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/dart.spec.ts => lib/datasource/dart/index.spec.ts (91%)
 rename test/datasource/__snapshots__/docker.spec.ts.snap => lib/datasource/docker/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/docker.spec.ts => lib/datasource/docker/index.spec.ts (97%)
 rename test/datasource/git-submodules.spec.ts => lib/datasource/git-submodules/index.spec.ts (95%)
 rename test/datasource/git-tags.spec.ts => lib/datasource/git-tags/index.spec.ts (95%)
 rename test/datasource/__snapshots__/github.spec.ts.snap => lib/datasource/github/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/github.spec.ts => lib/datasource/github/index.spec.ts (89%)
 rename test/datasource/__snapshots__/gitlab.spec.ts.snap => lib/datasource/gitlab/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/gitlab.spec.ts => lib/datasource/gitlab/index.spec.ts (87%)
 rename test/datasource/__snapshots__/go.spec.ts.snap => lib/datasource/go/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/go.spec.ts => lib/datasource/go/index.spec.ts (84%)
 rename {test/datasource/gradle-wrapper/_fixtures => lib/datasource/gradle-version/__fixtures__}/all.json (100%)
 rename test/datasource/__snapshots__/gradle-version.spec.ts.snap => lib/datasource/gradle-version/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/gradle-version.spec.ts => lib/datasource/gradle-version/index.spec.ts (89%)
 rename {test/datasource/helm/_fixtures => lib/datasource/helm/__fixtures__}/index.yaml (100%)
 rename test/datasource/__snapshots__/helm.spec.ts.snap => lib/datasource/helm/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/helm.spec.ts => lib/datasource/helm/index.spec.ts (95%)
 rename {test/datasource/hex/_fixtures => lib/datasource/hex/__fixtures__}/certifi.json (100%)
 rename test/datasource/__snapshots__/hex.spec.ts.snap => lib/datasource/hex/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/hex.spec.ts => lib/datasource/hex/index.spec.ts (89%)
 rename {test => lib}/datasource/index.spec.ts (90%)
 rename {test/datasource/gradle/_fixtures/maven => lib/datasource/maven/__fixtures__}/custom_maven_repo/maven2/mysql/mysql-connector-java/maven-metadata.xml (100%)
 rename {test/datasource/gradle/_fixtures/maven => lib/datasource/maven/__fixtures__}/jcenter/io/realm/realm-gradle-plugin/5.13.0/realm-gradle-plugin-5.13.0.pom (100%)
 rename {test/datasource/gradle/_fixtures/maven => lib/datasource/maven/__fixtures__}/jcenter/io/realm/realm-gradle-plugin/maven-metadata.xml (100%)
 rename {test/datasource/gradle/_fixtures/maven => lib/datasource/maven/__fixtures__}/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom (100%)
 rename {test/datasource/gradle/_fixtures/maven => lib/datasource/maven/__fixtures__}/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml (100%)
 rename {test/datasource/gradle/_fixtures/maven => lib/datasource/maven/__fixtures__}/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/maven-metadata.xml (100%)
 rename test/datasource/maven.spec.ts => lib/datasource/maven/index.spec.ts (89%)
 rename {test => lib}/datasource/metadata.spec.ts (95%)
 rename {test => lib}/datasource/npm/__snapshots__/index.spec.ts.snap (100%)
 rename {test => lib}/datasource/npm/index.spec.ts (99%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/indexV3.json (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/latestV2.json (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2.json (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2.xml (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2_noGitHubProjectUrl.xml (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2_no_release.xml (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2_paginated_1.xml (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2_paginated_2.xml (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV2_withoutProjectUrl.xml (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV3.json (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV3_noGitHubProjectUrl.json (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitV3_withoutProjectUrl.json (100%)
 rename {test/datasource/nuget/_fixtures => lib/datasource/nuget/__fixtures__}/nunitv3_nuget-org.xml (100%)
 rename test/datasource/__snapshots__/nuget.spec.ts.snap => lib/datasource/nuget/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/nuget.spec.ts => lib/datasource/nuget/index.spec.ts (91%)
 rename test/datasource/__snapshots__/orb.spec.ts.snap => lib/datasource/orb/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/orb.spec.ts => lib/datasource/orb/index.spec.ts (94%)
 rename {test/datasource/packagist/_fixtures => lib/datasource/packagist/__fixtures__}/1beyt.json (100%)
 rename {test/datasource/packagist/_fixtures => lib/datasource/packagist/__fixtures__}/includes.json (100%)
 rename {test/datasource/packagist/_fixtures => lib/datasource/packagist/__fixtures__}/mailchimp-api.json (100%)
 rename test/datasource/__snapshots__/packagist.spec.ts.snap => lib/datasource/packagist/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/packagist.spec.ts => lib/datasource/packagist/index.spec.ts (92%)
 rename {test/datasource/pypi/_fixtures => lib/datasource/pypi/__fixtures__}/azure-cli-monitor.json (100%)
 rename {test/datasource/pypi/_fixtures => lib/datasource/pypi/__fixtures__}/versions-html-badfile.html (100%)
 rename {test/datasource/pypi/_fixtures => lib/datasource/pypi/__fixtures__}/versions-html-mixed-hyphens.html (100%)
 rename {test/datasource/pypi/_fixtures => lib/datasource/pypi/__fixtures__}/versions-html.html (100%)
 rename test/datasource/__snapshots__/pypi.spec.ts.snap => lib/datasource/pypi/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/pypi.spec.ts => lib/datasource/pypi/index.spec.ts (94%)
 rename {test/datasource/ruby-version/_fixtures => lib/datasource/ruby-version/__fixtures__}/releases.html (100%)
 rename test/datasource/__snapshots__/ruby-version.spec.ts.snap => lib/datasource/ruby-version/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/ruby-version.spec.ts => lib/datasource/ruby-version/index.spec.ts (81%)
 rename {test/datasource/rubygems/_fixtures => lib/datasource/rubygems/__fixtures__}/rails/info.json (100%)
 rename {test/datasource/rubygems/_fixtures => lib/datasource/rubygems/__fixtures__}/rails/versions.json (100%)
 rename {test => lib}/datasource/rubygems/__snapshots__/index.spec.ts.snap (100%)
 rename {test => lib}/datasource/rubygems/index.spec.ts (93%)
 rename {test => lib}/datasource/rubygems/retriable.spec.ts (91%)
 rename {test/datasource/sbt/_fixtures => lib/datasource/sbt/__fixtures__}/maven-index.html (100%)
 rename {test/datasource/sbt/_fixtures => lib/datasource/sbt/__fixtures__}/sbt-plugins-index.html (100%)
 rename {test => lib}/datasource/sbt/__snapshots__/index.spec.ts.snap (100%)
 rename {test => lib}/datasource/sbt/index.spec.ts (92%)
 rename {test/datasource/terraform-provider/_fixtures => lib/datasource/terraform-provider/__fixtures__}/azurerm-provider.json (100%)
 rename test/datasource/__snapshots__/terraform-provider.spec.ts.snap => lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/terraform-provider.spec.ts => lib/datasource/terraform-provider/index.spec.ts (84%)
 rename {test/datasource/terraform/_fixtures => lib/datasource/terraform/__fixtures__}/registry-consul.json (100%)
 rename test/datasource/__snapshots__/terraform.spec.ts.snap => lib/datasource/terraform/__snapshots__/index.spec.ts.snap (100%)
 rename test/datasource/terraform.spec.ts => lib/datasource/terraform/index.spec.ts (92%)
 rename {test/datasource/gradle-wrapper/_fixtures => lib/manager/gradle-wrapper/__fixtures__}/gradle-wrapper-1.properties (100%)
 rename {test/datasource/gradle-wrapper/_fixtures => lib/manager/gradle-wrapper/__fixtures__}/gradle-wrapper-2.properties (100%)
 mode change 100755 => 100644
 rename {test/datasource/gradle/_fixtures => lib/manager/gradle/__fixtures__}/MultiProjectUpdatesReport.json (100%)
 rename {test/datasource/gradle/_fixtures => lib/manager/gradle/__fixtures__}/build.gradle.example1 (100%)
 rename {test/datasource/gradle/_fixtures => lib/manager/gradle/__fixtures__}/updatesReport.json (100%)
 rename {test/datasource/gradle/_fixtures => lib/manager/gradle/__fixtures__}/updatesReportEmpty.json (100%)
 rename {test/config/npm/_fixtures => lib/manager/npm/__fixtures__}/plocktest1/package-lock.json (100%)
 rename {test/config/npm/_fixtures => lib/manager/npm/__fixtures__}/plocktest1/package.json (100%)
 rename {test/config/npm/_fixtures => lib/manager/npm/__fixtures__}/plocktest1/yarn.lock (100%)
 rename {test/datasource/nuget/_fixtures => lib/manager/nuget/__fixtures__}/.gitignore (100%)
 rename {test/datasource/nuget/_fixtures => lib/manager/nuget/__fixtures__}/sample.csproj (100%)
 rename {test/datasource/terraform/_fixtures => lib/manager/terraform/__fixtures__}/1.tf (100%)

diff --git a/test/datasource/__snapshots__/index.spec.ts.snap b/lib/datasource/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/index.spec.ts.snap
rename to lib/datasource/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/__snapshots__/metadata.spec.ts.snap b/lib/datasource/__snapshots__/metadata.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/metadata.spec.ts.snap
rename to lib/datasource/__snapshots__/metadata.spec.ts.snap
diff --git a/test/datasource/cargo/_fixtures/amethyst b/lib/datasource/cargo/__fixtures__/amethyst
similarity index 100%
rename from test/datasource/cargo/_fixtures/amethyst
rename to lib/datasource/cargo/__fixtures__/amethyst
diff --git a/test/datasource/cargo/_fixtures/invalid_crate_data b/lib/datasource/cargo/__fixtures__/invalid_crate_data
similarity index 100%
rename from test/datasource/cargo/_fixtures/invalid_crate_data
rename to lib/datasource/cargo/__fixtures__/invalid_crate_data
diff --git a/test/datasource/cargo/_fixtures/libc b/lib/datasource/cargo/__fixtures__/libc
similarity index 100%
rename from test/datasource/cargo/_fixtures/libc
rename to lib/datasource/cargo/__fixtures__/libc
diff --git a/test/datasource/__snapshots__/cargo.spec.ts.snap b/lib/datasource/cargo/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/cargo.spec.ts.snap
rename to lib/datasource/cargo/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/cargo.spec.ts b/lib/datasource/cargo/index.spec.ts
similarity index 90%
rename from test/datasource/cargo.spec.ts
rename to lib/datasource/cargo/index.spec.ts
index 4c8d93b0e3..07deb2c4aa 100644
--- a/test/datasource/cargo.spec.ts
+++ b/lib/datasource/cargo/index.spec.ts
@@ -1,21 +1,21 @@
 import fs from 'fs';
 
-import _got from '../../lib/util/got';
-import { getPkgReleases } from '../../lib/datasource/cargo';
+import _got from '../../util/got';
+import { getPkgReleases } from '.';
 
 const got: any = _got;
 
-const res1 = fs.readFileSync('test/datasource/cargo/_fixtures/libc', 'utf8');
+const res1 = fs.readFileSync('lib/datasource/cargo/__fixtures__/libc', 'utf8');
 const res2 = fs.readFileSync(
-  'test/datasource/cargo/_fixtures/amethyst',
+  'lib/datasource/cargo/__fixtures__/amethyst',
   'utf8'
 );
 const res3 = fs.readFileSync(
-  'test/datasource/cargo/_fixtures/invalid_crate_data',
+  'lib/datasource/cargo/__fixtures__/invalid_crate_data',
   'utf8'
 );
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 describe('datasource/cargo', () => {
   describe('getPkgReleases', () => {
diff --git a/test/datasource/cdnjs/_fixtures/bulma.json b/lib/datasource/cdnjs/__fixtures__/bulma.json
similarity index 100%
rename from test/datasource/cdnjs/_fixtures/bulma.json
rename to lib/datasource/cdnjs/__fixtures__/bulma.json
diff --git a/test/datasource/cdnjs/_fixtures/d3-force.json b/lib/datasource/cdnjs/__fixtures__/d3-force.json
similarity index 100%
rename from test/datasource/cdnjs/_fixtures/d3-force.json
rename to lib/datasource/cdnjs/__fixtures__/d3-force.json
diff --git a/test/datasource/__snapshots__/cdnjs.spec.ts.snap b/lib/datasource/cdnjs/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/cdnjs.spec.ts.snap
rename to lib/datasource/cdnjs/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/cdnjs.spec.ts b/lib/datasource/cdnjs/index.spec.ts
similarity index 88%
rename from test/datasource/cdnjs.spec.ts
rename to lib/datasource/cdnjs/index.spec.ts
index f6c9d4262c..d7c4229a52 100644
--- a/test/datasource/cdnjs.spec.ts
+++ b/lib/datasource/cdnjs/index.spec.ts
@@ -1,19 +1,19 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import { getPkgReleases } from '../../lib/datasource/cdnjs';
-import { DATASOURCE_FAILURE } from '../../lib/constants/error-messages';
+import _got from '../../util/got';
+import { getPkgReleases } from '.';
+import { DATASOURCE_FAILURE } from '../../constants/error-messages';
 
 const got: jest.Mock<any> = _got as any;
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 let res1 = fs.readFileSync(
-  'test/datasource/cdnjs/_fixtures/d3-force.json',
+  'lib/datasource/cdnjs/__fixtures__/d3-force.json',
   'utf8'
 );
 res1 = JSON.parse(res1);
 
 let res2 = fs.readFileSync(
-  'test/datasource/cdnjs/_fixtures/bulma.json',
+  'lib/datasource/cdnjs/__fixtures__/bulma.json',
   'utf8'
 );
 res2 = JSON.parse(res2);
diff --git a/test/datasource/dart/_fixtures/shared_preferences.json b/lib/datasource/dart/__fixtures__/shared_preferences.json
similarity index 100%
rename from test/datasource/dart/_fixtures/shared_preferences.json
rename to lib/datasource/dart/__fixtures__/shared_preferences.json
diff --git a/test/datasource/__snapshots__/dart.spec.ts.snap b/lib/datasource/dart/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/dart.spec.ts.snap
rename to lib/datasource/dart/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/dart.spec.ts b/lib/datasource/dart/index.spec.ts
similarity index 91%
rename from test/datasource/dart.spec.ts
rename to lib/datasource/dart/index.spec.ts
index c852e3db1c..3e63fdb88d 100644
--- a/test/datasource/dart.spec.ts
+++ b/lib/datasource/dart/index.spec.ts
@@ -1,17 +1,17 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import { getPkgReleases } from '../../lib/datasource/dart';
+import _got from '../../util/got';
+import { getPkgReleases } from '.';
 
 const got: any = _got;
 
 const body: any = JSON.parse(
   fs.readFileSync(
-    'test/datasource/dart/_fixtures/shared_preferences.json',
+    'lib/datasource/dart/__fixtures__/shared_preferences.json',
     'utf8'
   )
 );
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 describe('datasource/dart', () => {
   describe('getPkgReleases', () => {
diff --git a/test/datasource/__snapshots__/docker.spec.ts.snap b/lib/datasource/docker/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/docker.spec.ts.snap
rename to lib/datasource/docker/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/docker.spec.ts b/lib/datasource/docker/index.spec.ts
similarity index 97%
rename from test/datasource/docker.spec.ts
rename to lib/datasource/docker/index.spec.ts
index 1c1f5d4909..0fa01253fb 100644
--- a/test/datasource/docker.spec.ts
+++ b/lib/datasource/docker/index.spec.ts
@@ -1,17 +1,17 @@
 import AWSMock from 'aws-sdk-mock';
 import AWS from 'aws-sdk';
-import _got from '../../lib/util/got';
-import * as docker from '../../lib/datasource/docker';
-import { getPkgReleases } from '../../lib/datasource';
-import * as _hostRules from '../../lib/util/host-rules';
-import { DATASOURCE_FAILURE } from '../../lib/constants/error-messages';
-import { DATASOURCE_DOCKER } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as docker from '.';
+import { getPkgReleases } from '..';
+import * as _hostRules from '../../util/host-rules';
+import { DATASOURCE_FAILURE } from '../../constants/error-messages';
+import { DATASOURCE_DOCKER } from '../../constants/data-binary-source';
 
 const got: any = _got;
 const hostRules: any = _hostRules;
 
-jest.mock('../../lib/util/got');
-jest.mock('../../lib/util/host-rules');
+jest.mock('../../util/got');
+jest.mock('../../util/host-rules');
 
 describe('api/docker', () => {
   describe('getRegistryRepository', () => {
diff --git a/test/datasource/git-submodules.spec.ts b/lib/datasource/git-submodules/index.spec.ts
similarity index 95%
rename from test/datasource/git-submodules.spec.ts
rename to lib/datasource/git-submodules/index.spec.ts
index 65d070c2d1..223e3a6340 100644
--- a/test/datasource/git-submodules.spec.ts
+++ b/lib/datasource/git-submodules/index.spec.ts
@@ -1,5 +1,5 @@
 import _simpleGit from 'simple-git/promise';
-import { getPkgReleases, getDigest } from '../../lib/datasource/git-submodules';
+import { getPkgReleases, getDigest } from '.';
 
 jest.mock('simple-git/promise.js');
 const simpleGit: any = _simpleGit;
diff --git a/test/datasource/git-tags.spec.ts b/lib/datasource/git-tags/index.spec.ts
similarity index 95%
rename from test/datasource/git-tags.spec.ts
rename to lib/datasource/git-tags/index.spec.ts
index ef6f0d3b3b..ad93a28e55 100644
--- a/test/datasource/git-tags.spec.ts
+++ b/lib/datasource/git-tags/index.spec.ts
@@ -1,5 +1,5 @@
 import _simpleGit from 'simple-git/promise';
-import { getPkgReleases } from '../../lib/datasource/git-tags';
+import { getPkgReleases } from '.';
 
 jest.mock('simple-git/promise');
 const simpleGit: any = _simpleGit;
diff --git a/test/datasource/__snapshots__/github.spec.ts.snap b/lib/datasource/github/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/github.spec.ts.snap
rename to lib/datasource/github/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/github.spec.ts b/lib/datasource/github/index.spec.ts
similarity index 89%
rename from test/datasource/github.spec.ts
rename to lib/datasource/github/index.spec.ts
index 5e1e5e927c..022b8aa923 100644
--- a/test/datasource/github.spec.ts
+++ b/lib/datasource/github/index.spec.ts
@@ -1,15 +1,15 @@
-import { api } from '../../lib/platform/github/gh-got-wrapper';
+import { api } from '../../platform/github/gh-got-wrapper';
 
-import * as datasource from '../../lib/datasource';
-import * as github from '../../lib/datasource/github';
-import _got from '../../lib/util/got';
-import * as _hostRules from '../../lib/util/host-rules';
-import { PLATFORM_FAILURE } from '../../lib/constants/error-messages';
-import { DATASOURCE_GITHUB } from '../../lib/constants/data-binary-source';
+import * as datasource from '..';
+import * as github from '.';
+import _got from '../../util/got';
+import * as _hostRules from '../../util/host-rules';
+import { PLATFORM_FAILURE } from '../../constants/error-messages';
+import { DATASOURCE_GITHUB } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/platform/github/gh-got-wrapper');
-jest.mock('../../lib/util/got');
-jest.mock('../../lib/util/host-rules');
+jest.mock('../../platform/github/gh-got-wrapper');
+jest.mock('../../util/got');
+jest.mock('../../util/host-rules');
 
 const got: any = _got;
 const ghGot: any = api.get;
diff --git a/test/datasource/__snapshots__/gitlab.spec.ts.snap b/lib/datasource/gitlab/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/gitlab.spec.ts.snap
rename to lib/datasource/gitlab/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/gitlab.spec.ts b/lib/datasource/gitlab/index.spec.ts
similarity index 87%
rename from test/datasource/gitlab.spec.ts
rename to lib/datasource/gitlab/index.spec.ts
index 6da9588f9c..a8e134f4a5 100644
--- a/test/datasource/gitlab.spec.ts
+++ b/lib/datasource/gitlab/index.spec.ts
@@ -1,10 +1,10 @@
-import * as datasource from '../../lib/datasource';
-import * as gitlab from '../../lib/datasource/gitlab';
-import { api } from '../../lib/platform/gitlab/gl-got-wrapper';
-import { DATASOURCE_GITLAB } from '../../lib/constants/data-binary-source';
+import * as datasource from '..';
+import * as gitlab from '.';
+import { api } from '../../platform/gitlab/gl-got-wrapper';
+import { DATASOURCE_GITLAB } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/platform/gitlab/gl-got-wrapper');
-jest.mock('../../lib/util/got');
+jest.mock('../../platform/gitlab/gl-got-wrapper');
+jest.mock('../../util/got');
 
 const glGot: any = api.get;
 
diff --git a/test/datasource/__snapshots__/go.spec.ts.snap b/lib/datasource/go/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/go.spec.ts.snap
rename to lib/datasource/go/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/go.spec.ts b/lib/datasource/go/index.spec.ts
similarity index 84%
rename from test/datasource/go.spec.ts
rename to lib/datasource/go/index.spec.ts
index 2dd6762abf..e98ccd9da7 100644
--- a/test/datasource/go.spec.ts
+++ b/lib/datasource/go/index.spec.ts
@@ -1,12 +1,14 @@
-import _got from '../../lib/util/got';
-import * as _github from '../../lib/datasource/github';
-import * as go from '../../lib/datasource/go';
+import _got from '../../util/got';
+import * as _github from '../github';
+import * as go from '.';
+import { mocked, partial } from '../../../test/util';
+import { ReleaseResult } from '..';
 
-jest.mock('../../lib/util/got');
-jest.mock('../../lib/datasource/github');
+jest.mock('../../util/got');
+jest.mock('../github');
 
-const got: any = _got;
-const github: any = _github;
+const got: any = mocked(_got);
+const github = mocked(_github);
 
 const res1 = `<!DOCTYPE html>
 <html>
@@ -30,7 +32,7 @@ describe('datasource/go', () => {
       got.mockReturnValueOnce({
         body: res1,
       });
-      github.getDigest.mockReturnValueOnce('abcdefabcdefabcdefabcdef');
+      github.getDigest.mockResolvedValueOnce('abcdefabcdefabcdefabcdef');
       const res = await go.getDigest({ lookupName: 'golang.org/y/text' }, null);
       expect(res).toBeNull();
     });
@@ -38,7 +40,7 @@ describe('datasource/go', () => {
       got.mockReturnValueOnce({
         body: res1,
       });
-      github.getDigest.mockReturnValueOnce('abcdefabcdefabcdefabcdef');
+      github.getDigest.mockResolvedValueOnce('abcdefabcdefabcdefabcdef');
       const res = await go.getDigest({ lookupName: 'golang.org/x/text' }, null);
       expect(res).toBe('abcdefabcdefabcdefabcdef');
     });
@@ -78,7 +80,7 @@ describe('datasource/go', () => {
       got.mockReturnValueOnce({
         body: res1,
       });
-      github.getPkgReleases.mockReturnValueOnce({
+      github.getPkgReleases.mockResolvedValueOnce({
         releases: [{ version: 'v1.0.0' }, { version: 'v2.0.0' }],
       });
       const res = await go.getPkgReleases({
@@ -117,9 +119,11 @@ describe('datasource/go', () => {
         { lookupName: 'gopkg.in/x/text' },
         { lookupName: 'gopkg.in/x' },
       ];
-      const githubRes = { releases: [1, 2] };
+      const githubRes = { releases: [1, 2] } as any;
       for (const pkg of packages) {
-        github.getPkgReleases.mockReturnValueOnce(githubRes);
+        github.getPkgReleases.mockResolvedValueOnce(
+          partial<ReleaseResult>(githubRes)
+        );
         expect(await go.getPkgReleases(pkg)).toEqual(githubRes);
       }
       expect(got).toHaveBeenCalledTimes(0);
diff --git a/test/datasource/gradle-wrapper/_fixtures/all.json b/lib/datasource/gradle-version/__fixtures__/all.json
similarity index 100%
rename from test/datasource/gradle-wrapper/_fixtures/all.json
rename to lib/datasource/gradle-version/__fixtures__/all.json
diff --git a/test/datasource/__snapshots__/gradle-version.spec.ts.snap b/lib/datasource/gradle-version/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/gradle-version.spec.ts.snap
rename to lib/datasource/gradle-version/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/gradle-version.spec.ts b/lib/datasource/gradle-version/index.spec.ts
similarity index 89%
rename from test/datasource/gradle-version.spec.ts
rename to lib/datasource/gradle-version/index.spec.ts
index b1ad855566..015c2774b3 100644
--- a/test/datasource/gradle-version.spec.ts
+++ b/lib/datasource/gradle-version/index.spec.ts
@@ -1,14 +1,14 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
-import { DATASOURCE_GRADLE_VERSION } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as datasource from '..';
+import { DATASOURCE_GRADLE_VERSION } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: any = _got;
 
 const allResponse: any = fs.readFileSync(
-  'test/datasource/gradle-wrapper/_fixtures/all.json'
+  'lib/datasource/gradle-version/__fixtures__/all.json'
 );
 
 let config: datasource.PkgReleaseConfig = {};
diff --git a/test/datasource/helm/_fixtures/index.yaml b/lib/datasource/helm/__fixtures__/index.yaml
similarity index 100%
rename from test/datasource/helm/_fixtures/index.yaml
rename to lib/datasource/helm/__fixtures__/index.yaml
diff --git a/test/datasource/__snapshots__/helm.spec.ts.snap b/lib/datasource/helm/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/helm.spec.ts.snap
rename to lib/datasource/helm/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/helm.spec.ts b/lib/datasource/helm/index.spec.ts
similarity index 95%
rename from test/datasource/helm.spec.ts
rename to lib/datasource/helm/index.spec.ts
index 41dcc36836..3fc7b7cfe7 100644
--- a/test/datasource/helm.spec.ts
+++ b/lib/datasource/helm/index.spec.ts
@@ -1,16 +1,16 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import { getPkgReleases, getRepositoryData } from '../../lib/datasource/helm';
+import _got from '../../util/got';
+import { getPkgReleases, getRepositoryData } from '.';
 
 const got: any = _got;
 
 // Truncated index.yaml file
 const indexYaml = fs.readFileSync(
-  'test/datasource/helm/_fixtures/index.yaml',
+  'lib/datasource/helm/__fixtures__/index.yaml',
   'utf8'
 );
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 describe('datasource/helm', () => {
   describe('getPkgReleases', () => {
diff --git a/test/datasource/hex/_fixtures/certifi.json b/lib/datasource/hex/__fixtures__/certifi.json
similarity index 100%
rename from test/datasource/hex/_fixtures/certifi.json
rename to lib/datasource/hex/__fixtures__/certifi.json
diff --git a/test/datasource/__snapshots__/hex.spec.ts.snap b/lib/datasource/hex/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/hex.spec.ts.snap
rename to lib/datasource/hex/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/hex.spec.ts b/lib/datasource/hex/index.spec.ts
similarity index 89%
rename from test/datasource/hex.spec.ts
rename to lib/datasource/hex/index.spec.ts
index 5d79d88fd5..f55cd76087 100644
--- a/test/datasource/hex.spec.ts
+++ b/lib/datasource/hex/index.spec.ts
@@ -1,20 +1,20 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as _hostRules from '../../lib/util/host-rules';
-import { getPkgReleases } from '../../lib/datasource/hex';
-import { DATASOURCE_FAILURE } from '../../lib/constants/error-messages';
+import _got from '../../util/got';
+import * as _hostRules from '../../util/host-rules';
+import { getPkgReleases } from '.';
+import { DATASOURCE_FAILURE } from '../../constants/error-messages';
 
 const got: any = _got;
 const hostRules: any = _hostRules;
 
 let res1 = fs.readFileSync(
-  'test/datasource/hex/_fixtures/certifi.json',
+  'lib/datasource/hex/__fixtures__/certifi.json',
   'utf8'
 );
 res1 = JSON.parse(res1);
 
-jest.mock('../../lib/util/got');
-jest.mock('../../lib/util/host-rules');
+jest.mock('../../util/got');
+jest.mock('../../util/host-rules');
 
 describe('datasource/hex', () => {
   describe('getPkgReleases', () => {
diff --git a/test/datasource/index.spec.ts b/lib/datasource/index.spec.ts
similarity index 90%
rename from test/datasource/index.spec.ts
rename to lib/datasource/index.spec.ts
index 38263d28bc..9263b9d484 100644
--- a/test/datasource/index.spec.ts
+++ b/lib/datasource/index.spec.ts
@@ -1,13 +1,13 @@
-import * as datasource from '../../lib/datasource';
-import * as _npm from '../../lib/datasource/npm';
+import * as datasource from '.';
+import * as _npm from './npm';
 import {
   DATASOURCE_DOCKER,
   DATASOURCE_GITHUB,
   DATASOURCE_NPM,
-} from '../../lib/constants/data-binary-source';
+} from '../constants/data-binary-source';
 
-jest.mock('../../lib/datasource/docker');
-jest.mock('../../lib/datasource/npm');
+jest.mock('./docker');
+jest.mock('./npm');
 
 const npmDatasource: any = _npm;
 
diff --git a/test/datasource/gradle/_fixtures/maven/custom_maven_repo/maven2/mysql/mysql-connector-java/maven-metadata.xml b/lib/datasource/maven/__fixtures__/custom_maven_repo/maven2/mysql/mysql-connector-java/maven-metadata.xml
similarity index 100%
rename from test/datasource/gradle/_fixtures/maven/custom_maven_repo/maven2/mysql/mysql-connector-java/maven-metadata.xml
rename to lib/datasource/maven/__fixtures__/custom_maven_repo/maven2/mysql/mysql-connector-java/maven-metadata.xml
diff --git a/test/datasource/gradle/_fixtures/maven/jcenter/io/realm/realm-gradle-plugin/5.13.0/realm-gradle-plugin-5.13.0.pom b/lib/datasource/maven/__fixtures__/jcenter/io/realm/realm-gradle-plugin/5.13.0/realm-gradle-plugin-5.13.0.pom
similarity index 100%
rename from test/datasource/gradle/_fixtures/maven/jcenter/io/realm/realm-gradle-plugin/5.13.0/realm-gradle-plugin-5.13.0.pom
rename to lib/datasource/maven/__fixtures__/jcenter/io/realm/realm-gradle-plugin/5.13.0/realm-gradle-plugin-5.13.0.pom
diff --git a/test/datasource/gradle/_fixtures/maven/jcenter/io/realm/realm-gradle-plugin/maven-metadata.xml b/lib/datasource/maven/__fixtures__/jcenter/io/realm/realm-gradle-plugin/maven-metadata.xml
similarity index 100%
rename from test/datasource/gradle/_fixtures/maven/jcenter/io/realm/realm-gradle-plugin/maven-metadata.xml
rename to lib/datasource/maven/__fixtures__/jcenter/io/realm/realm-gradle-plugin/maven-metadata.xml
diff --git a/test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom b/lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom
similarity index 100%
rename from test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom
rename to lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom
diff --git a/test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml b/lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml
similarity index 100%
rename from test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml
rename to lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml
diff --git a/test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/maven-metadata.xml b/lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/maven-metadata.xml
similarity index 100%
rename from test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/maven-metadata.xml
rename to lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/maven-metadata.xml
diff --git a/test/datasource/maven.spec.ts b/lib/datasource/maven/index.spec.ts
similarity index 89%
rename from test/datasource/maven.spec.ts
rename to lib/datasource/maven/index.spec.ts
index e26884d3be..05a0658cea 100644
--- a/test/datasource/maven.spec.ts
+++ b/lib/datasource/maven/index.spec.ts
@@ -1,11 +1,11 @@
 import nock from 'nock';
 import fs from 'fs';
-import * as datasource from '../../lib/datasource';
-import { DATASOURCE_FAILURE } from '../../lib/constants/error-messages';
-import { VERSION_SCHEME_LOOSE } from '../../lib/constants/version-schemes';
-import { DATASOURCE_MAVEN } from '../../lib/constants/data-binary-source';
-
-const hostRules = require('../../lib/util/host-rules');
+import { resolve } from 'path';
+import * as datasource from '..';
+import { DATASOURCE_FAILURE } from '../../constants/error-messages';
+import { VERSION_SCHEME_LOOSE } from '../../constants/version-schemes';
+import { DATASOURCE_MAVEN } from '../../constants/data-binary-source';
+import * as hostRules from '../../util/host-rules';
 
 const MYSQL_VERSIONS = [
   '6.0.5',
@@ -18,12 +18,18 @@ const MYSQL_VERSIONS = [
 ];
 
 const MYSQL_MAVEN_METADATA = fs.readFileSync(
-  'test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml',
+  resolve(
+    __dirname,
+    './__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/maven-metadata.xml'
+  ),
   'utf8'
 );
 
 const MYSQL_MAVEN_MYSQL_POM = fs.readFileSync(
-  'test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom',
+  resolve(
+    __dirname,
+    './__fixtures__/repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.12/mysql-connector-java-8.0.12.pom'
+  ),
   'utf8'
 );
 
@@ -99,7 +105,7 @@ describe('datasource/maven', () => {
         lookupName: 'unknown:unknown',
         registryUrls: [
           's3://somewhere.s3.aws.amazon.com',
-          'file://test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/',
+          'file://lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/',
         ],
       });
       expect(releases).toBeNull();
@@ -110,8 +116,8 @@ describe('datasource/maven', () => {
         ...config,
         lookupName: 'org.hamcrest:hamcrest-core',
         registryUrls: [
-          'file://test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/',
-          'file://test/datasource/gradle/_fixtures/maven/custom_maven_repo/maven2/',
+          'file://lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/',
+          'file://lib/datasource/maven/__fixtures__/custom_maven_repo/maven2/',
           's3://somewhere.s3.aws.amazon.com',
         ],
       });
@@ -133,8 +139,8 @@ describe('datasource/maven', () => {
         ...config,
         lookupName: 'mysql:mysql-connector-java',
         registryUrls: [
-          'file://test/datasource/gradle/_fixtures/maven/repo1.maven.org/maven2/',
-          'file://test/datasource/gradle/_fixtures/maven/custom_maven_repo/maven2/',
+          'file://lib/datasource/maven/__fixtures__/repo1.maven.org/maven2/',
+          'file://lib/datasource/maven/__fixtures__/custom_maven_repo/maven2/',
         ],
       });
       expect(releases.releases).toEqual(
@@ -267,9 +273,7 @@ describe('datasource/maven', () => {
       const releases = await datasource.getPkgReleases({
         ...config,
         lookupName: 'io.realm:realm-gradle-plugin',
-        registryUrls: [
-          'file://test/datasource/gradle/_fixtures/maven/jcenter/',
-        ],
+        registryUrls: ['file://lib/datasource/maven/__fixtures__/jcenter/'],
       });
       expect(releases.sourceUrl).toEqual('https://github.com/realm/realm-java');
     });
diff --git a/test/datasource/metadata.spec.ts b/lib/datasource/metadata.spec.ts
similarity index 95%
rename from test/datasource/metadata.spec.ts
rename to lib/datasource/metadata.spec.ts
index ff7a1b5d52..5f1cf7a4db 100644
--- a/test/datasource/metadata.spec.ts
+++ b/lib/datasource/metadata.spec.ts
@@ -1,8 +1,8 @@
-import { addMetaData } from '../../lib/datasource/metadata';
+import { addMetaData } from './metadata';
 import {
   DATASOURCE_MAVEN,
   DATASOURCE_PYPI,
-} from '../../lib/constants/data-binary-source';
+} from '../constants/data-binary-source';
 
 describe('datasource/metadata', () => {
   it('Should do nothing if dep is not specified', () => {
diff --git a/test/datasource/npm/__snapshots__/index.spec.ts.snap b/lib/datasource/npm/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/npm/__snapshots__/index.spec.ts.snap
rename to lib/datasource/npm/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/npm/index.spec.ts b/lib/datasource/npm/index.spec.ts
similarity index 99%
rename from test/datasource/npm/index.spec.ts
rename to lib/datasource/npm/index.spec.ts
index 4d553b4cbb..dc9b953272 100644
--- a/test/datasource/npm/index.spec.ts
+++ b/lib/datasource/npm/index.spec.ts
@@ -1,8 +1,8 @@
 import _registryAuthToken from 'registry-auth-token';
 import nock from 'nock';
 import moment from 'moment';
-import * as npm from '../../../lib/datasource/npm';
-import { DATASOURCE_FAILURE } from '../../../lib/constants/error-messages';
+import * as npm from '.';
+import { DATASOURCE_FAILURE } from '../../constants/error-messages';
 
 jest.mock('registry-auth-token');
 jest.mock('delay');
diff --git a/test/datasource/nuget/_fixtures/indexV3.json b/lib/datasource/nuget/__fixtures__/indexV3.json
similarity index 100%
rename from test/datasource/nuget/_fixtures/indexV3.json
rename to lib/datasource/nuget/__fixtures__/indexV3.json
diff --git a/test/datasource/nuget/_fixtures/latestV2.json b/lib/datasource/nuget/__fixtures__/latestV2.json
similarity index 100%
rename from test/datasource/nuget/_fixtures/latestV2.json
rename to lib/datasource/nuget/__fixtures__/latestV2.json
diff --git a/test/datasource/nuget/_fixtures/nunitV2.json b/lib/datasource/nuget/__fixtures__/nunitV2.json
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2.json
rename to lib/datasource/nuget/__fixtures__/nunitV2.json
diff --git a/test/datasource/nuget/_fixtures/nunitV2.xml b/lib/datasource/nuget/__fixtures__/nunitV2.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2.xml
rename to lib/datasource/nuget/__fixtures__/nunitV2.xml
diff --git a/test/datasource/nuget/_fixtures/nunitV2_noGitHubProjectUrl.xml b/lib/datasource/nuget/__fixtures__/nunitV2_noGitHubProjectUrl.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2_noGitHubProjectUrl.xml
rename to lib/datasource/nuget/__fixtures__/nunitV2_noGitHubProjectUrl.xml
diff --git a/test/datasource/nuget/_fixtures/nunitV2_no_release.xml b/lib/datasource/nuget/__fixtures__/nunitV2_no_release.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2_no_release.xml
rename to lib/datasource/nuget/__fixtures__/nunitV2_no_release.xml
diff --git a/test/datasource/nuget/_fixtures/nunitV2_paginated_1.xml b/lib/datasource/nuget/__fixtures__/nunitV2_paginated_1.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2_paginated_1.xml
rename to lib/datasource/nuget/__fixtures__/nunitV2_paginated_1.xml
diff --git a/test/datasource/nuget/_fixtures/nunitV2_paginated_2.xml b/lib/datasource/nuget/__fixtures__/nunitV2_paginated_2.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2_paginated_2.xml
rename to lib/datasource/nuget/__fixtures__/nunitV2_paginated_2.xml
diff --git a/test/datasource/nuget/_fixtures/nunitV2_withoutProjectUrl.xml b/lib/datasource/nuget/__fixtures__/nunitV2_withoutProjectUrl.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV2_withoutProjectUrl.xml
rename to lib/datasource/nuget/__fixtures__/nunitV2_withoutProjectUrl.xml
diff --git a/test/datasource/nuget/_fixtures/nunitV3.json b/lib/datasource/nuget/__fixtures__/nunitV3.json
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV3.json
rename to lib/datasource/nuget/__fixtures__/nunitV3.json
diff --git a/test/datasource/nuget/_fixtures/nunitV3_noGitHubProjectUrl.json b/lib/datasource/nuget/__fixtures__/nunitV3_noGitHubProjectUrl.json
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV3_noGitHubProjectUrl.json
rename to lib/datasource/nuget/__fixtures__/nunitV3_noGitHubProjectUrl.json
diff --git a/test/datasource/nuget/_fixtures/nunitV3_withoutProjectUrl.json b/lib/datasource/nuget/__fixtures__/nunitV3_withoutProjectUrl.json
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitV3_withoutProjectUrl.json
rename to lib/datasource/nuget/__fixtures__/nunitV3_withoutProjectUrl.json
diff --git a/test/datasource/nuget/_fixtures/nunitv3_nuget-org.xml b/lib/datasource/nuget/__fixtures__/nunitv3_nuget-org.xml
similarity index 100%
rename from test/datasource/nuget/_fixtures/nunitv3_nuget-org.xml
rename to lib/datasource/nuget/__fixtures__/nunitv3_nuget-org.xml
diff --git a/test/datasource/__snapshots__/nuget.spec.ts.snap b/lib/datasource/nuget/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/nuget.spec.ts.snap
rename to lib/datasource/nuget/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/nuget.spec.ts b/lib/datasource/nuget/index.spec.ts
similarity index 91%
rename from test/datasource/nuget.spec.ts
rename to lib/datasource/nuget/index.spec.ts
index 081e5b71c8..0a67d4ebfe 100644
--- a/test/datasource/nuget.spec.ts
+++ b/lib/datasource/nuget/index.spec.ts
@@ -1,61 +1,61 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
-import * as _hostRules from '../../lib/util/host-rules';
-import { DATASOURCE_NUGET } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as datasource from '..';
+import * as _hostRules from '../../util/host-rules';
+import { DATASOURCE_NUGET } from '../../constants/data-binary-source';
 
 const hostRules: any = _hostRules;
 
-jest.mock('../../lib/util/got');
-jest.mock('../../lib/util/host-rules');
+jest.mock('../../util/got');
+jest.mock('../../util/host-rules');
 
 const got: any = _got;
 
 const pkgListV3 = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV3.json',
+  'lib/datasource/nuget/__fixtures__/nunitV3.json',
   'utf8'
 );
 const pkgListV3WithoutProkjectUrl = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV3_withoutProjectUrl.json',
+  'lib/datasource/nuget/__fixtures__/nunitV3_withoutProjectUrl.json',
   'utf8'
 );
 const pkgListV3NoGitHubProjectUrl = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV3_noGitHubProjectUrl.json',
+  'lib/datasource/nuget/__fixtures__/nunitV3_noGitHubProjectUrl.json',
   'utf8'
 );
 const pkgInfoV3FromNuget = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitv3_nuget-org.xml',
+  'lib/datasource/nuget/__fixtures__/nunitv3_nuget-org.xml',
   'utf8'
 );
 
 const pkgListV2 = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV2.xml',
+  'lib/datasource/nuget/__fixtures__/nunitV2.xml',
   'utf8'
 );
 const pkgListV2NoGitHubProjectUrl = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV2_noGitHubProjectUrl.xml',
+  'lib/datasource/nuget/__fixtures__/nunitV2_noGitHubProjectUrl.xml',
   'utf8'
 );
 const pkgListV2NoRelease = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV2_no_release.xml',
+  'lib/datasource/nuget/__fixtures__/nunitV2_no_release.xml',
   'utf8'
 );
 const pkgListV2WithoutProjectUrl = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV2_withoutProjectUrl.xml',
+  'lib/datasource/nuget/__fixtures__/nunitV2_withoutProjectUrl.xml',
   'utf8'
 );
 
 const pkgListV2Page1of2 = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV2_paginated_1.xml',
+  'lib/datasource/nuget/__fixtures__/nunitV2_paginated_1.xml',
   'utf8'
 );
 const pkgListV2Page2of2 = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/nunitV2_paginated_2.xml',
+  'lib/datasource/nuget/__fixtures__/nunitV2_paginated_2.xml',
   'utf8'
 );
 
 const nugetIndexV3 = fs.readFileSync(
-  'test/datasource/nuget/_fixtures/indexV3.json',
+  'lib/datasource/nuget/__fixtures__/indexV3.json',
   'utf8'
 );
 
diff --git a/test/datasource/__snapshots__/orb.spec.ts.snap b/lib/datasource/orb/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/orb.spec.ts.snap
rename to lib/datasource/orb/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/orb.spec.ts b/lib/datasource/orb/index.spec.ts
similarity index 94%
rename from test/datasource/orb.spec.ts
rename to lib/datasource/orb/index.spec.ts
index 89faab44f6..949b32b356 100644
--- a/test/datasource/orb.spec.ts
+++ b/lib/datasource/orb/index.spec.ts
@@ -1,8 +1,8 @@
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
-import { DATASOURCE_ORB } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as datasource from '..';
+import { DATASOURCE_ORB } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: any = _got;
 
diff --git a/test/datasource/packagist/_fixtures/1beyt.json b/lib/datasource/packagist/__fixtures__/1beyt.json
similarity index 100%
rename from test/datasource/packagist/_fixtures/1beyt.json
rename to lib/datasource/packagist/__fixtures__/1beyt.json
diff --git a/test/datasource/packagist/_fixtures/includes.json b/lib/datasource/packagist/__fixtures__/includes.json
similarity index 100%
rename from test/datasource/packagist/_fixtures/includes.json
rename to lib/datasource/packagist/__fixtures__/includes.json
diff --git a/test/datasource/packagist/_fixtures/mailchimp-api.json b/lib/datasource/packagist/__fixtures__/mailchimp-api.json
similarity index 100%
rename from test/datasource/packagist/_fixtures/mailchimp-api.json
rename to lib/datasource/packagist/__fixtures__/mailchimp-api.json
diff --git a/test/datasource/__snapshots__/packagist.spec.ts.snap b/lib/datasource/packagist/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/packagist.spec.ts.snap
rename to lib/datasource/packagist/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/packagist.spec.ts b/lib/datasource/packagist/index.spec.ts
similarity index 92%
rename from test/datasource/packagist.spec.ts
rename to lib/datasource/packagist/index.spec.ts
index 9d36d8a77f..23fa3177bf 100644
--- a/test/datasource/packagist.spec.ts
+++ b/lib/datasource/packagist/index.spec.ts
@@ -1,24 +1,24 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
-import * as _hostRules from '../../lib/util/host-rules';
-import { VERSION_SCHEME_COMPOSER } from '../../lib/constants/version-schemes';
-import { DATASOURCE_PACKAGIST } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as datasource from '..';
+import * as _hostRules from '../../util/host-rules';
+import { VERSION_SCHEME_COMPOSER } from '../../constants/version-schemes';
+import { DATASOURCE_PACKAGIST } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/util/got');
-jest.mock('../../lib/util/host-rules');
+jest.mock('../../util/got');
+jest.mock('../../util/host-rules');
 
 const got: any = _got;
 const hostRules = _hostRules;
 
 const includesJson: any = fs.readFileSync(
-  'test/datasource/packagist/_fixtures/includes.json'
+  'lib/datasource/packagist/__fixtures__/includes.json'
 );
 const beytJson: any = fs.readFileSync(
-  'test/datasource/packagist/_fixtures/1beyt.json'
+  'lib/datasource/packagist/__fixtures__/1beyt.json'
 );
 const mailchimpJson: any = fs.readFileSync(
-  'test/datasource/packagist/_fixtures/mailchimp-api.json'
+  'lib/datasource/packagist/__fixtures__/mailchimp-api.json'
 );
 
 describe('datasource/packagist', () => {
diff --git a/test/datasource/pypi/_fixtures/azure-cli-monitor.json b/lib/datasource/pypi/__fixtures__/azure-cli-monitor.json
similarity index 100%
rename from test/datasource/pypi/_fixtures/azure-cli-monitor.json
rename to lib/datasource/pypi/__fixtures__/azure-cli-monitor.json
diff --git a/test/datasource/pypi/_fixtures/versions-html-badfile.html b/lib/datasource/pypi/__fixtures__/versions-html-badfile.html
similarity index 100%
rename from test/datasource/pypi/_fixtures/versions-html-badfile.html
rename to lib/datasource/pypi/__fixtures__/versions-html-badfile.html
diff --git a/test/datasource/pypi/_fixtures/versions-html-mixed-hyphens.html b/lib/datasource/pypi/__fixtures__/versions-html-mixed-hyphens.html
similarity index 100%
rename from test/datasource/pypi/_fixtures/versions-html-mixed-hyphens.html
rename to lib/datasource/pypi/__fixtures__/versions-html-mixed-hyphens.html
diff --git a/test/datasource/pypi/_fixtures/versions-html.html b/lib/datasource/pypi/__fixtures__/versions-html.html
similarity index 100%
rename from test/datasource/pypi/_fixtures/versions-html.html
rename to lib/datasource/pypi/__fixtures__/versions-html.html
diff --git a/test/datasource/__snapshots__/pypi.spec.ts.snap b/lib/datasource/pypi/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/pypi.spec.ts.snap
rename to lib/datasource/pypi/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/pypi.spec.ts b/lib/datasource/pypi/index.spec.ts
similarity index 94%
rename from test/datasource/pypi.spec.ts
rename to lib/datasource/pypi/index.spec.ts
index dee24b15b4..7f1e7f68f4 100644
--- a/test/datasource/pypi.spec.ts
+++ b/lib/datasource/pypi/index.spec.ts
@@ -1,23 +1,23 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
-import { DATASOURCE_PYPI } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as datasource from '..';
+import { DATASOURCE_PYPI } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: any = _got;
 
 const res1: any = fs.readFileSync(
-  'test/datasource/pypi/_fixtures/azure-cli-monitor.json'
+  'lib/datasource/pypi/__fixtures__/azure-cli-monitor.json'
 );
 const htmlResponse = fs.readFileSync(
-  'test/datasource/pypi/_fixtures/versions-html.html'
+  'lib/datasource/pypi/__fixtures__/versions-html.html'
 );
 const badResponse = fs.readFileSync(
-  'test/datasource/pypi/_fixtures/versions-html-badfile.html'
+  'lib/datasource/pypi/__fixtures__/versions-html-badfile.html'
 );
 const mixedHyphensResponse = fs.readFileSync(
-  'test/datasource/pypi/_fixtures/versions-html-mixed-hyphens.html'
+  'lib/datasource/pypi/__fixtures__/versions-html-mixed-hyphens.html'
 );
 
 describe('datasource/pypi', () => {
diff --git a/test/datasource/ruby-version/_fixtures/releases.html b/lib/datasource/ruby-version/__fixtures__/releases.html
similarity index 100%
rename from test/datasource/ruby-version/_fixtures/releases.html
rename to lib/datasource/ruby-version/__fixtures__/releases.html
diff --git a/test/datasource/__snapshots__/ruby-version.spec.ts.snap b/lib/datasource/ruby-version/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/ruby-version.spec.ts.snap
rename to lib/datasource/ruby-version/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/ruby-version.spec.ts b/lib/datasource/ruby-version/index.spec.ts
similarity index 81%
rename from test/datasource/ruby-version.spec.ts
rename to lib/datasource/ruby-version/index.spec.ts
index c4235f0e21..cfb8e1569a 100644
--- a/test/datasource/ruby-version.spec.ts
+++ b/lib/datasource/ruby-version/index.spec.ts
@@ -1,13 +1,13 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import { getPkgReleases } from '../../lib/datasource/ruby-version';
+import _got from '../../util/got';
+import { getPkgReleases } from '.';
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: any = _got;
 
 const rubyReleasesHtml = fs.readFileSync(
-  'test/datasource/ruby-version/_fixtures/releases.html',
+  'lib/datasource/ruby-version/__fixtures__/releases.html',
   'utf8'
 );
 
diff --git a/test/datasource/rubygems/_fixtures/rails/info.json b/lib/datasource/rubygems/__fixtures__/rails/info.json
similarity index 100%
rename from test/datasource/rubygems/_fixtures/rails/info.json
rename to lib/datasource/rubygems/__fixtures__/rails/info.json
diff --git a/test/datasource/rubygems/_fixtures/rails/versions.json b/lib/datasource/rubygems/__fixtures__/rails/versions.json
similarity index 100%
rename from test/datasource/rubygems/_fixtures/rails/versions.json
rename to lib/datasource/rubygems/__fixtures__/rails/versions.json
diff --git a/test/datasource/rubygems/__snapshots__/index.spec.ts.snap b/lib/datasource/rubygems/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/rubygems/__snapshots__/index.spec.ts.snap
rename to lib/datasource/rubygems/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/rubygems/index.spec.ts b/lib/datasource/rubygems/index.spec.ts
similarity index 93%
rename from test/datasource/rubygems/index.spec.ts
rename to lib/datasource/rubygems/index.spec.ts
index d4be3ea9f5..d1b9f0d465 100644
--- a/test/datasource/rubygems/index.spec.ts
+++ b/lib/datasource/rubygems/index.spec.ts
@@ -1,7 +1,7 @@
-import _got from '../../../lib/util/got';
-import railsInfo from './_fixtures/rails/info.json';
-import railsVersions from './_fixtures/rails/versions.json';
-import * as rubygems from '../../../lib/datasource/rubygems';
+import _got from '../../util/got';
+import railsInfo from './__fixtures__/rails/info.json';
+import railsVersions from './__fixtures__/rails/versions.json';
+import * as rubygems from '.';
 
 const got: any = _got;
 
@@ -24,7 +24,7 @@ const rubygemsOrgVersions = `created_at: 2017-03-27T04:38:13+00:00
 1pass -0.1.2 abcdef
 21-day-challenge-countdown 0.1.0,0.1.1,0.1.2 57e8873fe713063f4e54e85bbbd709bb`;
 
-jest.mock('../../../lib/util/got');
+jest.mock('../../util/got');
 
 describe('datasource/rubygems', () => {
   describe('getPkgReleases', () => {
diff --git a/test/datasource/rubygems/retriable.spec.ts b/lib/datasource/rubygems/retriable.spec.ts
similarity index 91%
rename from test/datasource/rubygems/retriable.spec.ts
rename to lib/datasource/rubygems/retriable.spec.ts
index cb9d96f074..19ddba9fe7 100644
--- a/test/datasource/rubygems/retriable.spec.ts
+++ b/lib/datasource/rubygems/retriable.spec.ts
@@ -1,4 +1,4 @@
-import retriable from '../../../lib/datasource/rubygems/retriable';
+import retriable from './retriable';
 
 describe('datasource/rubygems/retriable', () => {
   it('returns 0 when numberOfRetries equals 0', () => {
diff --git a/test/datasource/sbt/_fixtures/maven-index.html b/lib/datasource/sbt/__fixtures__/maven-index.html
similarity index 100%
rename from test/datasource/sbt/_fixtures/maven-index.html
rename to lib/datasource/sbt/__fixtures__/maven-index.html
diff --git a/test/datasource/sbt/_fixtures/sbt-plugins-index.html b/lib/datasource/sbt/__fixtures__/sbt-plugins-index.html
similarity index 100%
rename from test/datasource/sbt/_fixtures/sbt-plugins-index.html
rename to lib/datasource/sbt/__fixtures__/sbt-plugins-index.html
diff --git a/test/datasource/sbt/__snapshots__/index.spec.ts.snap b/lib/datasource/sbt/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/sbt/__snapshots__/index.spec.ts.snap
rename to lib/datasource/sbt/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/sbt/index.spec.ts b/lib/datasource/sbt/index.spec.ts
similarity index 92%
rename from test/datasource/sbt/index.spec.ts
rename to lib/datasource/sbt/index.spec.ts
index 5582b84e84..2908ba9c82 100644
--- a/test/datasource/sbt/index.spec.ts
+++ b/lib/datasource/sbt/index.spec.ts
@@ -1,22 +1,19 @@
 import path from 'path';
 import fs from 'fs';
 import nock from 'nock';
-import { getPkgReleases } from '../../../lib/datasource/sbt';
-import { DEFAULT_MAVEN_REPO } from '../../../lib/manager/maven/extract';
-import {
-  parseIndexDir,
-  SBT_PLUGINS_REPO,
-} from '../../../lib/datasource/sbt/util';
-import { VERSION_SCHEME_IVY } from '../../../lib/constants/version-schemes';
-import { DATASOURCE_SBT } from '../../../lib/constants/data-binary-source';
+import { getPkgReleases } from '.';
+import { DEFAULT_MAVEN_REPO } from '../../manager/maven/extract';
+import { parseIndexDir, SBT_PLUGINS_REPO } from './util';
+import { VERSION_SCHEME_IVY } from '../../constants/version-schemes';
+import { DATASOURCE_SBT } from '../../constants/data-binary-source';
 
 const mavenIndexHtml = fs.readFileSync(
-  path.resolve(__dirname, `./_fixtures/maven-index.html`),
+  path.resolve(__dirname, `./__fixtures__/maven-index.html`),
   'utf8'
 );
 
 const sbtPluginIndex = fs.readFileSync(
-  path.resolve(__dirname, `./_fixtures/sbt-plugins-index.html`),
+  path.resolve(__dirname, `./__fixtures__/sbt-plugins-index.html`),
   'utf8'
 );
 
diff --git a/test/datasource/terraform-provider/_fixtures/azurerm-provider.json b/lib/datasource/terraform-provider/__fixtures__/azurerm-provider.json
similarity index 100%
rename from test/datasource/terraform-provider/_fixtures/azurerm-provider.json
rename to lib/datasource/terraform-provider/__fixtures__/azurerm-provider.json
diff --git a/test/datasource/__snapshots__/terraform-provider.spec.ts.snap b/lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/terraform-provider.spec.ts.snap
rename to lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/terraform-provider.spec.ts b/lib/datasource/terraform-provider/index.spec.ts
similarity index 84%
rename from test/datasource/terraform-provider.spec.ts
rename to lib/datasource/terraform-provider/index.spec.ts
index 6dd1a52eec..9184942bb8 100644
--- a/test/datasource/terraform-provider.spec.ts
+++ b/lib/datasource/terraform-provider/index.spec.ts
@@ -1,14 +1,14 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
-import { DATASOURCE_TERRAFORM_PROVIDER } from '../../lib/constants/data-binary-source';
+import _got from '../../util/got';
+import * as datasource from '..';
+import { DATASOURCE_TERRAFORM_PROVIDER } from '../../constants/data-binary-source';
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: any = _got;
 
 const consulData: any = fs.readFileSync(
-  'test/datasource/terraform-provider/_fixtures/azurerm-provider.json'
+  'lib/datasource/terraform-provider/__fixtures__/azurerm-provider.json'
 );
 
 describe('datasource/terraform', () => {
diff --git a/test/datasource/terraform/_fixtures/registry-consul.json b/lib/datasource/terraform/__fixtures__/registry-consul.json
similarity index 100%
rename from test/datasource/terraform/_fixtures/registry-consul.json
rename to lib/datasource/terraform/__fixtures__/registry-consul.json
diff --git a/test/datasource/__snapshots__/terraform.spec.ts.snap b/lib/datasource/terraform/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/datasource/__snapshots__/terraform.spec.ts.snap
rename to lib/datasource/terraform/__snapshots__/index.spec.ts.snap
diff --git a/test/datasource/terraform.spec.ts b/lib/datasource/terraform/index.spec.ts
similarity index 92%
rename from test/datasource/terraform.spec.ts
rename to lib/datasource/terraform/index.spec.ts
index f264e355e9..c08c81d359 100644
--- a/test/datasource/terraform.spec.ts
+++ b/lib/datasource/terraform/index.spec.ts
@@ -1,13 +1,13 @@
 import fs from 'fs';
-import _got from '../../lib/util/got';
-import * as datasource from '../../lib/datasource';
+import _got from '../../util/got';
+import * as datasource from '..';
 
-jest.mock('../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: any = _got;
 
 const consulData: any = fs.readFileSync(
-  'test/datasource/terraform/_fixtures/registry-consul.json'
+  'lib/datasource/terraform/__fixtures__/registry-consul.json'
 );
 
 describe('datasource/terraform', () => {
diff --git a/test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-1.properties b/lib/manager/gradle-wrapper/__fixtures__/gradle-wrapper-1.properties
similarity index 100%
rename from test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-1.properties
rename to lib/manager/gradle-wrapper/__fixtures__/gradle-wrapper-1.properties
diff --git a/test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-2.properties b/lib/manager/gradle-wrapper/__fixtures__/gradle-wrapper-2.properties
old mode 100755
new mode 100644
similarity index 100%
rename from test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-2.properties
rename to lib/manager/gradle-wrapper/__fixtures__/gradle-wrapper-2.properties
diff --git a/lib/manager/gradle-wrapper/extract.spec.ts b/lib/manager/gradle-wrapper/extract.spec.ts
index 122f1f5ca4..20d2f5e573 100644
--- a/lib/manager/gradle-wrapper/extract.spec.ts
+++ b/lib/manager/gradle-wrapper/extract.spec.ts
@@ -1,12 +1,13 @@
 import { readFileSync } from 'fs';
+import { resolve } from 'path';
 import { extractPackageFile } from './extract';
 
 const propertiesFile1 = readFileSync(
-  'test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-1.properties',
+  resolve(__dirname, './__fixtures__/gradle-wrapper-1.properties'),
   'utf8'
 );
 const propertiesFile2 = readFileSync(
-  'test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-2.properties',
+  resolve(__dirname, './__fixtures__/gradle-wrapper-2.properties'),
   'utf8'
 );
 
diff --git a/lib/manager/gradle-wrapper/update.spec.ts b/lib/manager/gradle-wrapper/update.spec.ts
index fc23c3217a..b568c343ca 100644
--- a/lib/manager/gradle-wrapper/update.spec.ts
+++ b/lib/manager/gradle-wrapper/update.spec.ts
@@ -7,7 +7,7 @@ jest.mock('../../util/got');
 const got: jest.Mock<any> = _got as any;
 
 const propertiesFile2 = fs.readFileSync(
-  'test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-2.properties',
+  'lib/manager/gradle-wrapper/__fixtures__/gradle-wrapper-2.properties',
   'utf8'
 );
 
diff --git a/test/datasource/gradle/_fixtures/MultiProjectUpdatesReport.json b/lib/manager/gradle/__fixtures__/MultiProjectUpdatesReport.json
similarity index 100%
rename from test/datasource/gradle/_fixtures/MultiProjectUpdatesReport.json
rename to lib/manager/gradle/__fixtures__/MultiProjectUpdatesReport.json
diff --git a/test/datasource/gradle/_fixtures/build.gradle.example1 b/lib/manager/gradle/__fixtures__/build.gradle.example1
similarity index 100%
rename from test/datasource/gradle/_fixtures/build.gradle.example1
rename to lib/manager/gradle/__fixtures__/build.gradle.example1
diff --git a/test/datasource/gradle/_fixtures/updatesReport.json b/lib/manager/gradle/__fixtures__/updatesReport.json
similarity index 100%
rename from test/datasource/gradle/_fixtures/updatesReport.json
rename to lib/manager/gradle/__fixtures__/updatesReport.json
diff --git a/test/datasource/gradle/_fixtures/updatesReportEmpty.json b/lib/manager/gradle/__fixtures__/updatesReportEmpty.json
similarity index 100%
rename from test/datasource/gradle/_fixtures/updatesReportEmpty.json
rename to lib/manager/gradle/__fixtures__/updatesReportEmpty.json
diff --git a/lib/manager/gradle/index.spec.ts b/lib/manager/gradle/index.spec.ts
index a7d7fad279..323182c17c 100644
--- a/lib/manager/gradle/index.spec.ts
+++ b/lib/manager/gradle/index.spec.ts
@@ -27,7 +27,7 @@ const config = {
 };
 
 const updatesDependenciesReport = fsReal.readFileSync(
-  'test/datasource/gradle/_fixtures/updatesReport.json',
+  'lib/manager/gradle/__fixtures__/updatesReport.json',
   'utf8'
 );
 
@@ -79,7 +79,7 @@ describe('manager/gradle', () => {
 
       fs.readFile.mockResolvedValue(
         fsReal.readFileSync(
-          'test/datasource/gradle/_fixtures/updatesReportEmpty.json',
+          'lib/manager/gradle/__fixtures__/updatesReportEmpty.json',
           'utf8'
         ) as any
       );
@@ -131,7 +131,7 @@ describe('manager/gradle', () => {
       const execSnapshots = mockExecAll(exec, gradleOutput);
 
       const multiProjectUpdatesReport = fsReal.readFileSync(
-        'test/datasource/gradle/_fixtures/MultiProjectUpdatesReport.json',
+        'lib/manager/gradle/__fixtures__/MultiProjectUpdatesReport.json',
         'utf8'
       );
       fs.readFile.mockResolvedValue(multiProjectUpdatesReport as any);
@@ -226,7 +226,7 @@ describe('manager/gradle', () => {
       const execSnapshots = mockExecAll(exec, gradleOutput);
 
       const buildGradleContent = fsReal.readFileSync(
-        'test/datasource/gradle/_fixtures/build.gradle.example1',
+        'lib/manager/gradle/__fixtures__/build.gradle.example1',
         'utf8'
       );
       // prettier-ignore
diff --git a/test/config/npm/_fixtures/plocktest1/package-lock.json b/lib/manager/npm/__fixtures__/plocktest1/package-lock.json
similarity index 100%
rename from test/config/npm/_fixtures/plocktest1/package-lock.json
rename to lib/manager/npm/__fixtures__/plocktest1/package-lock.json
diff --git a/test/config/npm/_fixtures/plocktest1/package.json b/lib/manager/npm/__fixtures__/plocktest1/package.json
similarity index 100%
rename from test/config/npm/_fixtures/plocktest1/package.json
rename to lib/manager/npm/__fixtures__/plocktest1/package.json
diff --git a/test/config/npm/_fixtures/plocktest1/yarn.lock b/lib/manager/npm/__fixtures__/plocktest1/yarn.lock
similarity index 100%
rename from test/config/npm/_fixtures/plocktest1/yarn.lock
rename to lib/manager/npm/__fixtures__/plocktest1/yarn.lock
diff --git a/lib/manager/npm/extract/npm.spec.ts b/lib/manager/npm/extract/npm.spec.ts
index 1a5b7c5626..463bc74e0b 100644
--- a/lib/manager/npm/extract/npm.spec.ts
+++ b/lib/manager/npm/extract/npm.spec.ts
@@ -13,7 +13,7 @@ describe('manager/npm/extract/npm', () => {
     });
     it('extracts', async () => {
       const plocktest1Lock = readFileSync(
-        'test/config/npm/_fixtures/plocktest1/package-lock.json'
+        'lib/manager/npm/__fixtures__/plocktest1/package-lock.json'
       );
       platform.getFile.mockReturnValueOnce(plocktest1Lock);
       const res = await getNpmLock('package.json');
diff --git a/lib/manager/npm/extract/yarn.spec.ts b/lib/manager/npm/extract/yarn.spec.ts
index e8cf1f19d5..01e39e4e7f 100644
--- a/lib/manager/npm/extract/yarn.spec.ts
+++ b/lib/manager/npm/extract/yarn.spec.ts
@@ -13,7 +13,7 @@ describe('manager/npm/extract/yarn', () => {
     });
     it('extracts', async () => {
       const plocktest1Lock = readFileSync(
-        'test/config/npm/_fixtures/plocktest1/yarn.lock',
+        'lib/manager/npm/__fixtures__/plocktest1/yarn.lock',
         'utf8'
       );
       platform.getFile.mockReturnValueOnce(plocktest1Lock);
diff --git a/test/datasource/nuget/_fixtures/.gitignore b/lib/manager/nuget/__fixtures__/.gitignore
similarity index 100%
rename from test/datasource/nuget/_fixtures/.gitignore
rename to lib/manager/nuget/__fixtures__/.gitignore
diff --git a/test/datasource/nuget/_fixtures/sample.csproj b/lib/manager/nuget/__fixtures__/sample.csproj
similarity index 100%
rename from test/datasource/nuget/_fixtures/sample.csproj
rename to lib/manager/nuget/__fixtures__/sample.csproj
diff --git a/lib/manager/nuget/extract.spec.ts b/lib/manager/nuget/extract.spec.ts
index 87c6235944..f37007c10d 100644
--- a/lib/manager/nuget/extract.spec.ts
+++ b/lib/manager/nuget/extract.spec.ts
@@ -2,7 +2,7 @@ import { readFileSync } from 'fs';
 import { extractPackageFile } from './extract';
 
 const sample = readFileSync(
-  'test/datasource/nuget/_fixtures/sample.csproj',
+  'lib/manager/nuget/__fixtures__/sample.csproj',
   'utf8'
 );
 
diff --git a/lib/manager/nuget/update.spec.ts b/lib/manager/nuget/update.spec.ts
index 71cad62857..7aa521e41c 100644
--- a/lib/manager/nuget/update.spec.ts
+++ b/lib/manager/nuget/update.spec.ts
@@ -2,7 +2,7 @@ import { readFileSync } from 'fs';
 import { updateDependency } from './update';
 
 const csProj = readFileSync(
-  'test/datasource/nuget/_fixtures/sample.csproj',
+  'lib/manager/nuget/__fixtures__/sample.csproj',
   'utf8'
 );
 
diff --git a/test/datasource/terraform/_fixtures/1.tf b/lib/manager/terraform/__fixtures__/1.tf
similarity index 100%
rename from test/datasource/terraform/_fixtures/1.tf
rename to lib/manager/terraform/__fixtures__/1.tf
diff --git a/lib/manager/terraform/extract.spec.ts b/lib/manager/terraform/extract.spec.ts
index 6815e0be83..fefeef86f2 100644
--- a/lib/manager/terraform/extract.spec.ts
+++ b/lib/manager/terraform/extract.spec.ts
@@ -5,7 +5,7 @@ import {
   getTerraformDependencyType,
 } from './extract';
 
-const tf1 = readFileSync('test/datasource/terraform/_fixtures/1.tf', 'utf8');
+const tf1 = readFileSync('lib/manager/terraform/__fixtures__/1.tf', 'utf8');
 const tf2 = `module "relative" {
   source = "../../modules/fe"
 }
diff --git a/lib/manager/terraform/update.spec.ts b/lib/manager/terraform/update.spec.ts
index 93345d8b1f..ca76e8227f 100644
--- a/lib/manager/terraform/update.spec.ts
+++ b/lib/manager/terraform/update.spec.ts
@@ -1,7 +1,7 @@
 import { readFileSync } from 'fs';
 import { updateDependency } from './update';
 
-const tf1 = readFileSync('test/datasource/terraform/_fixtures/1.tf', 'utf8');
+const tf1 = readFileSync('lib/manager/terraform/__fixtures__/1.tf', 'utf8');
 
 describe('manager/terraform/update', () => {
   describe('updateDependency', () => {
diff --git a/test/static-files.spec.ts b/test/static-files.spec.ts
index 2ae7483104..946164b1ab 100644
--- a/test/static-files.spec.ts
+++ b/test/static-files.spec.ts
@@ -22,6 +22,6 @@ async function getFiles(dir: string): Promise<string[]> {
 
 describe('static-files', () => {
   it('has same static files in lib and dist', async () => {
-    expect(await getFiles('lib')).toEqual(await getFiles('dist'));
+    expect(await getFiles('dist')).toEqual(await getFiles('lib'));
   });
 });
-- 
GitLab