diff --git a/.eslintignore b/.eslintignore
index 0434a7df0d92925c05f6643256c27f99cde93a2e..fe9c21c4a52289cb61b2eb4188d6f110545fc388 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -6,7 +6,8 @@ dist
 coverage
 
 # don't lint test stuff
-test/**/**/_fixtures
-lib/types/**/*.d.ts
-**/__mocks__/**/*.ts
+**/__fixtures__/**
+**/_fixtures/**
+**/__mocks__/**
+**/*.d.ts
 /config.js
diff --git a/.prettierignore b/.prettierignore
index 4a209236dc42f85cac1d810e35368af2795b85dc..03c406723e3c8dc3637c64391b3cc5040fe6ea5a 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,4 +1,4 @@
-# It would be nice to remove this file and use .gitignore instead however we need to add package.json and _fixtures
+# It would be nice to remove this file and use .gitignore instead however we need to add package.json and __fixtures__
 
 /node_modules
 /config.js
@@ -9,5 +9,7 @@
 .cache
 /*.log
 package.json
-test/**/**/_fixtures
+**/__fixtures__/
+**/_fixtures/
+**/__mocks__/
 bin/yarn*
diff --git a/test/manager/ansible/_fixtures/main1.yaml b/lib/manager/ansible/__fixtures__/main1.yaml
similarity index 100%
rename from test/manager/ansible/_fixtures/main1.yaml
rename to lib/manager/ansible/__fixtures__/main1.yaml
diff --git a/test/manager/ansible/_fixtures/main2.yaml b/lib/manager/ansible/__fixtures__/main2.yaml
similarity index 100%
rename from test/manager/ansible/_fixtures/main2.yaml
rename to lib/manager/ansible/__fixtures__/main2.yaml
diff --git a/test/manager/ansible/__snapshots__/extract.spec.ts.snap b/lib/manager/ansible/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/ansible/__snapshots__/extract.spec.ts.snap
rename to lib/manager/ansible/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/ansible/extract.spec.ts b/lib/manager/ansible/extract.spec.ts
similarity index 82%
rename from test/manager/ansible/extract.spec.ts
rename to lib/manager/ansible/extract.spec.ts
index 832a02c757666dcac8df7a4cc50961e5cdecfbaf..a6728e12345f488d0dadedf4bf0c46efd715f37c 100644
--- a/test/manager/ansible/extract.spec.ts
+++ b/lib/manager/ansible/extract.spec.ts
@@ -1,12 +1,12 @@
 import { readFileSync } from 'fs';
-import extractPackageFile from '../../../lib/manager/ansible/extract';
+import extractPackageFile from './extract';
 
 const yamlFile1 = readFileSync(
-  'test/manager/ansible/_fixtures/main1.yaml',
+  'lib/manager/ansible/__fixtures__/main1.yaml',
   'utf8'
 );
 const yamlFile2 = readFileSync(
-  'test/manager/ansible/_fixtures/main2.yaml',
+  'lib/manager/ansible/__fixtures__/main2.yaml',
   'utf8'
 );
 
diff --git a/test/manager/ansible/update.spec.ts b/lib/manager/ansible/update.spec.ts
similarity index 91%
rename from test/manager/ansible/update.spec.ts
rename to lib/manager/ansible/update.spec.ts
index 44a444ed46d6f435b62d778d800acad642d18d7c..a03c1cf416c34420c24cbfd374cd10640c51ce3f 100644
--- a/test/manager/ansible/update.spec.ts
+++ b/lib/manager/ansible/update.spec.ts
@@ -1,12 +1,12 @@
 import { readFileSync } from 'fs';
-import updateDependency from '../../../lib/manager/ansible/update';
+import updateDependency from './update';
 
 const yamlFile1 = readFileSync(
-  'test/manager/ansible/_fixtures/main1.yaml',
+  'lib/manager/ansible/__fixtures__/main1.yaml',
   'utf8'
 );
 const yamlFile2 = readFileSync(
-  'test/manager/ansible/_fixtures/main2.yaml',
+  'lib/manager/ansible/__fixtures__/main2.yaml',
   'utf8'
 );
 
diff --git a/test/manager/bazel/_fixtures/WORKSPACE1 b/lib/manager/bazel/__fixtures__/WORKSPACE1
similarity index 100%
rename from test/manager/bazel/_fixtures/WORKSPACE1
rename to lib/manager/bazel/__fixtures__/WORKSPACE1
diff --git a/test/manager/bazel/_fixtures/container_pull b/lib/manager/bazel/__fixtures__/container_pull
similarity index 100%
rename from test/manager/bazel/_fixtures/container_pull
rename to lib/manager/bazel/__fixtures__/container_pull
diff --git a/test/manager/bazel/_fixtures/repositories.bzl b/lib/manager/bazel/__fixtures__/repositories.bzl
similarity index 100%
rename from test/manager/bazel/_fixtures/repositories.bzl
rename to lib/manager/bazel/__fixtures__/repositories.bzl
diff --git a/test/manager/bazel/__snapshots__/extract.spec.ts.snap b/lib/manager/bazel/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/bazel/__snapshots__/extract.spec.ts.snap
rename to lib/manager/bazel/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/bazel/__snapshots__/update.spec.ts.snap b/lib/manager/bazel/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/bazel/__snapshots__/update.spec.ts.snap
rename to lib/manager/bazel/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/bazel/extract.spec.ts b/lib/manager/bazel/extract.spec.ts
similarity index 94%
rename from test/manager/bazel/extract.spec.ts
rename to lib/manager/bazel/extract.spec.ts
index 4844a4835b4d1f33c4eb47d0890047e99bd4dcee..472ee6834049587338a322c6fc170d93567995ed 100644
--- a/test/manager/bazel/extract.spec.ts
+++ b/lib/manager/bazel/extract.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/bazel/extract';
+import { extractPackageFile } from './extract';
 
 const workspaceFile = readFileSync(
-  'test/manager/bazel/_fixtures/WORKSPACE1',
+  'lib/manager/bazel/__fixtures__/WORKSPACE1',
   'utf8'
 );
 
 const fileWithBzlExtension = readFileSync(
-  'test/manager/bazel/_fixtures/repositories.bzl',
+  'lib/manager/bazel/__fixtures__/repositories.bzl',
   'utf8'
 );
 
diff --git a/test/manager/bazel/update.spec.ts b/lib/manager/bazel/update.spec.ts
similarity index 96%
rename from test/manager/bazel/update.spec.ts
rename to lib/manager/bazel/update.spec.ts
index ab7ec4c0e67bfa09af82a71c513d13459c486889..400c43eb4b21414f8594e563573a47522a35b595 100644
--- a/test/manager/bazel/update.spec.ts
+++ b/lib/manager/bazel/update.spec.ts
@@ -1,25 +1,25 @@
 import { readFileSync } from 'fs';
 import { fromStream as _fromStream } from 'hasha';
 import { resolve } from 'path';
-import { updateDependency } from '../../../lib/manager/bazel/update';
+import { updateDependency } from './update';
 
 jest.mock('hasha');
-jest.mock('../../../lib/util/got');
+jest.mock('../../util/got');
 
 const fromStream: jest.Mock<Promise<string>> = _fromStream as any;
 
 const content = readFileSync(
-  resolve('test/manager/bazel/_fixtures/WORKSPACE1'),
+  resolve('lib/manager/bazel/__fixtures__/WORKSPACE1'),
   'utf8'
 );
 
 const contentContainerPull = readFileSync(
-  resolve('test/manager/bazel/_fixtures/container_pull'),
+  resolve('lib/manager/bazel/__fixtures__/container_pull'),
   'utf8'
 );
 
 const fileWithBzlExtension = readFileSync(
-  'test/manager/bazel/_fixtures/repositories.bzl',
+  'lib/manager/bazel/__fixtures__/repositories.bzl',
   'utf8'
 );
 
diff --git a/test/manager/buildkite/_fixtures/pipeline1.yml b/lib/manager/buildkite/__fixtures__/pipeline1.yml
similarity index 100%
rename from test/manager/buildkite/_fixtures/pipeline1.yml
rename to lib/manager/buildkite/__fixtures__/pipeline1.yml
diff --git a/test/manager/buildkite/_fixtures/pipeline2.yml b/lib/manager/buildkite/__fixtures__/pipeline2.yml
similarity index 100%
rename from test/manager/buildkite/_fixtures/pipeline2.yml
rename to lib/manager/buildkite/__fixtures__/pipeline2.yml
diff --git a/test/manager/buildkite/_fixtures/pipeline3.yml b/lib/manager/buildkite/__fixtures__/pipeline3.yml
similarity index 100%
rename from test/manager/buildkite/_fixtures/pipeline3.yml
rename to lib/manager/buildkite/__fixtures__/pipeline3.yml
diff --git a/test/manager/buildkite/_fixtures/pipeline4.yml b/lib/manager/buildkite/__fixtures__/pipeline4.yml
similarity index 100%
rename from test/manager/buildkite/_fixtures/pipeline4.yml
rename to lib/manager/buildkite/__fixtures__/pipeline4.yml
diff --git a/test/manager/buildkite/__snapshots__/extract.spec.ts.snap b/lib/manager/buildkite/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/buildkite/__snapshots__/extract.spec.ts.snap
rename to lib/manager/buildkite/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/buildkite/__snapshots__/update.spec.ts.snap b/lib/manager/buildkite/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/buildkite/__snapshots__/update.spec.ts.snap
rename to lib/manager/buildkite/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/buildkite/extract.spec.ts b/lib/manager/buildkite/extract.spec.ts
similarity index 80%
rename from test/manager/buildkite/extract.spec.ts
rename to lib/manager/buildkite/extract.spec.ts
index 90ad26d5ac653e51dba4bec4a0cc40ac8bcd0593..0c653f64389d560c00ed92bef417d7057ccb8230 100644
--- a/test/manager/buildkite/extract.spec.ts
+++ b/lib/manager/buildkite/extract.spec.ts
@@ -1,20 +1,20 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/buildkite/extract';
+import { extractPackageFile } from './extract';
 
 const pipeline1 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline1.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline1.yml',
   'utf8'
 );
 const pipeline2 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline2.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline2.yml',
   'utf8'
 );
 const pipeline3 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline3.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline3.yml',
   'utf8'
 );
 const pipeline4 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline4.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline4.yml',
   'utf8'
 );
 
diff --git a/test/manager/buildkite/update.spec.ts b/lib/manager/buildkite/update.spec.ts
similarity index 89%
rename from test/manager/buildkite/update.spec.ts
rename to lib/manager/buildkite/update.spec.ts
index 15240183d13cbc0d688f97ae3a0db6ebd85d5e7f..6c6c2ec2d850b43406ab9d0047e050a179918e7a 100644
--- a/test/manager/buildkite/update.spec.ts
+++ b/lib/manager/buildkite/update.spec.ts
@@ -1,16 +1,16 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/buildkite/update';
+import { updateDependency } from './update';
 
 const pipeline1 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline1.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline1.yml',
   'utf8'
 );
 const pipeline2 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline2.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline2.yml',
   'utf8'
 );
 const pipeline4 = readFileSync(
-  'test/manager/buildkite/_fixtures/pipeline4.yml',
+  'lib/manager/buildkite/__fixtures__/pipeline4.yml',
   'utf8'
 );
 
diff --git a/test/manager/bundler/_fixtures/Gemfile.gitlab-foss b/lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.gitlab-foss
rename to lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss
diff --git a/test/manager/bundler/_fixtures/Gemfile.gitlab-foss.lock b/lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss.lock
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.gitlab-foss.lock
rename to lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss.lock
diff --git a/test/manager/bundler/_fixtures/Gemfile.mastodon b/lib/manager/bundler/__fixtures__/Gemfile.mastodon
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.mastodon
rename to lib/manager/bundler/__fixtures__/Gemfile.mastodon
diff --git a/test/manager/bundler/_fixtures/Gemfile.mastodon.lock b/lib/manager/bundler/__fixtures__/Gemfile.mastodon.lock
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.mastodon.lock
rename to lib/manager/bundler/__fixtures__/Gemfile.mastodon.lock
diff --git a/test/manager/bundler/_fixtures/Gemfile.rails b/lib/manager/bundler/__fixtures__/Gemfile.rails
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.rails
rename to lib/manager/bundler/__fixtures__/Gemfile.rails
diff --git a/test/manager/bundler/_fixtures/Gemfile.rails.lock b/lib/manager/bundler/__fixtures__/Gemfile.rails.lock
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.rails.lock
rename to lib/manager/bundler/__fixtures__/Gemfile.rails.lock
diff --git a/test/manager/bundler/_fixtures/Gemfile.rubyci b/lib/manager/bundler/__fixtures__/Gemfile.rubyci
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.rubyci
rename to lib/manager/bundler/__fixtures__/Gemfile.rubyci
diff --git a/test/manager/bundler/_fixtures/Gemfile.rubyci.lock b/lib/manager/bundler/__fixtures__/Gemfile.rubyci.lock
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.rubyci.lock
rename to lib/manager/bundler/__fixtures__/Gemfile.rubyci.lock
diff --git a/test/manager/bundler/_fixtures/Gemfile.sourceBlockWithNewLines b/lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.sourceBlockWithNewLines
rename to lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines
diff --git a/test/manager/bundler/_fixtures/Gemfile.sourceBlockWithNewLines.lock b/lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines.lock
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.sourceBlockWithNewLines.lock
rename to lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines.lock
diff --git a/test/manager/bundler/_fixtures/Gemfile.sourceGroup b/lib/manager/bundler/__fixtures__/Gemfile.sourceGroup
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.sourceGroup
rename to lib/manager/bundler/__fixtures__/Gemfile.sourceGroup
diff --git a/test/manager/bundler/_fixtures/Gemfile.webpacker b/lib/manager/bundler/__fixtures__/Gemfile.webpacker
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.webpacker
rename to lib/manager/bundler/__fixtures__/Gemfile.webpacker
diff --git a/test/manager/bundler/_fixtures/Gemfile.webpacker.lock b/lib/manager/bundler/__fixtures__/Gemfile.webpacker.lock
similarity index 100%
rename from test/manager/bundler/_fixtures/Gemfile.webpacker.lock
rename to lib/manager/bundler/__fixtures__/Gemfile.webpacker.lock
diff --git a/test/manager/bundler/__snapshots__/artifacts.spec.ts.snap b/lib/manager/bundler/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/bundler/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/bundler/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/bundler/__snapshots__/extract.spec.ts.snap b/lib/manager/bundler/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/bundler/__snapshots__/extract.spec.ts.snap
rename to lib/manager/bundler/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/bundler/__snapshots__/gemfile.spec.ts.snap b/lib/manager/bundler/__snapshots__/gemfile.spec.ts.snap
similarity index 100%
rename from test/manager/bundler/__snapshots__/gemfile.spec.ts.snap
rename to lib/manager/bundler/__snapshots__/gemfile.spec.ts.snap
diff --git a/test/manager/bundler/__snapshots__/locked-version.spec.ts.snap b/lib/manager/bundler/__snapshots__/locked-version.spec.ts.snap
similarity index 100%
rename from test/manager/bundler/__snapshots__/locked-version.spec.ts.snap
rename to lib/manager/bundler/__snapshots__/locked-version.spec.ts.snap
diff --git a/test/manager/bundler/artifacts.spec.ts b/lib/manager/bundler/artifacts.spec.ts
similarity index 91%
rename from test/manager/bundler/artifacts.spec.ts
rename to lib/manager/bundler/artifacts.spec.ts
index 26b15659b4bfb800790c007c1b68a1ecfc1d35bf..0f0944889516becfd423fe2a4f555a580ea96ffa 100644
--- a/test/manager/bundler/artifacts.spec.ts
+++ b/lib/manager/bundler/artifacts.spec.ts
@@ -2,15 +2,15 @@ import { join } from 'upath';
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
 import Git from 'simple-git/promise';
-import { updateArtifacts } from '../../../lib/manager/bundler';
-import { platform as _platform } from '../../../lib/platform';
-import * as _datasource from '../../../lib/datasource/docker';
-import { mocked } from '../../util';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { BinarySource } from '../../../lib/util/exec/common';
-import { setUtilConfig } from '../../../lib/util';
-import { resetPrefetchedImages } from '../../../lib/util/exec/docker';
+import { updateArtifacts } from '.';
+import { platform as _platform } from '../../platform';
+import * as _datasource from '../../datasource/docker';
+import { mocked } from '../../../test/util';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { BinarySource } from '../../util/exec/common';
+import { setUtilConfig } from '../../util';
+import { resetPrefetchedImages } from '../../util/exec/docker';
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
@@ -20,9 +20,9 @@ const datasource = mocked(_datasource);
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
-jest.mock('../../../lib/platform');
-jest.mock('../../../lib/datasource/docker');
+jest.mock('../../util/exec/env');
+jest.mock('../../platform');
+jest.mock('../../datasource/docker');
 
 let config;
 
diff --git a/test/manager/bundler/extract.spec.ts b/lib/manager/bundler/extract.spec.ts
similarity index 82%
rename from test/manager/bundler/extract.spec.ts
rename to lib/manager/bundler/extract.spec.ts
index 5f12548bdd53cdf320fa21f28e13b8eba8d99633..16dc25d857cc00103821b922bfb68cbe219674eb 100644
--- a/test/manager/bundler/extract.spec.ts
+++ b/lib/manager/bundler/extract.spec.ts
@@ -1,62 +1,62 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/bundler/extract';
-import { platform as _platform } from '../../../lib/platform';
-import { isValid } from '../../../lib/versioning/ruby';
+import { extractPackageFile } from './extract';
+import { platform as _platform } from '../../platform';
+import { isValid } from '../../versioning/ruby';
 
 const platform: any = _platform;
 
 const railsGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rails',
+  'lib/manager/bundler/__fixtures__/Gemfile.rails',
   'utf8'
 );
 const railsGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rails.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.rails.lock',
   'utf8'
 );
 
 const sourceGroupGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.sourceGroup',
+  'lib/manager/bundler/__fixtures__/Gemfile.sourceGroup',
   'utf8'
 );
 const webPackerGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.webpacker',
+  'lib/manager/bundler/__fixtures__/Gemfile.webpacker',
   'utf8'
 );
 const webPackerGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.webpacker.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.webpacker.lock',
   'utf8'
 );
 const mastodonGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.mastodon',
+  'lib/manager/bundler/__fixtures__/Gemfile.mastodon',
   'utf8'
 );
 const mastodonGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.mastodon.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.mastodon.lock',
   'utf8'
 );
 const rubyCIGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rubyci.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.rubyci.lock',
   'utf8'
 );
 
 const rubyCIGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rubyci',
+  'lib/manager/bundler/__fixtures__/Gemfile.rubyci',
   'utf8'
 );
 const gitlabFossGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.gitlab-foss.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss.lock',
   'utf8'
 );
 const gitlabFossGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.gitlab-foss',
+  'lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss',
   'utf8'
 );
 const sourceBlockWithNewLinesGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.sourceBlockWithNewLines.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines.lock',
   'utf8'
 );
 const sourceBlockWithNewLinesGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.sourceBlockWithNewLines',
+  'lib/manager/bundler/__fixtures__/Gemfile.sourceBlockWithNewLines',
   'utf8'
 );
 
diff --git a/test/manager/bundler/gemfile.spec.ts b/lib/manager/bundler/gemfile.spec.ts
similarity index 65%
rename from test/manager/bundler/gemfile.spec.ts
rename to lib/manager/bundler/gemfile.spec.ts
index fb765ef2a3ed55ae97c8b1e873377a17a0ad3763..cee947b8a84b7f6917cf12cb605824648ec67229 100644
--- a/test/manager/bundler/gemfile.spec.ts
+++ b/lib/manager/bundler/gemfile.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { extractLockFileEntries } from '../../../lib/manager/bundler/locked-version';
+import { extractLockFileEntries } from './locked-version';
 
 const gemLockFile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rails.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.rails.lock',
   'utf8'
 );
 describe('extract lib/manager/bundler/gemfile.rails.lock', () => {
diff --git a/test/manager/bundler/locked-version.spec.ts b/lib/manager/bundler/locked-version.spec.ts
similarity index 76%
rename from test/manager/bundler/locked-version.spec.ts
rename to lib/manager/bundler/locked-version.spec.ts
index b7d9564c4158929a4040c1ba3aede9fd42e1b0e3..6670a10aa491159fad726fa8d70e7587c5e8c903 100644
--- a/test/manager/bundler/locked-version.spec.ts
+++ b/lib/manager/bundler/locked-version.spec.ts
@@ -1,24 +1,24 @@
 import { readFileSync } from 'fs';
-import { extractLockFileEntries } from '../../../lib/manager/bundler/locked-version';
+import { extractLockFileEntries } from './locked-version';
 
 const railsGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rails.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.rails.lock',
   'utf8'
 );
 const webPackerGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.webpacker.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.webpacker.lock',
   'utf8'
 );
 const mastodonGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.mastodon.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.mastodon.lock',
   'utf8'
 );
 const rubyCIGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rubyci.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.rubyci.lock',
   'utf8'
 );
 const gitlabFossGemfileLock = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.gitlab-foss.lock',
+  'lib/manager/bundler/__fixtures__/Gemfile.gitlab-foss.lock',
   'utf8'
 );
 describe('/lib/manager/bundler/locked-version', () => {
diff --git a/test/manager/bundler/range.spec.ts b/lib/manager/bundler/range.spec.ts
similarity index 75%
rename from test/manager/bundler/range.spec.ts
rename to lib/manager/bundler/range.spec.ts
index 9983e51d5df5e743888d0537e40874dac6f155bf..a14cce7bdb386807cdfbd1e7f8020cc11b9301e6 100644
--- a/test/manager/bundler/range.spec.ts
+++ b/lib/manager/bundler/range.spec.ts
@@ -1,4 +1,4 @@
-import { getRangeStrategy } from '../../../lib/manager/bundler';
+import { getRangeStrategy } from '.';
 
 describe('lib/manager/bundler/range', () => {
   describe('getRangeStrategy()', () => {
diff --git a/test/manager/bundler/update.spec.ts b/lib/manager/bundler/update.spec.ts
similarity index 93%
rename from test/manager/bundler/update.spec.ts
rename to lib/manager/bundler/update.spec.ts
index ff4db0833d76547d40a99d9c7fe94afc18fa34b3..045487bb28a17652d0878bbfc398737403f5b311 100644
--- a/test/manager/bundler/update.spec.ts
+++ b/lib/manager/bundler/update.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/bundler/update';
+import { updateDependency } from './update';
 
 const railsGemfile = readFileSync(
-  'test/manager/bundler/_fixtures/Gemfile.rails',
+  'lib/manager/bundler/__fixtures__/Gemfile.rails',
   'utf8'
 );
 
diff --git a/test/manager/cargo/_fixtures/Cargo.1.toml b/lib/manager/cargo/__fixtures__/Cargo.1.toml
similarity index 100%
rename from test/manager/cargo/_fixtures/Cargo.1.toml
rename to lib/manager/cargo/__fixtures__/Cargo.1.toml
diff --git a/test/manager/cargo/_fixtures/Cargo.2.toml b/lib/manager/cargo/__fixtures__/Cargo.2.toml
similarity index 100%
rename from test/manager/cargo/_fixtures/Cargo.2.toml
rename to lib/manager/cargo/__fixtures__/Cargo.2.toml
diff --git a/test/manager/cargo/_fixtures/Cargo.3.toml b/lib/manager/cargo/__fixtures__/Cargo.3.toml
similarity index 100%
rename from test/manager/cargo/_fixtures/Cargo.3.toml
rename to lib/manager/cargo/__fixtures__/Cargo.3.toml
diff --git a/test/manager/cargo/_fixtures/Cargo.4.toml b/lib/manager/cargo/__fixtures__/Cargo.4.toml
similarity index 100%
rename from test/manager/cargo/_fixtures/Cargo.4.toml
rename to lib/manager/cargo/__fixtures__/Cargo.4.toml
diff --git a/test/manager/cargo/_fixtures/Cargo.5.toml b/lib/manager/cargo/__fixtures__/Cargo.5.toml
similarity index 100%
rename from test/manager/cargo/_fixtures/Cargo.5.toml
rename to lib/manager/cargo/__fixtures__/Cargo.5.toml
diff --git a/test/manager/cargo/__snapshots__/artifacts.spec.ts.snap b/lib/manager/cargo/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/cargo/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/cargo/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/cargo/__snapshots__/extract.spec.ts.snap b/lib/manager/cargo/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/cargo/__snapshots__/extract.spec.ts.snap
rename to lib/manager/cargo/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/cargo/__snapshots__/update.spec.ts.snap b/lib/manager/cargo/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/cargo/__snapshots__/update.spec.ts.snap
rename to lib/manager/cargo/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/cargo/artifacts.spec.ts b/lib/manager/cargo/artifacts.spec.ts
similarity index 86%
rename from test/manager/cargo/artifacts.spec.ts
rename to lib/manager/cargo/artifacts.spec.ts
index e7faa0f00ccc6a5aee35740c49414b9c26d8c6e4..24724a361cd2c99c01e806cb0de8cc07fde4e52b 100644
--- a/test/manager/cargo/artifacts.spec.ts
+++ b/lib/manager/cargo/artifacts.spec.ts
@@ -1,18 +1,18 @@
 import { join } from 'upath';
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
-import * as cargo from '../../../lib/manager/cargo/artifacts';
-import { platform as _platform } from '../../../lib/platform';
-import { mocked } from '../../util';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { setExecConfig } from '../../../lib/util/exec';
-import { BinarySource } from '../../../lib/util/exec/common';
-import { resetPrefetchedImages } from '../../../lib/util/exec/docker';
+import * as cargo from './artifacts';
+import { platform as _platform } from '../../platform';
+import { mocked } from '../../../test/util';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { setExecConfig } from '../../util/exec';
+import { BinarySource } from '../../util/exec/common';
+import { resetPrefetchedImages } from '../../util/exec/docker';
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
+jest.mock('../../util/exec/env');
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
diff --git a/test/manager/cargo/extract.spec.ts b/lib/manager/cargo/extract.spec.ts
similarity index 86%
rename from test/manager/cargo/extract.spec.ts
rename to lib/manager/cargo/extract.spec.ts
index 9694f6682c33d8f485b4e9f0790acb76e16edd44..363d74700d707102df7b5aa42b929050258f3582 100644
--- a/test/manager/cargo/extract.spec.ts
+++ b/lib/manager/cargo/extract.spec.ts
@@ -1,24 +1,24 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/cargo/extract';
+import { extractPackageFile } from './extract';
 
 const cargo1toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.1.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.1.toml',
   'utf8'
 );
 const cargo2toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.2.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.2.toml',
   'utf8'
 );
 const cargo3toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.3.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.3.toml',
   'utf8'
 );
 const cargo4toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.4.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.4.toml',
   'utf8'
 );
 const cargo5toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.5.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.5.toml',
   'utf8'
 );
 
diff --git a/test/manager/cargo/update.spec.ts b/lib/manager/cargo/update.spec.ts
similarity index 96%
rename from test/manager/cargo/update.spec.ts
rename to lib/manager/cargo/update.spec.ts
index d74c3657cd6cc260919f1f5d760a7345c5b09f3b..1cbb15280e2d97eb4120f0d5ff3311425298bf4d 100644
--- a/test/manager/cargo/update.spec.ts
+++ b/lib/manager/cargo/update.spec.ts
@@ -1,16 +1,16 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/cargo/update';
+import { updateDependency } from './update';
 
 const cargo1toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.1.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.1.toml',
   'utf8'
 );
 const cargo4toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.4.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.4.toml',
   'utf8'
 );
 const cargo5toml = readFileSync(
-  'test/manager/cargo/_fixtures/Cargo.5.toml',
+  'lib/manager/cargo/__fixtures__/Cargo.5.toml',
   'utf8'
 );
 
diff --git a/test/manager/cdnurl/_fixtures/sample.txt b/lib/manager/cdnurl/__fixtures__/sample.txt
similarity index 100%
rename from test/manager/cdnurl/_fixtures/sample.txt
rename to lib/manager/cdnurl/__fixtures__/sample.txt
diff --git a/test/manager/cdnurl/__snapshots__/extract.spec.ts.snap b/lib/manager/cdnurl/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/cdnurl/__snapshots__/extract.spec.ts.snap
rename to lib/manager/cdnurl/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/cdnurl/extract.spec.ts b/lib/manager/cdnurl/extract.spec.ts
similarity index 69%
rename from test/manager/cdnurl/extract.spec.ts
rename to lib/manager/cdnurl/extract.spec.ts
index d6075fe3a179463a14edf7b16ca7d8adeeee7f39..bbd4fdf0ff37e7daf3555785108b43e3b9b8ef57 100644
--- a/test/manager/cdnurl/extract.spec.ts
+++ b/lib/manager/cdnurl/extract.spec.ts
@@ -1,9 +1,9 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/cdnurl';
+import { extractPackageFile } from '.';
 
 const input = readFileSync(
-  resolve(__dirname, `./_fixtures/sample.txt`),
+  resolve(__dirname, `./__fixtures__/sample.txt`),
   'utf8'
 );
 
diff --git a/test/manager/cdnurl/update.spec.ts b/lib/manager/cdnurl/update.spec.ts
similarity index 91%
rename from test/manager/cdnurl/update.spec.ts
rename to lib/manager/cdnurl/update.spec.ts
index 21d7bd49643435ee682cfa54cc0184fcc06982a3..c57f770bcedae66acdb5f53b5aab540f5220db99 100644
--- a/test/manager/cdnurl/update.spec.ts
+++ b/lib/manager/cdnurl/update.spec.ts
@@ -1,12 +1,9 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import {
-  extractPackageFile,
-  updateDependency,
-} from '../../../lib/manager/cdnurl';
+import { extractPackageFile, updateDependency } from '.';
 
 const content = readFileSync(
-  resolve(__dirname, `./_fixtures/sample.txt`),
+  resolve(__dirname, `./__fixtures__/sample.txt`),
   'utf8'
 );
 
diff --git a/test/manager/circleci/_fixtures/config.yml b/lib/manager/circleci/__fixtures__/config.yml
similarity index 100%
rename from test/manager/circleci/_fixtures/config.yml
rename to lib/manager/circleci/__fixtures__/config.yml
diff --git a/test/manager/circleci/_fixtures/config2.yml b/lib/manager/circleci/__fixtures__/config2.yml
similarity index 100%
rename from test/manager/circleci/_fixtures/config2.yml
rename to lib/manager/circleci/__fixtures__/config2.yml
diff --git a/test/manager/circleci/__snapshots__/extract.spec.ts.snap b/lib/manager/circleci/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/circleci/__snapshots__/extract.spec.ts.snap
rename to lib/manager/circleci/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/circleci/extract.spec.ts b/lib/manager/circleci/extract.spec.ts
similarity index 79%
rename from test/manager/circleci/extract.spec.ts
rename to lib/manager/circleci/extract.spec.ts
index 35c2b5e6ebd94612d2c9260c6413cc0756032150..949821fddb10cc249375c24f42153b0d3e08682b 100644
--- a/test/manager/circleci/extract.spec.ts
+++ b/lib/manager/circleci/extract.spec.ts
@@ -1,12 +1,12 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/circleci/extract';
+import { extractPackageFile } from './extract';
 
 const file1 = readFileSync(
-  'test/manager/circleci/_fixtures/config.yml',
+  'lib/manager/circleci/__fixtures__/config.yml',
   'utf8'
 );
 const file2 = readFileSync(
-  'test/manager/circleci/_fixtures/config2.yml',
+  'lib/manager/circleci/__fixtures__/config2.yml',
   'utf8'
 );
 
diff --git a/test/manager/circleci/update.spec.ts b/lib/manager/circleci/update.spec.ts
similarity index 94%
rename from test/manager/circleci/update.spec.ts
rename to lib/manager/circleci/update.spec.ts
index 6c22cfd3638e7d335039c560d5a84c905db2fa5c..83b7f0ef39d3fe1aedde28cc07c1117cbd02b133 100644
--- a/test/manager/circleci/update.spec.ts
+++ b/lib/manager/circleci/update.spec.ts
@@ -1,12 +1,12 @@
 import { readFileSync } from 'fs';
-import * as dcUpdate from '../../../lib/manager/circleci/update';
+import * as dcUpdate from './update';
 
 const yamlFile = readFileSync(
-  'test/manager/circleci/_fixtures/config.yml',
+  'lib/manager/circleci/__fixtures__/config.yml',
   'utf8'
 );
 const yamlFile2 = readFileSync(
-  'test/manager/circleci/_fixtures/config2.yml',
+  'lib/manager/circleci/__fixtures__/config2.yml',
   'utf8'
 );
 
diff --git a/test/manager/composer/_fixtures/composer1.json b/lib/manager/composer/__fixtures__/composer1.json
similarity index 100%
rename from test/manager/composer/_fixtures/composer1.json
rename to lib/manager/composer/__fixtures__/composer1.json
diff --git a/test/manager/composer/_fixtures/composer2.json b/lib/manager/composer/__fixtures__/composer2.json
similarity index 100%
rename from test/manager/composer/_fixtures/composer2.json
rename to lib/manager/composer/__fixtures__/composer2.json
diff --git a/test/manager/composer/_fixtures/composer3.json b/lib/manager/composer/__fixtures__/composer3.json
similarity index 100%
rename from test/manager/composer/_fixtures/composer3.json
rename to lib/manager/composer/__fixtures__/composer3.json
diff --git a/test/manager/composer/_fixtures/composer4.json b/lib/manager/composer/__fixtures__/composer4.json
similarity index 100%
rename from test/manager/composer/_fixtures/composer4.json
rename to lib/manager/composer/__fixtures__/composer4.json
diff --git a/test/manager/composer/_fixtures/composer5.json b/lib/manager/composer/__fixtures__/composer5.json
similarity index 100%
rename from test/manager/composer/_fixtures/composer5.json
rename to lib/manager/composer/__fixtures__/composer5.json
diff --git a/test/manager/composer/_fixtures/composer5.lock b/lib/manager/composer/__fixtures__/composer5.lock
similarity index 100%
rename from test/manager/composer/_fixtures/composer5.lock
rename to lib/manager/composer/__fixtures__/composer5.lock
diff --git a/test/manager/composer/__snapshots__/artifacts.spec.ts.snap b/lib/manager/composer/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/composer/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/composer/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/composer/__snapshots__/extract.spec.ts.snap b/lib/manager/composer/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/composer/__snapshots__/extract.spec.ts.snap
rename to lib/manager/composer/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/composer/artifacts.spec.ts b/lib/manager/composer/artifacts.spec.ts
similarity index 90%
rename from test/manager/composer/artifacts.spec.ts
rename to lib/manager/composer/artifacts.spec.ts
index 514999cded861c54c08a4ac163946b24e1dfcda9..86659a1dc0324edc9c4b11efb255f0520eddd60f 100644
--- a/test/manager/composer/artifacts.spec.ts
+++ b/lib/manager/composer/artifacts.spec.ts
@@ -1,22 +1,22 @@
 import { join } from 'upath';
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
-import * as composer from '../../../lib/manager/composer/artifacts';
-import { platform as _platform } from '../../../lib/platform';
-import { mocked } from '../../util';
-import { StatusResult } from '../../../lib/platform/git/storage';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { BinarySource } from '../../../lib/util/exec/common';
-import { setUtilConfig } from '../../../lib/util';
-import { resetPrefetchedImages } from '../../../lib/util/exec/docker';
+import * as composer from './artifacts';
+import { platform as _platform } from '../../platform';
+import { mocked } from '../../../test/util';
+import { StatusResult } from '../../platform/git/storage';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { BinarySource } from '../../util/exec/common';
+import { setUtilConfig } from '../../util';
+import { resetPrefetchedImages } from '../../util/exec/docker';
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
-jest.mock('../../../lib/util/host-rules');
+jest.mock('../../util/exec/env');
+jest.mock('../../util/host-rules');
 
-const hostRules = require('../../../lib/util/host-rules');
+const hostRules = require('../../util/host-rules');
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
diff --git a/test/manager/composer/extract.spec.ts b/lib/manager/composer/extract.spec.ts
similarity index 82%
rename from test/manager/composer/extract.spec.ts
rename to lib/manager/composer/extract.spec.ts
index 008d52fd9dc17176e6e090e87acccd4112614c0d..a05394e49d39c298bb0021cbec0990a04de50e20 100644
--- a/test/manager/composer/extract.spec.ts
+++ b/lib/manager/composer/extract.spec.ts
@@ -1,31 +1,31 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/composer/extract';
-import { platform as _platform, Platform } from '../../../lib/platform';
+import { extractPackageFile } from './extract';
+import { platform as _platform, Platform } from '../../platform';
 
 const platform: jest.Mocked<Platform> = _platform as any;
 
 const requirements1 = readFileSync(
-  'test/manager/composer/_fixtures/composer1.json',
+  'lib/manager/composer/__fixtures__/composer1.json',
   'utf8'
 );
 const requirements2 = readFileSync(
-  'test/manager/composer/_fixtures/composer2.json',
+  'lib/manager/composer/__fixtures__/composer2.json',
   'utf8'
 );
 const requirements3 = readFileSync(
-  'test/manager/composer/_fixtures/composer3.json',
+  'lib/manager/composer/__fixtures__/composer3.json',
   'utf8'
 );
 const requirements4 = readFileSync(
-  'test/manager/composer/_fixtures/composer4.json',
+  'lib/manager/composer/__fixtures__/composer4.json',
   'utf8'
 );
 const requirements5 = readFileSync(
-  'test/manager/composer/_fixtures/composer5.json',
+  'lib/manager/composer/__fixtures__/composer5.json',
   'utf8'
 );
 const requirements5Lock = readFileSync(
-  'test/manager/composer/_fixtures/composer5.lock',
+  'lib/manager/composer/__fixtures__/composer5.lock',
   'utf8'
 );
 
diff --git a/test/manager/composer/range.spec.ts b/lib/manager/composer/range.spec.ts
similarity index 91%
rename from test/manager/composer/range.spec.ts
rename to lib/manager/composer/range.spec.ts
index c7a01066b25848a75d1f84a665ea944495ad01a5..51b4c9f5f9862de82f6c53e88eac93a7bf0c2abd 100644
--- a/test/manager/composer/range.spec.ts
+++ b/lib/manager/composer/range.spec.ts
@@ -1,5 +1,5 @@
-import { getRangeStrategy } from '../../../lib/manager/composer';
-import { RangeConfig } from '../../../lib/manager/common';
+import { getRangeStrategy } from '.';
+import { RangeConfig } from '../common';
 
 describe('getRangeStrategy', () => {
   it('returns same if not auto', () => {
diff --git a/test/manager/deps-edn/_fixtures/deps.edn b/lib/manager/deps-edn/__fixtures__/deps.edn
similarity index 100%
rename from test/manager/deps-edn/_fixtures/deps.edn
rename to lib/manager/deps-edn/__fixtures__/deps.edn
diff --git a/test/manager/deps-edn/__snapshots__/extract.spec.ts.snap b/lib/manager/deps-edn/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/deps-edn/__snapshots__/extract.spec.ts.snap
rename to lib/manager/deps-edn/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/deps-edn/extract.spec.ts b/lib/manager/deps-edn/extract.spec.ts
similarity index 71%
rename from test/manager/deps-edn/extract.spec.ts
rename to lib/manager/deps-edn/extract.spec.ts
index d3f41c6263ba66d37f4859274c6badaf150d85a6..fb39266bcba83bc62b6ec3561cf3bc136a18caf2 100644
--- a/test/manager/deps-edn/extract.spec.ts
+++ b/lib/manager/deps-edn/extract.spec.ts
@@ -1,10 +1,10 @@
 /* eslint-disable no-template-curly-in-string */
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/deps-edn/extract';
+import { extractPackageFile } from './extract';
 
 const depsEdn = readFileSync(
-  resolve(__dirname, `./_fixtures/deps.edn`),
+  resolve(__dirname, `./__fixtures__/deps.edn`),
   'utf8'
 );
 
diff --git a/test/manager/deps-edn/update.spec.ts b/lib/manager/deps-edn/update.spec.ts
similarity index 76%
rename from test/manager/deps-edn/update.spec.ts
rename to lib/manager/deps-edn/update.spec.ts
index 4d71d698d3ed22ee23738bd6ff801639945b0585..126a9462f1b05298944c0c85b17f03375c311da1 100644
--- a/test/manager/deps-edn/update.spec.ts
+++ b/lib/manager/deps-edn/update.spec.ts
@@ -1,11 +1,11 @@
 /* eslint-disable no-template-curly-in-string */
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/deps-edn/extract';
-import { updateDependency } from '../../../lib/manager/deps-edn/update';
+import { extractPackageFile } from './extract';
+import { updateDependency } from './update';
 
 const depsEdn = readFileSync(
-  resolve(__dirname, `./_fixtures/deps.edn`),
+  resolve(__dirname, `./__fixtures__/deps.edn`),
   'utf8'
 );
 
diff --git a/test/manager/docker-compose/_fixtures/docker-compose.1.yml b/lib/manager/docker-compose/__fixtures__/docker-compose.1.yml
similarity index 100%
rename from test/manager/docker-compose/_fixtures/docker-compose.1.yml
rename to lib/manager/docker-compose/__fixtures__/docker-compose.1.yml
diff --git a/test/manager/docker-compose/__snapshots__/extract.spec.ts.snap b/lib/manager/docker-compose/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/docker-compose/__snapshots__/extract.spec.ts.snap
rename to lib/manager/docker-compose/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/docker-compose/extract.spec.ts b/lib/manager/docker-compose/extract.spec.ts
similarity index 80%
rename from test/manager/docker-compose/extract.spec.ts
rename to lib/manager/docker-compose/extract.spec.ts
index 34dce2b893b18f99ea6b5d4cc9d3c9b2931e53ce..19727a4e3ddeb7bb6566e7143d258e7c89472767 100644
--- a/test/manager/docker-compose/extract.spec.ts
+++ b/lib/manager/docker-compose/extract.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/docker-compose/extract';
+import { extractPackageFile } from './extract';
 
 const yamlFile = readFileSync(
-  'test/manager/docker-compose/_fixtures/docker-compose.1.yml',
+  'lib/manager/docker-compose/__fixtures__/docker-compose.1.yml',
   'utf8'
 );
 
diff --git a/test/manager/docker-compose/update.spec.ts b/lib/manager/docker-compose/update.spec.ts
similarity index 89%
rename from test/manager/docker-compose/update.spec.ts
rename to lib/manager/docker-compose/update.spec.ts
index 4b215593181dfabe33378bb70a9223f1658e571e..c65940ed390a18cb5c08c2345ad8c99fc716d574 100644
--- a/test/manager/docker-compose/update.spec.ts
+++ b/lib/manager/docker-compose/update.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/docker-compose/update';
+import { updateDependency } from './update';
 
 const yamlFile = readFileSync(
-  'test/manager/docker-compose/_fixtures/docker-compose.1.yml',
+  'lib/manager/docker-compose/__fixtures__/docker-compose.1.yml',
   'utf8'
 );
 
diff --git a/test/manager/dockerfile/_fixtures/Dockerfile1 b/lib/manager/dockerfile/__fixtures__/Dockerfile1
similarity index 100%
rename from test/manager/dockerfile/_fixtures/Dockerfile1
rename to lib/manager/dockerfile/__fixtures__/Dockerfile1
diff --git a/test/manager/dockerfile/__snapshots__/extract.spec.ts.snap b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/dockerfile/__snapshots__/extract.spec.ts.snap
rename to lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/dockerfile/__snapshots__/update.spec.ts.snap b/lib/manager/dockerfile/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/dockerfile/__snapshots__/update.spec.ts.snap
rename to lib/manager/dockerfile/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts
similarity index 97%
rename from test/manager/dockerfile/extract.spec.ts
rename to lib/manager/dockerfile/extract.spec.ts
index 310d7cadff9aea2a98f2a31eee7442985882ee90..d6639f715086b53584ffa82d155b7e07ce5f3a2d 100644
--- a/test/manager/dockerfile/extract.spec.ts
+++ b/lib/manager/dockerfile/extract.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/dockerfile/extract';
+import { extractPackageFile } from './extract';
 
 const d1 = readFileSync(
-  'test/manager/dockerfile/_fixtures/Dockerfile1',
+  'lib/manager/dockerfile/__fixtures__/Dockerfile1',
   'utf8'
 );
 
diff --git a/test/manager/dockerfile/update.spec.ts b/lib/manager/dockerfile/update.spec.ts
similarity index 98%
rename from test/manager/dockerfile/update.spec.ts
rename to lib/manager/dockerfile/update.spec.ts
index c9a65e8b918dc4687d76772472a3fd3789c91f58..c4d39734a6dea52bbecbff975bff39506adc58c1 100644
--- a/test/manager/dockerfile/update.spec.ts
+++ b/lib/manager/dockerfile/update.spec.ts
@@ -1,4 +1,4 @@
-import * as dockerfile from '../../../lib/manager/dockerfile/update';
+import * as dockerfile from './update';
 
 describe('manager/dockerfile/update', () => {
   describe('updateDependency', () => {
diff --git a/test/manager/droneci/_fixtures/.drone.yml b/lib/manager/droneci/__fixtures__/.drone.yml
similarity index 100%
rename from test/manager/droneci/_fixtures/.drone.yml
rename to lib/manager/droneci/__fixtures__/.drone.yml
diff --git a/test/manager/droneci/__snapshots__/extract.spec.ts.snap b/lib/manager/droneci/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/droneci/__snapshots__/extract.spec.ts.snap
rename to lib/manager/droneci/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/droneci/extract.spec.ts b/lib/manager/droneci/extract.spec.ts
similarity index 79%
rename from test/manager/droneci/extract.spec.ts
rename to lib/manager/droneci/extract.spec.ts
index ca2ea0a1f22b68802d7231c7ca0606c8d5001df2..85697f4494fa72e7b0856f71aae1caeb94380c9c 100644
--- a/test/manager/droneci/extract.spec.ts
+++ b/lib/manager/droneci/extract.spec.ts
@@ -1,10 +1,10 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
 
-const { extractPackageFile } = require('../../../lib/manager/droneci/extract');
+import { extractPackageFile } from './extract';
 
 const droneYAML = readFileSync(
-  resolve('test/manager/droneci/_fixtures/.drone.yml'),
+  resolve('lib/manager/droneci/__fixtures__/.drone.yml'),
   'utf8'
 );
 
diff --git a/test/manager/droneci/update.spec.ts b/lib/manager/droneci/update.spec.ts
similarity index 92%
rename from test/manager/droneci/update.spec.ts
rename to lib/manager/droneci/update.spec.ts
index 3e2b0c3e2197b54f02d7da62cc10340a6c6c5ae4..f78643ced61a87a8c48af73776f94655da7f9b58 100644
--- a/test/manager/droneci/update.spec.ts
+++ b/lib/manager/droneci/update.spec.ts
@@ -1,10 +1,10 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
 
-const { updateDependency } = require('../../../lib/manager/droneci/update');
+import { updateDependency } from './update';
 
 const droneYAML = readFileSync(
-  resolve('test/manager/droneci/_fixtures/.drone.yml'),
+  resolve('lib/manager/droneci/__fixtures__/.drone.yml'),
   'utf8'
 );
 
diff --git a/test/manager/git-submodules/_fixtures/.gitmodules.1 b/lib/manager/git-submodules/__fixtures__/.gitmodules.1
similarity index 100%
rename from test/manager/git-submodules/_fixtures/.gitmodules.1
rename to lib/manager/git-submodules/__fixtures__/.gitmodules.1
diff --git a/test/manager/git-submodules/_fixtures/.gitmodules.2 b/lib/manager/git-submodules/__fixtures__/.gitmodules.2
similarity index 100%
rename from test/manager/git-submodules/_fixtures/.gitmodules.2
rename to lib/manager/git-submodules/__fixtures__/.gitmodules.2
diff --git a/test/manager/git-submodules/_fixtures/.gitmodules.3 b/lib/manager/git-submodules/__fixtures__/.gitmodules.3
similarity index 100%
rename from test/manager/git-submodules/_fixtures/.gitmodules.3
rename to lib/manager/git-submodules/__fixtures__/.gitmodules.3
diff --git a/test/manager/git-submodules/_fixtures/.gitmodules.4 b/lib/manager/git-submodules/__fixtures__/.gitmodules.4
similarity index 100%
rename from test/manager/git-submodules/_fixtures/.gitmodules.4
rename to lib/manager/git-submodules/__fixtures__/.gitmodules.4
diff --git a/test/manager/git-submodules/__snapshots__/artifact.spec.ts.snap b/lib/manager/git-submodules/__snapshots__/artifact.spec.ts.snap
similarity index 100%
rename from test/manager/git-submodules/__snapshots__/artifact.spec.ts.snap
rename to lib/manager/git-submodules/__snapshots__/artifact.spec.ts.snap
diff --git a/test/manager/git-submodules/__snapshots__/extract.spec.ts.snap b/lib/manager/git-submodules/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/git-submodules/__snapshots__/extract.spec.ts.snap
rename to lib/manager/git-submodules/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/git-submodules/artifact.spec.ts b/lib/manager/git-submodules/artifact.spec.ts
similarity index 82%
rename from test/manager/git-submodules/artifact.spec.ts
rename to lib/manager/git-submodules/artifact.spec.ts
index 5df38c961d3b91c105d1daa5d3ebc8a67136df56..75c0d66c4bd1bc49e5b29daf24584fd1f0b7f0f0 100644
--- a/test/manager/git-submodules/artifact.spec.ts
+++ b/lib/manager/git-submodules/artifact.spec.ts
@@ -1,4 +1,4 @@
-import updateArtifacts from '../../../lib/manager/git-submodules/artifacts';
+import updateArtifacts from './artifacts';
 
 describe('lib/manager/gitsubmodules/artifacts', () => {
   describe('updateArtifacts()', () => {
diff --git a/test/manager/git-submodules/extract.spec.ts b/lib/manager/git-submodules/extract.spec.ts
similarity index 92%
rename from test/manager/git-submodules/extract.spec.ts
rename to lib/manager/git-submodules/extract.spec.ts
index acc882241d7081f5af021f54195b361e1c010c9e..7edb63cd4a7eca0135d7793739681b778ae6a503 100644
--- a/test/manager/git-submodules/extract.spec.ts
+++ b/lib/manager/git-submodules/extract.spec.ts
@@ -1,11 +1,11 @@
 import _simpleGit from 'simple-git/promise';
-import extractPackageFile from '../../../lib/manager/git-submodules/extract';
+import extractPackageFile from './extract';
 
 jest.mock('simple-git/promise.js');
 const simpleGit: any = _simpleGit;
 const Git = jest.requireActual('simple-git/promise');
 
-const localDir = `${__dirname}/_fixtures`;
+const localDir = `${__dirname}/__fixtures__`;
 
 describe('lib/manager/gitsubmodules/extract', () => {
   beforeAll(() => {
diff --git a/test/manager/git-submodules/update.spec.ts b/lib/manager/git-submodules/update.spec.ts
similarity index 91%
rename from test/manager/git-submodules/update.spec.ts
rename to lib/manager/git-submodules/update.spec.ts
index 60eee16fc0c13c309a281740b543317c1cb55a11..6bda3dfa2533671e7921ae7b0177cd17de23a9ea 100644
--- a/test/manager/git-submodules/update.spec.ts
+++ b/lib/manager/git-submodules/update.spec.ts
@@ -1,7 +1,7 @@
 import _simpleGit from 'simple-git/promise';
 import { dir } from 'tmp-promise';
 
-import updateDependency from '../../../lib/manager/git-submodules/update';
+import updateDependency from './update';
 
 jest.mock('simple-git/promise.js');
 const simpleGit: any = _simpleGit;
diff --git a/test/manager/github-actions/_fixtures/main.workflow.1 b/lib/manager/github-actions/__fixtures__/main.workflow.1
similarity index 100%
rename from test/manager/github-actions/_fixtures/main.workflow.1
rename to lib/manager/github-actions/__fixtures__/main.workflow.1
diff --git a/test/manager/github-actions/_fixtures/workflow.yml.1 b/lib/manager/github-actions/__fixtures__/workflow.yml.1
similarity index 100%
rename from test/manager/github-actions/_fixtures/workflow.yml.1
rename to lib/manager/github-actions/__fixtures__/workflow.yml.1
diff --git a/test/manager/github-actions/__snapshots__/extract.spec.ts.snap b/lib/manager/github-actions/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/github-actions/__snapshots__/extract.spec.ts.snap
rename to lib/manager/github-actions/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/github-actions/extract.spec.ts b/lib/manager/github-actions/extract.spec.ts
similarity index 79%
rename from test/manager/github-actions/extract.spec.ts
rename to lib/manager/github-actions/extract.spec.ts
index a6cffc6dccb14a70eecf6ea8d292db19fb258d48..346ba1ea3275d8e1720418ffb4c549371fab6e6b 100644
--- a/test/manager/github-actions/extract.spec.ts
+++ b/lib/manager/github-actions/extract.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/github-actions/extract';
+import { extractPackageFile } from './extract';
 
 const workflow1 = readFileSync(
-  'test/manager/github-actions/_fixtures/main.workflow.1',
+  'lib/manager/github-actions/__fixtures__/main.workflow.1',
   'utf8'
 );
 
 const workflow2 = readFileSync(
-  'test/manager/github-actions/_fixtures/workflow.yml.1',
+  'lib/manager/github-actions/__fixtures__/workflow.yml.1',
   'utf8'
 );
 
diff --git a/test/manager/github-actions/update.spec.ts b/lib/manager/github-actions/update.spec.ts
similarity index 91%
rename from test/manager/github-actions/update.spec.ts
rename to lib/manager/github-actions/update.spec.ts
index ba9067b4834f302714546450290926523eb55563..4a85c91fce7e0ea02dc8a1fee266b51088849566 100644
--- a/test/manager/github-actions/update.spec.ts
+++ b/lib/manager/github-actions/update.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/github-actions/update';
+import { updateDependency } from './update';
 
 const workflow1 = readFileSync(
-  'test/manager/github-actions/_fixtures/main.workflow.1',
+  'lib/manager/github-actions/__fixtures__/main.workflow.1',
   'utf8'
 );
 
 const workflow2 = readFileSync(
-  'test/manager/github-actions/_fixtures/workflow.yml.1',
+  'lib/manager/github-actions/__fixtures__/workflow.yml.1',
   'utf8'
 );
 
diff --git a/test/manager/gitlabci-include/_fixtures/gitlab-ci.yaml b/lib/manager/gitlabci-include/__fixtures__/gitlab-ci.yaml
similarity index 100%
rename from test/manager/gitlabci-include/_fixtures/gitlab-ci.yaml
rename to lib/manager/gitlabci-include/__fixtures__/gitlab-ci.yaml
diff --git a/test/manager/gitlabci-include/__snapshots__/extract.spec.ts.snap b/lib/manager/gitlabci-include/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/gitlabci-include/__snapshots__/extract.spec.ts.snap
rename to lib/manager/gitlabci-include/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/gitlabci-include/extract.spec.ts b/lib/manager/gitlabci-include/extract.spec.ts
similarity index 86%
rename from test/manager/gitlabci-include/extract.spec.ts
rename to lib/manager/gitlabci-include/extract.spec.ts
index c44d73000df0f0bb181227b9cd8057d415f07d8f..ac845e8dfaefad2e076f84f7f9737018aad47a8d 100644
--- a/test/manager/gitlabci-include/extract.spec.ts
+++ b/lib/manager/gitlabci-include/extract.spec.ts
@@ -1,8 +1,8 @@
 import fs from 'fs';
-import { extractPackageFile } from '../../../lib/manager/gitlabci-include/extract';
+import { extractPackageFile } from './extract';
 
 const yamlFile = fs.readFileSync(
-  'test/manager/gitlabci-include/_fixtures/gitlab-ci.yaml',
+  'lib/manager/gitlabci-include/__fixtures__/gitlab-ci.yaml',
   'utf8'
 );
 
diff --git a/test/manager/gitlabci-include/update.spec.ts b/lib/manager/gitlabci-include/update.spec.ts
similarity index 86%
rename from test/manager/gitlabci-include/update.spec.ts
rename to lib/manager/gitlabci-include/update.spec.ts
index 6c3dddff72de8d9f2d832a7d20591fed51f78de5..7a22839281129e322e7df62402fab1ceb4c9850c 100644
--- a/test/manager/gitlabci-include/update.spec.ts
+++ b/lib/manager/gitlabci-include/update.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/gitlabci-include/update';
+import { updateDependency } from './update';
 
 const yamlFile = readFileSync(
-  'test/manager/gitlabci-include/_fixtures/gitlab-ci.yaml',
+  'lib/manager/gitlabci-include/__fixtures__/gitlab-ci.yaml',
   'utf8'
 );
 
diff --git a/test/manager/gitlabci/_fixtures/gitlab-ci.1.yaml b/lib/manager/gitlabci/__fixtures__/gitlab-ci.1.yaml
similarity index 100%
rename from test/manager/gitlabci/_fixtures/gitlab-ci.1.yaml
rename to lib/manager/gitlabci/__fixtures__/gitlab-ci.1.yaml
diff --git a/test/manager/gitlabci/_fixtures/gitlab-ci.yaml b/lib/manager/gitlabci/__fixtures__/gitlab-ci.yaml
similarity index 100%
rename from test/manager/gitlabci/_fixtures/gitlab-ci.yaml
rename to lib/manager/gitlabci/__fixtures__/gitlab-ci.yaml
diff --git a/test/manager/gitlabci/__snapshots__/extract.spec.ts.snap b/lib/manager/gitlabci/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/gitlabci/__snapshots__/extract.spec.ts.snap
rename to lib/manager/gitlabci/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/gitlabci/extract.spec.ts b/lib/manager/gitlabci/extract.spec.ts
similarity index 79%
rename from test/manager/gitlabci/extract.spec.ts
rename to lib/manager/gitlabci/extract.spec.ts
index 879ee96c8834fb8c53e621899ceadff6cc56ed85..60e8a17ac342f66d5df04ed840a47a71e0518df5 100644
--- a/test/manager/gitlabci/extract.spec.ts
+++ b/lib/manager/gitlabci/extract.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/gitlabci/extract';
+import { extractPackageFile } from './extract';
 
 const yamlFile = readFileSync(
-  'test/manager/gitlabci/_fixtures/gitlab-ci.yaml',
+  'lib/manager/gitlabci/__fixtures__/gitlab-ci.yaml',
   'utf8'
 );
 
 const yamlFile1 = readFileSync(
-  'test/manager/gitlabci/_fixtures/gitlab-ci.1.yaml',
+  'lib/manager/gitlabci/__fixtures__/gitlab-ci.1.yaml',
   'utf8'
 );
 
diff --git a/test/manager/gitlabci/update.spec.ts b/lib/manager/gitlabci/update.spec.ts
similarity index 96%
rename from test/manager/gitlabci/update.spec.ts
rename to lib/manager/gitlabci/update.spec.ts
index 9f0032abc51072c2253a694c3245bc1b5c7c4dd3..36f957e8f070a18e92cf520fe3efc53e5cc326e4 100644
--- a/test/manager/gitlabci/update.spec.ts
+++ b/lib/manager/gitlabci/update.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/gitlabci/update';
+import { updateDependency } from './update';
 
 const yamlFile = readFileSync(
-  'test/manager/gitlabci/_fixtures/gitlab-ci.yaml',
+  'lib/manager/gitlabci/__fixtures__/gitlab-ci.yaml',
   'utf8'
 );
 
diff --git a/test/manager/gomod/_fixtures/1/go.mod b/lib/manager/gomod/__fixtures__/1/go.mod
similarity index 100%
rename from test/manager/gomod/_fixtures/1/go.mod
rename to lib/manager/gomod/__fixtures__/1/go.mod
diff --git a/test/manager/gomod/_fixtures/2/go.mod b/lib/manager/gomod/__fixtures__/2/go.mod
similarity index 100%
rename from test/manager/gomod/_fixtures/2/go.mod
rename to lib/manager/gomod/__fixtures__/2/go.mod
diff --git a/test/manager/gomod/__snapshots__/artifacts.spec.ts.snap b/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/gomod/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/gomod/__snapshots__/extract.spec.ts.snap b/lib/manager/gomod/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/gomod/__snapshots__/extract.spec.ts.snap
rename to lib/manager/gomod/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/gomod/__snapshots__/update.spec.ts.snap b/lib/manager/gomod/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/gomod/__snapshots__/update.spec.ts.snap
rename to lib/manager/gomod/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/gomod/artifacts.spec.ts b/lib/manager/gomod/artifacts.spec.ts
similarity index 91%
rename from test/manager/gomod/artifacts.spec.ts
rename to lib/manager/gomod/artifacts.spec.ts
index 3ef66fda9de3057ae369a434a27cfa65c1a87a21..47902cf24bb21cc6fdadfe9c0c96d63ffe19fa54 100644
--- a/test/manager/gomod/artifacts.spec.ts
+++ b/lib/manager/gomod/artifacts.spec.ts
@@ -1,19 +1,19 @@
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
-import * as gomod from '../../../lib/manager/gomod/artifacts';
-import { platform as _platform } from '../../../lib/platform';
-import { mocked } from '../../util';
-import { StatusResult } from '../../../lib/platform/git/storage';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { BinarySource } from '../../../lib/util/exec/common';
+import * as gomod from './artifacts';
+import { platform as _platform } from '../../platform';
+import { mocked } from '../../../test/util';
+import { StatusResult } from '../../platform/git/storage';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { BinarySource } from '../../util/exec/common';
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
-jest.mock('../../../lib/util/host-rules');
+jest.mock('../../util/exec/env');
+jest.mock('../../util/host-rules');
 
-const hostRules = require('../../../lib/util/host-rules');
+const hostRules = require('../../util/host-rules');
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
diff --git a/test/manager/gomod/extract.spec.ts b/lib/manager/gomod/extract.spec.ts
similarity index 77%
rename from test/manager/gomod/extract.spec.ts
rename to lib/manager/gomod/extract.spec.ts
index 405070a926d66c3e71e12f924918032ac3f5a362..e59be32d25576393530d6e58c70556bfa3b3b4e2 100644
--- a/test/manager/gomod/extract.spec.ts
+++ b/lib/manager/gomod/extract.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/gomod/extract';
+import { extractPackageFile } from './extract';
 
-const gomod1 = readFileSync('test/manager/gomod/_fixtures/1/go.mod', 'utf8');
-const gomod2 = readFileSync('test/manager/gomod/_fixtures/2/go.mod', 'utf8');
+const gomod1 = readFileSync('lib/manager/gomod/__fixtures__/1/go.mod', 'utf8');
+const gomod2 = readFileSync('lib/manager/gomod/__fixtures__/2/go.mod', 'utf8');
 
 describe('lib/manager/gomod/extract', () => {
   describe('extractPackageFile()', () => {
diff --git a/test/manager/gomod/update.spec.ts b/lib/manager/gomod/update.spec.ts
similarity index 97%
rename from test/manager/gomod/update.spec.ts
rename to lib/manager/gomod/update.spec.ts
index 4b3de3ee3b98b5320e1e182c46f3fd147798535f..3782c7c44cc4530400663e539dd3a1f997357c6c 100644
--- a/test/manager/gomod/update.spec.ts
+++ b/lib/manager/gomod/update.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/gomod/update';
+import { updateDependency } from './update';
 
-const gomod1 = readFileSync('test/manager/gomod/_fixtures/1/go.mod', 'utf8');
-const gomod2 = readFileSync('test/manager/gomod/_fixtures/2/go.mod', 'utf8');
+const gomod1 = readFileSync('lib/manager/gomod/__fixtures__/1/go.mod', 'utf8');
+const gomod2 = readFileSync('lib/manager/gomod/__fixtures__/2/go.mod', 'utf8');
 
 describe('manager/gomod/update', () => {
   describe('updateDependency', () => {
diff --git a/test/manager/gradle-wrapper/__snapshots__/extract.spec.ts.snap b/lib/manager/gradle-wrapper/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/gradle-wrapper/__snapshots__/extract.spec.ts.snap
rename to lib/manager/gradle-wrapper/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/gradle-wrapper/__snapshots__/update.spec.ts.snap b/lib/manager/gradle-wrapper/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/gradle-wrapper/__snapshots__/update.spec.ts.snap
rename to lib/manager/gradle-wrapper/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/gradle-wrapper/extract.spec.ts b/lib/manager/gradle-wrapper/extract.spec.ts
similarity index 90%
rename from test/manager/gradle-wrapper/extract.spec.ts
rename to lib/manager/gradle-wrapper/extract.spec.ts
index 419c468fa6d7b9bd9515ea43bec4258eff1d9f5d..122f1f5ca4a8da477d645832668776edbfbf3ca0 100644
--- a/test/manager/gradle-wrapper/extract.spec.ts
+++ b/lib/manager/gradle-wrapper/extract.spec.ts
@@ -1,5 +1,5 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/gradle-wrapper/extract';
+import { extractPackageFile } from './extract';
 
 const propertiesFile1 = readFileSync(
   'test/datasource/gradle-wrapper/_fixtures/gradle-wrapper-1.properties',
diff --git a/test/manager/gradle-wrapper/update.spec.ts b/lib/manager/gradle-wrapper/update.spec.ts
similarity index 96%
rename from test/manager/gradle-wrapper/update.spec.ts
rename to lib/manager/gradle-wrapper/update.spec.ts
index f1466f0888840a942bd903e8c33a36db31d766c8..f692bcf1b5464fc8b462fd6e59517069093ae594 100644
--- a/test/manager/gradle-wrapper/update.spec.ts
+++ b/lib/manager/gradle-wrapper/update.spec.ts
@@ -1,8 +1,8 @@
 import fs from 'fs';
-import * as dcUpdate from '../../../lib/manager/gradle-wrapper';
-import _got from '../../../lib/util/got';
+import * as dcUpdate from '.';
+import _got from '../../util/got';
 
-jest.mock('../../../lib/util/got');
+jest.mock('../../util/got');
 
 const got: jest.Mock<any> = _got as any;
 
diff --git a/test/manager/gradle/__snapshots__/index.spec.ts.snap b/lib/manager/gradle/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/manager/gradle/__snapshots__/index.spec.ts.snap
rename to lib/manager/gradle/__snapshots__/index.spec.ts.snap
diff --git a/test/manager/gradle/build-gradle.spec.ts b/lib/manager/gradle/build-gradle.spec.ts
similarity index 99%
rename from test/manager/gradle/build-gradle.spec.ts
rename to lib/manager/gradle/build-gradle.spec.ts
index 3bc3114329cbcabf807938956cecd56b767e05a9..802ca2e75d01c0121d5ecb1cf9197f90da8b3dc3 100644
--- a/test/manager/gradle/build-gradle.spec.ts
+++ b/lib/manager/gradle/build-gradle.spec.ts
@@ -2,7 +2,7 @@ import {
   init,
   updateGradleVersion,
   collectVersionVariables,
-} from '../../../lib/manager/gradle/build-gradle';
+} from './build-gradle';
 
 describe('lib/manager/gradle/updateGradleVersion', () => {
   beforeEach(() => {
diff --git a/test/manager/gradle/index.spec.ts b/lib/manager/gradle/index.spec.ts
similarity index 96%
rename from test/manager/gradle/index.spec.ts
rename to lib/manager/gradle/index.spec.ts
index 141cf4ca05577be06907e5dadf6099c42e7886e7..20cc691ddea0cfb2c0e0faab119f6f9c13f75b94 100644
--- a/test/manager/gradle/index.spec.ts
+++ b/lib/manager/gradle/index.spec.ts
@@ -2,16 +2,16 @@ import { toUnix } from 'upath';
 import _fs from 'fs-extra';
 import fsReal from 'fs';
 import { exec as _exec } from 'child_process';
-import * as manager from '../../../lib/manager/gradle';
-import { platform as _platform, Platform } from '../../../lib/platform';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { mocked } from '../../util';
-import { BinarySource } from '../../../lib/util/exec/common';
+import * as manager from '.';
+import { platform as _platform, Platform } from '../../platform';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { mocked } from '../../../test/util';
+import { BinarySource } from '../../util/exec/common';
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
+jest.mock('../../util/exec/env');
 
 const platform: jest.Mocked<Platform> = _platform as any;
 const fs: jest.Mocked<typeof _fs> = _fs as any;
diff --git a/test/manager/helm-requirements/__snapshots__/extract.spec.ts.snap b/lib/manager/helm-requirements/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/helm-requirements/__snapshots__/extract.spec.ts.snap
rename to lib/manager/helm-requirements/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/helm-requirements/__snapshots__/update.spec.ts.snap b/lib/manager/helm-requirements/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/helm-requirements/__snapshots__/update.spec.ts.snap
rename to lib/manager/helm-requirements/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/helm-requirements/extract.spec.ts b/lib/manager/helm-requirements/extract.spec.ts
similarity index 97%
rename from test/manager/helm-requirements/extract.spec.ts
rename to lib/manager/helm-requirements/extract.spec.ts
index df1ec9f0e9e88bfd68020d218574ce09887b6c1d..0723607e6ae39307e4d80ac4dc5dd9e851a2643e 100644
--- a/test/manager/helm-requirements/extract.spec.ts
+++ b/lib/manager/helm-requirements/extract.spec.ts
@@ -1,5 +1,5 @@
-import { extractPackageFile } from '../../../lib/manager/helm-requirements/extract';
-import { platform as _platform } from '../../../lib/platform';
+import { extractPackageFile } from './extract';
+import { platform as _platform } from '../../platform';
 
 const platform: any = _platform;
 
diff --git a/test/manager/helm-requirements/update.spec.ts b/lib/manager/helm-requirements/update.spec.ts
similarity index 97%
rename from test/manager/helm-requirements/update.spec.ts
rename to lib/manager/helm-requirements/update.spec.ts
index 81c8139f4295cc0cfc3548a5e25d49cd42cf3d4b..68e4de78029a6dfecbdd3d0f8f73442c9390b538 100644
--- a/test/manager/helm-requirements/update.spec.ts
+++ b/lib/manager/helm-requirements/update.spec.ts
@@ -1,4 +1,4 @@
-import { updateDependency } from '../../../lib/manager/helm-requirements/update';
+import { updateDependency } from './update';
 
 describe('lib/manager/helm/extract', () => {
   describe('updateDependency()', () => {
diff --git a/test/manager/helmfile/__snapshots__/extract.spec.ts.snap b/lib/manager/helmfile/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/helmfile/__snapshots__/extract.spec.ts.snap
rename to lib/manager/helmfile/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/helmfile/__snapshots__/update.spec.ts.snap b/lib/manager/helmfile/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/helmfile/__snapshots__/update.spec.ts.snap
rename to lib/manager/helmfile/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/helmfile/extract.spec.ts b/lib/manager/helmfile/extract.spec.ts
similarity index 98%
rename from test/manager/helmfile/extract.spec.ts
rename to lib/manager/helmfile/extract.spec.ts
index 1360aa8a9f14804022e96cb5ab0842e02ee4643a..d25d072ee1b73fa8d5e555810b24cbea519bae8d 100644
--- a/test/manager/helmfile/extract.spec.ts
+++ b/lib/manager/helmfile/extract.spec.ts
@@ -1,4 +1,4 @@
-import { extractPackageFile } from '../../../lib/manager/helmfile/extract';
+import { extractPackageFile } from './extract';
 
 describe('lib/manager/helmfile/extract', () => {
   describe('extractPackageFile()', () => {
diff --git a/test/manager/helmfile/update.spec.ts b/lib/manager/helmfile/update.spec.ts
similarity index 98%
rename from test/manager/helmfile/update.spec.ts
rename to lib/manager/helmfile/update.spec.ts
index 06cd8df1c5abab07e88ebc7126822cacc378f440..40250778336af42b603b29b1c2abeb39af207af9 100644
--- a/test/manager/helmfile/update.spec.ts
+++ b/lib/manager/helmfile/update.spec.ts
@@ -1,4 +1,4 @@
-import { updateDependency } from '../../../lib/manager/helmfile/update';
+import { updateDependency } from './update';
 
 describe('lib/manager/helmfile/extract', () => {
   describe('updateDependency()', () => {
diff --git a/test/manager/homebrew/_fixtures/aalib.rb b/lib/manager/homebrew/__fixtures__/aalib.rb
similarity index 100%
rename from test/manager/homebrew/_fixtures/aalib.rb
rename to lib/manager/homebrew/__fixtures__/aalib.rb
diff --git a/test/manager/homebrew/_fixtures/aap.rb b/lib/manager/homebrew/__fixtures__/aap.rb
similarity index 100%
rename from test/manager/homebrew/_fixtures/aap.rb
rename to lib/manager/homebrew/__fixtures__/aap.rb
diff --git a/test/manager/homebrew/_fixtures/acmetool.rb b/lib/manager/homebrew/__fixtures__/acmetool.rb
similarity index 100%
rename from test/manager/homebrew/_fixtures/acmetool.rb
rename to lib/manager/homebrew/__fixtures__/acmetool.rb
diff --git a/test/manager/homebrew/_fixtures/aide.rb b/lib/manager/homebrew/__fixtures__/aide.rb
similarity index 100%
rename from test/manager/homebrew/_fixtures/aide.rb
rename to lib/manager/homebrew/__fixtures__/aide.rb
diff --git a/test/manager/homebrew/_fixtures/ibazel.rb b/lib/manager/homebrew/__fixtures__/ibazel.rb
similarity index 100%
rename from test/manager/homebrew/_fixtures/ibazel.rb
rename to lib/manager/homebrew/__fixtures__/ibazel.rb
diff --git a/test/manager/homebrew/__snapshots__/extract.spec.ts.snap b/lib/manager/homebrew/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/homebrew/__snapshots__/extract.spec.ts.snap
rename to lib/manager/homebrew/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/homebrew/__snapshots__/update.spec.ts.snap b/lib/manager/homebrew/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/homebrew/__snapshots__/update.spec.ts.snap
rename to lib/manager/homebrew/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/homebrew/extract.spec.ts b/lib/manager/homebrew/extract.spec.ts
similarity index 95%
rename from test/manager/homebrew/extract.spec.ts
rename to lib/manager/homebrew/extract.spec.ts
index 1993ba0bd471d095e1a9466a513eb8b55f2f5dbf..112c757eb8ddf50d59cddb7c09622ec0e43ac188 100644
--- a/test/manager/homebrew/extract.spec.ts
+++ b/lib/manager/homebrew/extract.spec.ts
@@ -1,18 +1,21 @@
 import fs from 'fs';
-import { extractPackageFile } from '../../../lib/manager/homebrew/extract';
+import { extractPackageFile } from './extract';
 
 const aalib = fs.readFileSync(
-  'test/manager/homebrew/_fixtures/aalib.rb',
+  'lib/manager/homebrew/__fixtures__/aalib.rb',
   'utf8'
 );
-const aap = fs.readFileSync('test/manager/homebrew/_fixtures/aap.rb', 'utf8');
+const aap = fs.readFileSync('lib/manager/homebrew/__fixtures__/aap.rb', 'utf8');
 const acmetool = fs.readFileSync(
-  'test/manager/homebrew/_fixtures/acmetool.rb',
+  'lib/manager/homebrew/__fixtures__/acmetool.rb',
+  'utf8'
+);
+const aide = fs.readFileSync(
+  'lib/manager/homebrew/__fixtures__/aide.rb',
   'utf8'
 );
-const aide = fs.readFileSync('test/manager/homebrew/_fixtures/aide.rb', 'utf8');
 const ibazel = fs.readFileSync(
-  'test/manager/homebrew/_fixtures/ibazel.rb',
+  'lib/manager/homebrew/__fixtures__/ibazel.rb',
   'utf8'
 );
 
diff --git a/test/manager/homebrew/update.spec.ts b/lib/manager/homebrew/update.spec.ts
similarity index 97%
rename from test/manager/homebrew/update.spec.ts
rename to lib/manager/homebrew/update.spec.ts
index 85bc3b79a4b0757bd143b6593675c4351c47976b..c66887f47b6644c25e126df768ab8cf9e5e43728 100644
--- a/test/manager/homebrew/update.spec.ts
+++ b/lib/manager/homebrew/update.spec.ts
@@ -1,15 +1,18 @@
 import fs from 'fs';
 import { fromStream as _fromStream } from 'hasha';
-import { updateDependency } from '../../../lib/manager/homebrew/update';
+import { updateDependency } from './update';
 
 jest.mock('hasha');
-jest.mock('../../../lib/util/got');
+jest.mock('../../util/got');
 
 const fromStream: jest.Mock<Promise<string>> = _fromStream as any;
 
-const aide = fs.readFileSync('test/manager/homebrew/_fixtures/aide.rb', 'utf8');
+const aide = fs.readFileSync(
+  'lib/manager/homebrew/__fixtures__/aide.rb',
+  'utf8'
+);
 const ibazel = fs.readFileSync(
-  'test/manager/homebrew/_fixtures/ibazel.rb',
+  'lib/manager/homebrew/__fixtures__/ibazel.rb',
   'utf8'
 );
 
diff --git a/test/manager/homebrew/util.spec.ts b/lib/manager/homebrew/util.spec.ts
similarity index 82%
rename from test/manager/homebrew/util.spec.ts
rename to lib/manager/homebrew/util.spec.ts
index 7276dd7bf989ec2adc6379c52254e9ba69faa3b8..b5213c02fe814d3cfc9fef0cf4312cb694a96e58 100644
--- a/test/manager/homebrew/util.spec.ts
+++ b/lib/manager/homebrew/util.spec.ts
@@ -1,4 +1,4 @@
-import { skip } from '../../../lib/manager/homebrew/util';
+import { skip } from './util';
 
 describe('lib/manager/homebrew/util', () => {
   describe('skip()', () => {
diff --git a/test/manager/index.spec.ts b/lib/manager/index.spec.ts
similarity index 95%
rename from test/manager/index.spec.ts
rename to lib/manager/index.spec.ts
index 2b847612c171e96077f5737add98243e830ff02d..352263e2b484bdb36f792c9d29a54b53a25bd5c5 100644
--- a/test/manager/index.spec.ts
+++ b/lib/manager/index.spec.ts
@@ -1,4 +1,4 @@
-import * as manager from '../../lib/manager';
+import * as manager from '.';
 
 describe('manager', () => {
   describe('get()', () => {
diff --git a/test/manager/kubernetes/_fixtures/array-syntax.yaml b/lib/manager/kubernetes/__fixtures__/array-syntax.yaml
similarity index 100%
rename from test/manager/kubernetes/_fixtures/array-syntax.yaml
rename to lib/manager/kubernetes/__fixtures__/array-syntax.yaml
diff --git a/test/manager/kubernetes/_fixtures/configmap.yaml b/lib/manager/kubernetes/__fixtures__/configmap.yaml
similarity index 100%
rename from test/manager/kubernetes/_fixtures/configmap.yaml
rename to lib/manager/kubernetes/__fixtures__/configmap.yaml
diff --git a/test/manager/kubernetes/_fixtures/gitlab-ci.yaml b/lib/manager/kubernetes/__fixtures__/gitlab-ci.yaml
similarity index 100%
rename from test/manager/kubernetes/_fixtures/gitlab-ci.yaml
rename to lib/manager/kubernetes/__fixtures__/gitlab-ci.yaml
diff --git a/test/manager/kubernetes/_fixtures/kubernetes.yaml b/lib/manager/kubernetes/__fixtures__/kubernetes.yaml
similarity index 100%
rename from test/manager/kubernetes/_fixtures/kubernetes.yaml
rename to lib/manager/kubernetes/__fixtures__/kubernetes.yaml
diff --git a/test/manager/kubernetes/__snapshots__/extract.spec.ts.snap b/lib/manager/kubernetes/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/kubernetes/__snapshots__/extract.spec.ts.snap
rename to lib/manager/kubernetes/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/kubernetes/__snapshots__/update.spec.ts.snap b/lib/manager/kubernetes/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/kubernetes/__snapshots__/update.spec.ts.snap
rename to lib/manager/kubernetes/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/kubernetes/extract.spec.ts b/lib/manager/kubernetes/extract.spec.ts
similarity index 77%
rename from test/manager/kubernetes/extract.spec.ts
rename to lib/manager/kubernetes/extract.spec.ts
index ba871d08ec51018dd1f44c2c069f5e4595c10775..de9bca52e3495d11d57a35118998b7dd02aff809 100644
--- a/test/manager/kubernetes/extract.spec.ts
+++ b/lib/manager/kubernetes/extract.spec.ts
@@ -1,23 +1,23 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/kubernetes/extract';
+import { extractPackageFile } from './extract';
 
 const kubernetesImagesFile = readFileSync(
-  'test/manager/kubernetes/_fixtures/kubernetes.yaml',
+  'lib/manager/kubernetes/__fixtures__/kubernetes.yaml',
   'utf8'
 );
 
 const kubernetesConfigMapFile = readFileSync(
-  'test/manager/kubernetes/_fixtures/configmap.yaml',
+  'lib/manager/kubernetes/__fixtures__/configmap.yaml',
   'utf8'
 );
 
 const kubernetesArraySyntaxFile = readFileSync(
-  'test/manager/kubernetes/_fixtures/array-syntax.yaml',
+  'lib/manager/kubernetes/__fixtures__/array-syntax.yaml',
   'utf8'
 );
 
 const otherYamlFile = readFileSync(
-  'test/manager/kubernetes/_fixtures/gitlab-ci.yaml',
+  'lib/manager/kubernetes/__fixtures__/gitlab-ci.yaml',
   'utf8'
 );
 
diff --git a/test/manager/kubernetes/update.spec.ts b/lib/manager/kubernetes/update.spec.ts
similarity index 89%
rename from test/manager/kubernetes/update.spec.ts
rename to lib/manager/kubernetes/update.spec.ts
index 036a82fa14cb5d445acd4fc11960ca5b231db57a..100422c20a57a26b1fdf47b7aa7677c06d857c8d 100644
--- a/test/manager/kubernetes/update.spec.ts
+++ b/lib/manager/kubernetes/update.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/kubernetes/update';
+import { updateDependency } from './update';
 
 const yamlFile = readFileSync(
-  'test/manager/kubernetes/_fixtures/kubernetes.yaml',
+  'lib/manager/kubernetes/__fixtures__/kubernetes.yaml',
   'utf8'
 );
 
 const arraySyntaxFile = readFileSync(
-  'test/manager/kubernetes/_fixtures/array-syntax.yaml',
+  'lib/manager/kubernetes/__fixtures__/array-syntax.yaml',
   'utf8'
 );
 
diff --git a/test/manager/leiningen/_fixtures/project.clj b/lib/manager/leiningen/__fixtures__/project.clj
similarity index 100%
rename from test/manager/leiningen/_fixtures/project.clj
rename to lib/manager/leiningen/__fixtures__/project.clj
diff --git a/test/manager/leiningen/__snapshots__/extract.spec.ts.snap b/lib/manager/leiningen/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/leiningen/__snapshots__/extract.spec.ts.snap
rename to lib/manager/leiningen/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/leiningen/extract.spec.ts b/lib/manager/leiningen/extract.spec.ts
similarity index 85%
rename from test/manager/leiningen/extract.spec.ts
rename to lib/manager/leiningen/extract.spec.ts
index 593d6758601416396b01d3a233661c8d0934393f..4a61d4b134b6f43b0af9df7550ba2b5524143026 100644
--- a/test/manager/leiningen/extract.spec.ts
+++ b/lib/manager/leiningen/extract.spec.ts
@@ -1,15 +1,11 @@
 /* eslint-disable no-template-curly-in-string */
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import {
-  trimAtKey,
-  extractFromVectors,
-  extractPackageFile,
-} from '../../../lib/manager/leiningen/extract';
-import { DATASOURCE_MAVEN } from '../../../lib/constants/data-binary-source';
+import { trimAtKey, extractFromVectors, extractPackageFile } from './extract';
+import { DATASOURCE_MAVEN } from '../../constants/data-binary-source';
 
 const leinProjectClj = readFileSync(
-  resolve(__dirname, `./_fixtures/project.clj`),
+  resolve(__dirname, `./__fixtures__/project.clj`),
   'utf8'
 );
 
diff --git a/test/manager/leiningen/update.spec.ts b/lib/manager/leiningen/update.spec.ts
similarity index 76%
rename from test/manager/leiningen/update.spec.ts
rename to lib/manager/leiningen/update.spec.ts
index 10d7452ee8e1a185106c959b32f32cafc90a451f..6a9ae00db5f9fbbb71e1d777a3337f8e26ce9f80 100644
--- a/test/manager/leiningen/update.spec.ts
+++ b/lib/manager/leiningen/update.spec.ts
@@ -1,11 +1,11 @@
 /* eslint-disable no-template-curly-in-string */
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/leiningen/extract';
-import { updateDependency } from '../../../lib/manager/leiningen/update';
+import { extractPackageFile } from './extract';
+import { updateDependency } from './update';
 
 const leinProjectClj = readFileSync(
-  resolve(__dirname, `./_fixtures/project.clj`),
+  resolve(__dirname, `./__fixtures__/project.clj`),
   'utf8'
 );
 
diff --git a/test/manager/manager-docs.spec.ts b/lib/manager/manager-docs.spec.ts
similarity index 100%
rename from test/manager/manager-docs.spec.ts
rename to lib/manager/manager-docs.spec.ts
diff --git a/test/manager/maven/_fixtures/child.pom.xml b/lib/manager/maven/__fixtures__/child.pom.xml
similarity index 100%
rename from test/manager/maven/_fixtures/child.pom.xml
rename to lib/manager/maven/__fixtures__/child.pom.xml
diff --git a/test/manager/maven/_fixtures/grouping.pom.xml b/lib/manager/maven/__fixtures__/grouping.pom.xml
similarity index 100%
rename from test/manager/maven/_fixtures/grouping.pom.xml
rename to lib/manager/maven/__fixtures__/grouping.pom.xml
diff --git a/test/manager/maven/_fixtures/minimum.pom.xml b/lib/manager/maven/__fixtures__/minimum.pom.xml
similarity index 100%
rename from test/manager/maven/_fixtures/minimum.pom.xml
rename to lib/manager/maven/__fixtures__/minimum.pom.xml
diff --git a/test/manager/maven/_fixtures/parent.pom.xml b/lib/manager/maven/__fixtures__/parent.pom.xml
similarity index 100%
rename from test/manager/maven/_fixtures/parent.pom.xml
rename to lib/manager/maven/__fixtures__/parent.pom.xml
diff --git a/test/manager/maven/_fixtures/simple.pom.xml b/lib/manager/maven/__fixtures__/simple.pom.xml
similarity index 100%
rename from test/manager/maven/_fixtures/simple.pom.xml
rename to lib/manager/maven/__fixtures__/simple.pom.xml
diff --git a/test/manager/maven/__snapshots__/extract.spec.ts.snap b/lib/manager/maven/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/maven/__snapshots__/extract.spec.ts.snap
rename to lib/manager/maven/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/maven/__snapshots__/index.spec.ts.snap b/lib/manager/maven/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/manager/maven/__snapshots__/index.spec.ts.snap
rename to lib/manager/maven/__snapshots__/index.spec.ts.snap
diff --git a/test/manager/maven/extract.spec.ts b/lib/manager/maven/extract.spec.ts
similarity index 83%
rename from test/manager/maven/extract.spec.ts
rename to lib/manager/maven/extract.spec.ts
index b209b002591e7f3f49c213eea3b404a6a37f4407..f1531d2f64af48d7278b8ffd5d3f336ba0127284 100644
--- a/test/manager/maven/extract.spec.ts
+++ b/lib/manager/maven/extract.spec.ts
@@ -1,15 +1,15 @@
 /* eslint-disable no-template-curly-in-string */
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackage } from '../../../lib/manager/maven/extract';
+import { extractPackage } from './extract';
 
 const minimumContent = readFileSync(
-  resolve(__dirname, `./_fixtures/minimum.pom.xml`),
+  resolve(__dirname, `./__fixtures__/minimum.pom.xml`),
   'utf8'
 );
 
 const simpleContent = readFileSync(
-  resolve(__dirname, `./_fixtures/simple.pom.xml`),
+  resolve(__dirname, `./__fixtures__/simple.pom.xml`),
   'utf8'
 );
 
diff --git a/test/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts
similarity index 92%
rename from test/manager/maven/index.spec.ts
rename to lib/manager/maven/index.spec.ts
index 081ce23e7913e578cd05b84f97979d70ed7f86f9..86b656185058bd4d7ad5200d789c2fe4838ec673 100644
--- a/test/manager/maven/index.spec.ts
+++ b/lib/manager/maven/index.spec.ts
@@ -1,31 +1,25 @@
 import { readFileSync } from 'fs';
-import {
-  extractPackage,
-  resolveParents,
-} from '../../../lib/manager/maven/extract';
-import {
-  extractAllPackageFiles,
-  updateDependency,
-} from '../../../lib/manager/maven/index';
-import { PackageDependency, PackageFile } from '../../../lib/manager/common';
-import { platform as _platform } from '../../../lib/platform';
+import { extractPackage, resolveParents } from './extract';
+import { extractAllPackageFiles, updateDependency } from './index';
+import { PackageDependency, PackageFile } from '../common';
+import { platform as _platform } from '../../platform';
 
 const platform: any = _platform;
 
 const pomContent = readFileSync(
-  'test/manager/maven/_fixtures/simple.pom.xml',
+  'lib/manager/maven/__fixtures__/simple.pom.xml',
   'utf8'
 );
 const pomParent = readFileSync(
-  'test/manager/maven/_fixtures/parent.pom.xml',
+  'lib/manager/maven/__fixtures__/parent.pom.xml',
   'utf8'
 );
 const pomChild = readFileSync(
-  'test/manager/maven/_fixtures/child.pom.xml',
+  'lib/manager/maven/__fixtures__/child.pom.xml',
   'utf8'
 );
 const origContent = readFileSync(
-  'test/manager/maven/_fixtures/grouping.pom.xml',
+  'lib/manager/maven/__fixtures__/grouping.pom.xml',
   'utf8'
 );
 
diff --git a/test/manager/meteor/_fixtures/package-1.js b/lib/manager/meteor/__fixtures__/package-1.js
similarity index 100%
rename from test/manager/meteor/_fixtures/package-1.js
rename to lib/manager/meteor/__fixtures__/package-1.js
diff --git a/test/manager/meteor/_fixtures/package-2.js b/lib/manager/meteor/__fixtures__/package-2.js
similarity index 100%
rename from test/manager/meteor/_fixtures/package-2.js
rename to lib/manager/meteor/__fixtures__/package-2.js
diff --git a/test/manager/meteor/__snapshots__/extract.spec.ts.snap b/lib/manager/meteor/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/meteor/__snapshots__/extract.spec.ts.snap
rename to lib/manager/meteor/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/meteor/__snapshots__/update.spec.ts.snap b/lib/manager/meteor/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/meteor/__snapshots__/update.spec.ts.snap
rename to lib/manager/meteor/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/meteor/extract.spec.ts b/lib/manager/meteor/extract.spec.ts
similarity index 79%
rename from test/manager/meteor/extract.spec.ts
rename to lib/manager/meteor/extract.spec.ts
index e4b9a6818877469b5f635fbca551b0c101c8ccea..5219e7a91c9063140090b332cbf5d5081971cd72 100644
--- a/test/manager/meteor/extract.spec.ts
+++ b/lib/manager/meteor/extract.spec.ts
@@ -1,9 +1,9 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/meteor/extract';
+import { extractPackageFile } from './extract';
 
 function readFixture(fixture: string) {
-  return readFileSync(resolve(__dirname, `./_fixtures/${fixture}`), 'utf8');
+  return readFileSync(resolve(__dirname, `./__fixtures__/${fixture}`), 'utf8');
 }
 
 const input01Content = readFixture('package-1.js');
diff --git a/test/manager/meteor/update.spec.ts b/lib/manager/meteor/update.spec.ts
similarity index 89%
rename from test/manager/meteor/update.spec.ts
rename to lib/manager/meteor/update.spec.ts
index 5c7acc426bc732e42fdc6265e8e40373ca6a5204..1f00b68a540d3ee385c714d39c8c24e35aba3bd6 100644
--- a/test/manager/meteor/update.spec.ts
+++ b/lib/manager/meteor/update.spec.ts
@@ -1,9 +1,9 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { updateDependency } from '../../../lib/manager/meteor/update';
+import { updateDependency } from './update';
 
 function readFixture(fixture: string) {
-  return readFileSync(resolve(__dirname, `./_fixtures/${fixture}`), 'utf8');
+  return readFileSync(resolve(__dirname, `./__fixtures__/${fixture}`), 'utf8');
 }
 
 const input01Content = readFixture('package-1.js');
diff --git a/test/manager/mix/_fixtures/mix.exs b/lib/manager/mix/__fixtures__/mix.exs
similarity index 100%
rename from test/manager/mix/_fixtures/mix.exs
rename to lib/manager/mix/__fixtures__/mix.exs
diff --git a/test/manager/mix/__snapshots__/artifacts.spec.ts.snap b/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/mix/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/mix/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/mix/__snapshots__/extract.spec.ts.snap b/lib/manager/mix/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/mix/__snapshots__/extract.spec.ts.snap
rename to lib/manager/mix/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/mix/artifacts.spec.ts b/lib/manager/mix/artifacts.spec.ts
similarity index 88%
rename from test/manager/mix/artifacts.spec.ts
rename to lib/manager/mix/artifacts.spec.ts
index 621d271d3101e9a637fcdd4868d95180c31e43c4..c7aa70267d65da395b1b364fb202c76211fc6ab5 100644
--- a/test/manager/mix/artifacts.spec.ts
+++ b/lib/manager/mix/artifacts.spec.ts
@@ -1,11 +1,11 @@
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
-import { platform as _platform } from '../../../lib/platform';
-import { updateArtifacts } from '../../../lib/manager/mix';
-import { mocked } from '../../util';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { BinarySource } from '../../../lib/util/exec/common';
+import { platform as _platform } from '../../platform';
+import { updateArtifacts } from '.';
+import { mocked } from '../../../test/util';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { BinarySource } from '../../util/exec/common';
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
@@ -14,8 +14,8 @@ const env = mocked(_env);
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/platform');
-jest.mock('../../../lib/util/exec/env');
+jest.mock('../../platform');
+jest.mock('../../util/exec/env');
 
 const config = {
   localDir: '/tmp/github/some/repo',
diff --git a/test/manager/mix/extract.spec.ts b/lib/manager/mix/extract.spec.ts
similarity index 80%
rename from test/manager/mix/extract.spec.ts
rename to lib/manager/mix/extract.spec.ts
index ea4ccd93e0568d1c872991e47e318f7668a85628..ac6d5aebe59bee249153b14dac97709541ddd892 100644
--- a/test/manager/mix/extract.spec.ts
+++ b/lib/manager/mix/extract.spec.ts
@@ -1,9 +1,9 @@
 import fs from 'fs-extra';
 import path from 'path';
-import { extractPackageFile } from '../../../lib/manager/mix';
+import { extractPackageFile } from '.';
 
 const sample = fs.readFileSync(
-  path.resolve(__dirname, './_fixtures/mix.exs'),
+  path.resolve(__dirname, './__fixtures__/mix.exs'),
   'utf-8'
 );
 
diff --git a/test/manager/mix/update.spec.ts b/lib/manager/mix/update.spec.ts
similarity index 92%
rename from test/manager/mix/update.spec.ts
rename to lib/manager/mix/update.spec.ts
index 3c7bdd48d8db63179a773746b489faf525d5c6a2..1ecd8425b5c56e2212818add33d6a6ed2cceae77 100644
--- a/test/manager/mix/update.spec.ts
+++ b/lib/manager/mix/update.spec.ts
@@ -1,9 +1,9 @@
 import fs from 'fs-extra';
 import path from 'path';
-import { updateDependency } from '../../../lib/manager/mix';
+import { updateDependency } from '.';
 
 const sample = fs.readFileSync(
-  path.resolve(__dirname, './_fixtures/mix.exs'),
+  path.resolve(__dirname, './__fixtures__/mix.exs'),
   'utf-8'
 );
 
diff --git a/test/manager/npm/_fixtures/inputs/01-glob.json b/lib/manager/npm/__fixtures__/inputs/01-glob.json
similarity index 100%
rename from test/manager/npm/_fixtures/inputs/01-glob.json
rename to lib/manager/npm/__fixtures__/inputs/01-glob.json
diff --git a/test/manager/npm/_fixtures/inputs/01.json b/lib/manager/npm/__fixtures__/inputs/01.json
similarity index 100%
rename from test/manager/npm/_fixtures/inputs/01.json
rename to lib/manager/npm/__fixtures__/inputs/01.json
diff --git a/test/manager/npm/_fixtures/inputs/02.json b/lib/manager/npm/__fixtures__/inputs/02.json
similarity index 100%
rename from test/manager/npm/_fixtures/inputs/02.json
rename to lib/manager/npm/__fixtures__/inputs/02.json
diff --git a/test/manager/npm/_fixtures/inputs/workspaces.json b/lib/manager/npm/__fixtures__/inputs/workspaces.json
similarity index 100%
rename from test/manager/npm/_fixtures/inputs/workspaces.json
rename to lib/manager/npm/__fixtures__/inputs/workspaces.json
diff --git a/test/manager/npm/_fixtures/invalid-name.json b/lib/manager/npm/__fixtures__/invalid-name.json
similarity index 100%
rename from test/manager/npm/_fixtures/invalid-name.json
rename to lib/manager/npm/__fixtures__/invalid-name.json
diff --git a/test/manager/npm/_fixtures/is-object.json b/lib/manager/npm/__fixtures__/is-object.json
similarity index 100%
rename from test/manager/npm/_fixtures/is-object.json
rename to lib/manager/npm/__fixtures__/is-object.json
diff --git a/test/manager/npm/_fixtures/outputs/011.json b/lib/manager/npm/__fixtures__/outputs/011.json
similarity index 100%
rename from test/manager/npm/_fixtures/outputs/011.json
rename to lib/manager/npm/__fixtures__/outputs/011.json
diff --git a/test/manager/npm/_fixtures/outputs/012.json b/lib/manager/npm/__fixtures__/outputs/012.json
similarity index 100%
rename from test/manager/npm/_fixtures/outputs/012.json
rename to lib/manager/npm/__fixtures__/outputs/012.json
diff --git a/test/manager/npm/_fixtures/outputs/013.json b/lib/manager/npm/__fixtures__/outputs/013.json
similarity index 100%
rename from test/manager/npm/_fixtures/outputs/013.json
rename to lib/manager/npm/__fixtures__/outputs/013.json
diff --git a/test/manager/npm/__snapshots__/update.spec.ts.snap b/lib/manager/npm/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/npm/__snapshots__/update.spec.ts.snap
rename to lib/manager/npm/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/npm/extract/__snapshots__/index.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/manager/npm/extract/__snapshots__/index.spec.ts.snap
rename to lib/manager/npm/extract/__snapshots__/index.spec.ts.snap
diff --git a/test/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap
similarity index 100%
rename from test/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap
rename to lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap
diff --git a/test/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap
similarity index 100%
rename from test/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap
rename to lib/manager/npm/extract/__snapshots__/monorepo.spec.ts.snap
diff --git a/test/manager/npm/extract/__snapshots__/npm.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/npm.spec.ts.snap
similarity index 100%
rename from test/manager/npm/extract/__snapshots__/npm.spec.ts.snap
rename to lib/manager/npm/extract/__snapshots__/npm.spec.ts.snap
diff --git a/test/manager/npm/extract/__snapshots__/yarn.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/yarn.spec.ts.snap
similarity index 100%
rename from test/manager/npm/extract/__snapshots__/yarn.spec.ts.snap
rename to lib/manager/npm/extract/__snapshots__/yarn.spec.ts.snap
diff --git a/test/manager/npm/extract/index.spec.ts b/lib/manager/npm/extract/index.spec.ts
similarity index 97%
rename from test/manager/npm/extract/index.spec.ts
rename to lib/manager/npm/extract/index.spec.ts
index fa0154a8f5a523a02652edfcb9dde5c2617670a1..55fefce35749d3aab05ede1e06a772c61d45222e 100644
--- a/test/manager/npm/extract/index.spec.ts
+++ b/lib/manager/npm/extract/index.spec.ts
@@ -1,8 +1,8 @@
 import fs from 'fs';
 import path from 'path';
-import * as npmExtract from '../../../../lib/manager/npm/extract';
-import { getConfig } from '../../../../lib/config/defaults';
-import { platform as _platform } from '../../../../lib/platform';
+import * as npmExtract from '.';
+import { getConfig } from '../../../config/defaults';
+import { platform as _platform } from '../../../platform';
 
 // TODO: fix types
 const defaultConfig = getConfig() as any;
@@ -10,7 +10,7 @@ const platform: any = _platform;
 
 function readFixture(fixture) {
   return fs.readFileSync(
-    path.resolve(__dirname, `../_fixtures/${fixture}`),
+    path.resolve(__dirname, `../__fixtures__/${fixture}`),
     'utf8'
   );
 }
diff --git a/test/manager/npm/extract/locked-versions.spec.ts b/lib/manager/npm/extract/locked-versions.spec.ts
similarity index 84%
rename from test/manager/npm/extract/locked-versions.spec.ts
rename to lib/manager/npm/extract/locked-versions.spec.ts
index 3ec6d05d27a2480fd9e5f99aafd0b51879ea59e7..af28c9cde1cd8b021e4561fba9567233c18a6b61 100644
--- a/test/manager/npm/extract/locked-versions.spec.ts
+++ b/lib/manager/npm/extract/locked-versions.spec.ts
@@ -1,12 +1,12 @@
-import { getLockedVersions } from '../../../../lib/manager/npm/extract/locked-versions';
+import { getLockedVersions } from './locked-versions';
 
 /** @type any */
-const npm = require('../../../../lib/manager/npm/extract/npm');
+const npm = require('./npm');
 /** @type any */
-const yarn = require('../../../../lib/manager/npm/extract/yarn');
+const yarn = require('./yarn');
 
-jest.mock('../../../../lib/manager/npm/extract/npm');
-jest.mock('../../../../lib/manager/npm/extract/yarn');
+jest.mock('./npm');
+jest.mock('./yarn');
 
 describe('manager/npm/extract/locked-versions', () => {
   describe('.getLockedVersions()', () => {
diff --git a/test/manager/npm/extract/monorepo.spec.ts b/lib/manager/npm/extract/monorepo.spec.ts
similarity index 96%
rename from test/manager/npm/extract/monorepo.spec.ts
rename to lib/manager/npm/extract/monorepo.spec.ts
index 0eb257519a3d50269aadf5cf0706c5f8ce49f505..0ba304d20c556bd3d064e8500819169d0a669524 100644
--- a/test/manager/npm/extract/monorepo.spec.ts
+++ b/lib/manager/npm/extract/monorepo.spec.ts
@@ -1,4 +1,4 @@
-import { detectMonorepos } from '../../../../lib/manager/npm/extract/monorepo';
+import { detectMonorepos } from './monorepo';
 
 describe('manager/npm/extract', () => {
   describe('.extractPackageFile()', () => {
diff --git a/test/manager/npm/extract/npm.spec.ts b/lib/manager/npm/extract/npm.spec.ts
similarity index 87%
rename from test/manager/npm/extract/npm.spec.ts
rename to lib/manager/npm/extract/npm.spec.ts
index 09ebd5e9f1346cbd955ebd50ad8037c1ba63922c..1a5b7c5626dfed570c6b7c908822bd3af396071c 100644
--- a/test/manager/npm/extract/npm.spec.ts
+++ b/lib/manager/npm/extract/npm.spec.ts
@@ -1,6 +1,6 @@
 import { readFileSync } from 'fs';
-import { getNpmLock } from '../../../../lib/manager/npm/extract/npm';
-import { platform as _platform } from '../../../../lib/platform';
+import { getNpmLock } from './npm';
+import { platform as _platform } from '../../../platform';
 
 const platform: any = _platform;
 
diff --git a/test/manager/npm/extract/type.spec.ts b/lib/manager/npm/extract/type.spec.ts
similarity index 87%
rename from test/manager/npm/extract/type.spec.ts
rename to lib/manager/npm/extract/type.spec.ts
index fffc6565eebbb5269816c767aaf2429ef9702231..4d7901c307252e0e4c6527ce3d1ae6cf9c6b68d9 100644
--- a/test/manager/npm/extract/type.spec.ts
+++ b/lib/manager/npm/extract/type.spec.ts
@@ -1,4 +1,4 @@
-import { mightBeABrowserLibrary } from '../../../../lib/manager/npm/extract/type';
+import { mightBeABrowserLibrary } from './type';
 
 describe('manager/npm/extract/type', () => {
   describe('.mightBeABrowserLibrary()', () => {
diff --git a/test/manager/npm/extract/yarn.spec.ts b/lib/manager/npm/extract/yarn.spec.ts
similarity index 84%
rename from test/manager/npm/extract/yarn.spec.ts
rename to lib/manager/npm/extract/yarn.spec.ts
index f991f890d677385f1ff910ac9c79f05b651ca247..e8cf1f19d56c24c67a62c8754a40e00b23ac2725 100644
--- a/test/manager/npm/extract/yarn.spec.ts
+++ b/lib/manager/npm/extract/yarn.spec.ts
@@ -1,6 +1,6 @@
 import { readFileSync } from 'fs';
-import { getYarnLock } from '../../../../lib/manager/npm/extract/yarn';
-import { platform as _platform } from '../../../../lib/platform';
+import { getYarnLock } from './yarn';
+import { platform as _platform } from '../../../platform';
 
 const platform: any = _platform;
 
diff --git a/test/manager/npm/range.spec.ts b/lib/manager/npm/range.spec.ts
similarity index 92%
rename from test/manager/npm/range.spec.ts
rename to lib/manager/npm/range.spec.ts
index fcf4314cd59b0688c12cb4c3ddab3f8fe525c5a6..ce8962793cd358634a7f849df0c2c84b4449f0d1 100644
--- a/test/manager/npm/range.spec.ts
+++ b/lib/manager/npm/range.spec.ts
@@ -1,5 +1,5 @@
-import { getRangeStrategy } from '../../../lib/manager/npm';
-import { RangeConfig } from '../../../lib/manager/common';
+import { getRangeStrategy } from '.';
+import { RangeConfig } from '../common';
 
 describe('getRangeStrategy', () => {
   it('returns same if not auto', () => {
diff --git a/test/manager/npm/update.spec.ts b/lib/manager/npm/update.spec.ts
similarity index 97%
rename from test/manager/npm/update.spec.ts
rename to lib/manager/npm/update.spec.ts
index 4b852ea26e7f5cb5f511b94419baec5a473c4947..98354a07408add9616d1a6a74a77f59614edd451 100644
--- a/test/manager/npm/update.spec.ts
+++ b/lib/manager/npm/update.spec.ts
@@ -1,10 +1,10 @@
 import fs from 'fs';
 import path from 'path';
-import * as npmUpdater from '../../../lib/manager/npm/update';
+import * as npmUpdater from './update';
 
 function readFixture(fixture) {
   return fs.readFileSync(
-    path.resolve(__dirname, `./_fixtures/${fixture}`),
+    path.resolve(__dirname, `./__fixtures__/${fixture}`),
     'utf8'
   );
 }
@@ -193,7 +193,7 @@ describe('workers/branch/package-json', () => {
           throw new Error('semver inc');
         },
       }));
-      const npmUpdater1 = await import('../../../lib/manager/npm/update');
+      const npmUpdater1 = await import('./update');
       const res = npmUpdater1.bumpPackageVersion(content, '0.0.2', true as any);
       expect(res).toEqual(content);
     });
diff --git a/test/manager/nuget/__snapshots__/extract.spec.ts.snap b/lib/manager/nuget/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/nuget/__snapshots__/extract.spec.ts.snap
rename to lib/manager/nuget/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/nuget/__snapshots__/update.spec.ts.snap b/lib/manager/nuget/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/nuget/__snapshots__/update.spec.ts.snap
rename to lib/manager/nuget/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/nuget/extract.spec.ts b/lib/manager/nuget/extract.spec.ts
similarity index 88%
rename from test/manager/nuget/extract.spec.ts
rename to lib/manager/nuget/extract.spec.ts
index 959918f94f50df069c64715670a47949d02efbbf..87c6235944aa3a7b5a220a557ca4b07dae086b82 100644
--- a/test/manager/nuget/extract.spec.ts
+++ b/lib/manager/nuget/extract.spec.ts
@@ -1,5 +1,5 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/nuget/extract';
+import { extractPackageFile } from './extract';
 
 const sample = readFileSync(
   'test/datasource/nuget/_fixtures/sample.csproj',
diff --git a/test/manager/nuget/update.spec.ts b/lib/manager/nuget/update.spec.ts
similarity index 94%
rename from test/manager/nuget/update.spec.ts
rename to lib/manager/nuget/update.spec.ts
index a0a5c61b06ba85bacb994ae3166d2d20b0daa14f..a829cb806bc623f63b6f5e2c067b630deb6af305 100644
--- a/test/manager/nuget/update.spec.ts
+++ b/lib/manager/nuget/update.spec.ts
@@ -1,5 +1,5 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/nuget/update';
+import { updateDependency } from './update';
 
 const csProj = readFileSync(
   'test/datasource/nuget/_fixtures/sample.csproj',
diff --git a/test/manager/nvm/__snapshots__/extract.spec.ts.snap b/lib/manager/nvm/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/nvm/__snapshots__/extract.spec.ts.snap
rename to lib/manager/nvm/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/nvm/__snapshots__/update.spec.ts.snap b/lib/manager/nvm/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/nvm/__snapshots__/update.spec.ts.snap
rename to lib/manager/nvm/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/nvm/extract.spec.ts b/lib/manager/nvm/extract.spec.ts
similarity index 87%
rename from test/manager/nvm/extract.spec.ts
rename to lib/manager/nvm/extract.spec.ts
index 72c24462facde82b92d9864f255cf6c28fdc7026..bf17e6e5d62752d8b8892da394dcaa2295e89166 100644
--- a/test/manager/nvm/extract.spec.ts
+++ b/lib/manager/nvm/extract.spec.ts
@@ -1,4 +1,4 @@
-import { extractPackageFile } from '../../../lib/manager/nvm/extract';
+import { extractPackageFile } from './extract';
 
 describe('lib/manager/nvm/extract', () => {
   describe('extractPackageFile()', () => {
diff --git a/test/manager/nvm/update.spec.ts b/lib/manager/nvm/update.spec.ts
similarity index 80%
rename from test/manager/nvm/update.spec.ts
rename to lib/manager/nvm/update.spec.ts
index 93fd26b5e66b7230cf27479aa5f73c75987f3343..a12cd2f71a8cd4cba23ec6888ba5e60a4d0d035a 100644
--- a/test/manager/nvm/update.spec.ts
+++ b/lib/manager/nvm/update.spec.ts
@@ -1,4 +1,4 @@
-import { updateDependency } from '../../../lib/manager/nvm/update';
+import { updateDependency } from './update';
 
 describe('manager/nvm/update', () => {
   describe('updateDependency', () => {
diff --git a/test/manager/pip_requirements/_fixtures/requirements1.txt b/lib/manager/pip_requirements/__fixtures__/requirements1.txt
similarity index 100%
rename from test/manager/pip_requirements/_fixtures/requirements1.txt
rename to lib/manager/pip_requirements/__fixtures__/requirements1.txt
diff --git a/test/manager/pip_requirements/_fixtures/requirements2.txt b/lib/manager/pip_requirements/__fixtures__/requirements2.txt
similarity index 100%
rename from test/manager/pip_requirements/_fixtures/requirements2.txt
rename to lib/manager/pip_requirements/__fixtures__/requirements2.txt
diff --git a/test/manager/pip_requirements/_fixtures/requirements3.txt b/lib/manager/pip_requirements/__fixtures__/requirements3.txt
similarity index 100%
rename from test/manager/pip_requirements/_fixtures/requirements3.txt
rename to lib/manager/pip_requirements/__fixtures__/requirements3.txt
diff --git a/test/manager/pip_requirements/_fixtures/requirements4.txt b/lib/manager/pip_requirements/__fixtures__/requirements4.txt
similarity index 100%
rename from test/manager/pip_requirements/_fixtures/requirements4.txt
rename to lib/manager/pip_requirements/__fixtures__/requirements4.txt
diff --git a/test/manager/pip_requirements/_fixtures/requirements5.txt b/lib/manager/pip_requirements/__fixtures__/requirements5.txt
similarity index 100%
rename from test/manager/pip_requirements/_fixtures/requirements5.txt
rename to lib/manager/pip_requirements/__fixtures__/requirements5.txt
diff --git a/test/manager/pip_requirements/_fixtures/requirements6.txt b/lib/manager/pip_requirements/__fixtures__/requirements6.txt
similarity index 100%
rename from test/manager/pip_requirements/_fixtures/requirements6.txt
rename to lib/manager/pip_requirements/__fixtures__/requirements6.txt
diff --git a/test/manager/pip_requirements/__snapshots__/extract.spec.ts.snap b/lib/manager/pip_requirements/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/pip_requirements/__snapshots__/extract.spec.ts.snap
rename to lib/manager/pip_requirements/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/pip_requirements/__snapshots__/update.spec.ts.snap b/lib/manager/pip_requirements/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/pip_requirements/__snapshots__/update.spec.ts.snap
rename to lib/manager/pip_requirements/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/pip_requirements/extract.spec.ts b/lib/manager/pip_requirements/extract.spec.ts
similarity index 86%
rename from test/manager/pip_requirements/extract.spec.ts
rename to lib/manager/pip_requirements/extract.spec.ts
index bbc50d8101f4480b58389510b2c1c93c2369a17a..a961a81298fbe277a4dc16635e1d6f738864e4d2 100644
--- a/test/manager/pip_requirements/extract.spec.ts
+++ b/lib/manager/pip_requirements/extract.spec.ts
@@ -1,31 +1,31 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/pip_requirements/extract';
+import { extractPackageFile } from './extract';
 
 const requirements1 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements1.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements1.txt',
   'utf8'
 );
 const requirements2 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements2.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements2.txt',
   'utf8'
 );
 const requirements3 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements3.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements3.txt',
   'utf8'
 );
 
 const requirements4 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements4.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements4.txt',
   'utf8'
 );
 
 const requirements5 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements5.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements5.txt',
   'utf8'
 );
 
 const requirements6 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements6.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements6.txt',
   'utf8'
 );
 
diff --git a/test/manager/pip_requirements/range.spec.ts b/lib/manager/pip_requirements/range.spec.ts
similarity index 72%
rename from test/manager/pip_requirements/range.spec.ts
rename to lib/manager/pip_requirements/range.spec.ts
index 1aa41f835df3609e54b871d6254d656773452233..72d07ac6e742a2f8465a38ce275905cd405be007 100644
--- a/test/manager/pip_requirements/range.spec.ts
+++ b/lib/manager/pip_requirements/range.spec.ts
@@ -1,5 +1,5 @@
-import { getRangeStrategy } from '../../../lib/manager/pip_requirements';
-import { RangeConfig } from '../../../lib/manager/common';
+import { getRangeStrategy } from '.';
+import { RangeConfig } from '../common';
 
 describe('getRangeStrategy', () => {
   it('returns same if not auto', () => {
diff --git a/test/manager/pip_requirements/update.spec.ts b/lib/manager/pip_requirements/update.spec.ts
similarity index 88%
rename from test/manager/pip_requirements/update.spec.ts
rename to lib/manager/pip_requirements/update.spec.ts
index 157336e11e8bfb06cf8b323acefc751fe6a049d9..69b85f9af12e6d100b883220329efb2e540ee4b1 100644
--- a/test/manager/pip_requirements/update.spec.ts
+++ b/lib/manager/pip_requirements/update.spec.ts
@@ -1,28 +1,28 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/pip_requirements/update';
+import { updateDependency } from './update';
 
 const requirements = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements1.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements1.txt',
   'utf8'
 );
 
 const requirements3 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements3.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements3.txt',
   'utf8'
 );
 
 const requirements4 = readFileSync(
-  'test/manager/pip_requirements/_fixtures/requirements4.txt',
+  'lib/manager/pip_requirements/__fixtures__/requirements4.txt',
   'utf8'
 );
 
 const setupPy1 = readFileSync(
-  'test/manager/pip_setup/_fixtures/setup.py',
+  'lib/manager/pip_setup/__fixtures__/setup.py',
   'utf-8'
 );
 
 const setupPy2 = readFileSync(
-  'test/manager/pip_setup/_fixtures/setup-2.py',
+  'lib/manager/pip_setup/__fixtures__/setup-2.py',
   'utf-8'
 );
 
diff --git a/test/manager/pip_setup/_fixtures/setup-2.py b/lib/manager/pip_setup/__fixtures__/setup-2.py
similarity index 100%
rename from test/manager/pip_setup/_fixtures/setup-2.py
rename to lib/manager/pip_setup/__fixtures__/setup-2.py
diff --git a/test/manager/pip_setup/_fixtures/setup.py b/lib/manager/pip_setup/__fixtures__/setup.py
similarity index 100%
rename from test/manager/pip_setup/_fixtures/setup.py
rename to lib/manager/pip_setup/__fixtures__/setup.py
diff --git a/test/manager/pip_setup/_fixtures/setup.py.json b/lib/manager/pip_setup/__fixtures__/setup.py.json
similarity index 100%
rename from test/manager/pip_setup/_fixtures/setup.py.json
rename to lib/manager/pip_setup/__fixtures__/setup.py.json
diff --git a/test/manager/pip_setup/__snapshots__/extract.spec.ts.snap b/lib/manager/pip_setup/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/pip_setup/__snapshots__/extract.spec.ts.snap
rename to lib/manager/pip_setup/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/pip_setup/__snapshots__/index.spec.ts.snap b/lib/manager/pip_setup/__snapshots__/index.spec.ts.snap
similarity index 99%
rename from test/manager/pip_setup/__snapshots__/index.spec.ts.snap
rename to lib/manager/pip_setup/__snapshots__/index.spec.ts.snap
index b49b25d68534073bce6a5688272bba8be6908e1a..da14d26c1d9af445db0696ae98630680e7419459 100644
--- a/test/manager/pip_setup/__snapshots__/index.spec.ts.snap
+++ b/lib/manager/pip_setup/__snapshots__/index.spec.ts.snap
@@ -377,7 +377,7 @@ Array [
     },
   },
   Object {
-    "cmd": "<extract.py> \\"test/manager/pip_setup/_fixtures/setup.py\\"",
+    "cmd": "<extract.py> \\"lib/manager/pip_setup/__fixtures__/setup.py\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
diff --git a/test/manager/pip_setup/extract.spec.ts b/lib/manager/pip_setup/extract.spec.ts
similarity index 88%
rename from test/manager/pip_setup/extract.spec.ts
rename to lib/manager/pip_setup/extract.spec.ts
index 3c9ce423cb7ed5e9851b265a897db42c1ec34769..2555930a708ce3ee7e5531e28b342d14afcf6e96 100644
--- a/test/manager/pip_setup/extract.spec.ts
+++ b/lib/manager/pip_setup/extract.spec.ts
@@ -5,16 +5,16 @@ import {
   parsePythonVersion,
   getPythonAlias,
   pythonVersions,
-} from '../../../lib/manager/pip_setup/extract';
-import { envMock, mockExecSequence } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { mocked } from '../../util';
+} from './extract';
+import { envMock, mockExecSequence } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { mocked } from '../../../test/util';
 
 const exec: jest.Mock<typeof _exec> = _exec as any;
 const env = mocked(_env);
 
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
+jest.mock('../../util/exec/env');
 
 describe('lib/manager/pip_setup/extract', () => {
   beforeEach(() => {
diff --git a/test/manager/pip_setup/index.spec.ts b/lib/manager/pip_setup/index.spec.ts
similarity index 87%
rename from test/manager/pip_setup/index.spec.ts
rename to lib/manager/pip_setup/index.spec.ts
index 2cd0ca8824a604dcce6424d89e76b6c8ea72ac0b..e400f02b5c038dec0789626947140e1ad60669cf 100644
--- a/test/manager/pip_setup/index.spec.ts
+++ b/lib/manager/pip_setup/index.spec.ts
@@ -1,21 +1,21 @@
 import { readFileSync } from 'fs';
 import { exec as _exec } from 'child_process';
-import * as extract from '../../../lib/manager/pip_setup/extract';
-import { extractPackageFile } from '../../../lib/manager/pip_setup';
+import * as extract from './extract';
+import { extractPackageFile } from '.';
 import {
   ExecSnapshots,
   envMock,
   mockExecAll,
   mockExecSequence,
-} from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { mocked } from '../../util';
-import { BinarySource } from '../../../lib/util/exec/common';
+} from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { mocked } from '../../../test/util';
+import { BinarySource } from '../../util/exec/common';
 
-const packageFile = 'test/manager/pip_setup/_fixtures/setup.py';
+const packageFile = 'lib/manager/pip_setup/__fixtures__/setup.py';
 const content = readFileSync(packageFile, 'utf8');
 
-const packageFileJson = 'test/manager/pip_setup/_fixtures/setup.py.json';
+const packageFileJson = 'lib/manager/pip_setup/__fixtures__/setup.py.json';
 const jsonContent = readFileSync(packageFileJson, 'utf8');
 
 const config = {
@@ -26,7 +26,7 @@ const exec: jest.Mock<typeof _exec> = _exec as any;
 const env = mocked(_env);
 
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
+jest.mock('../../util/exec/env');
 
 const pythonVersionCallResults = [
   { stdout: '', stderr: 'Python 2.7.17\\n' },
diff --git a/test/manager/pipenv/_fixtures/Pipfile1 b/lib/manager/pipenv/__fixtures__/Pipfile1
similarity index 100%
rename from test/manager/pipenv/_fixtures/Pipfile1
rename to lib/manager/pipenv/__fixtures__/Pipfile1
diff --git a/test/manager/pipenv/_fixtures/Pipfile2 b/lib/manager/pipenv/__fixtures__/Pipfile2
similarity index 100%
rename from test/manager/pipenv/_fixtures/Pipfile2
rename to lib/manager/pipenv/__fixtures__/Pipfile2
diff --git a/test/manager/pipenv/_fixtures/Pipfile3 b/lib/manager/pipenv/__fixtures__/Pipfile3
similarity index 100%
rename from test/manager/pipenv/_fixtures/Pipfile3
rename to lib/manager/pipenv/__fixtures__/Pipfile3
diff --git a/test/manager/pipenv/_fixtures/Pipfile4 b/lib/manager/pipenv/__fixtures__/Pipfile4
similarity index 100%
rename from test/manager/pipenv/_fixtures/Pipfile4
rename to lib/manager/pipenv/__fixtures__/Pipfile4
diff --git a/test/manager/pipenv/_fixtures/Pipfile5 b/lib/manager/pipenv/__fixtures__/Pipfile5
similarity index 100%
rename from test/manager/pipenv/_fixtures/Pipfile5
rename to lib/manager/pipenv/__fixtures__/Pipfile5
diff --git a/test/manager/pipenv/__snapshots__/artifacts.spec.ts.snap b/lib/manager/pipenv/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/pipenv/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/pipenv/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/pipenv/__snapshots__/extract.spec.ts.snap b/lib/manager/pipenv/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/pipenv/__snapshots__/extract.spec.ts.snap
rename to lib/manager/pipenv/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/pipenv/__snapshots__/update.spec.ts.snap b/lib/manager/pipenv/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/pipenv/__snapshots__/update.spec.ts.snap
rename to lib/manager/pipenv/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/pipenv/artifacts.spec.ts b/lib/manager/pipenv/artifacts.spec.ts
similarity index 85%
rename from test/manager/pipenv/artifacts.spec.ts
rename to lib/manager/pipenv/artifacts.spec.ts
index 40b882e0f4d8e20cb4847b6ecfebd7354e0707f8..040484fd8ffcd5dd6785aebed5cb7b49eb032409 100644
--- a/test/manager/pipenv/artifacts.spec.ts
+++ b/lib/manager/pipenv/artifacts.spec.ts
@@ -1,17 +1,17 @@
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
-import * as pipenv from '../../../lib/manager/pipenv/artifacts';
-import { platform as _platform } from '../../../lib/platform';
-import { mocked } from '../../util';
-import { StatusResult } from '../../../lib/platform/git/storage';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { BinarySource } from '../../../lib/util/exec/common';
+import * as pipenv from './artifacts';
+import { platform as _platform } from '../../platform';
+import { mocked } from '../../../test/util';
+import { StatusResult } from '../../platform/git/storage';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { BinarySource } from '../../util/exec/common';
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
-jest.mock('../../../lib/util/host-rules');
+jest.mock('../../util/exec/env');
+jest.mock('../../util/host-rules');
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
diff --git a/test/manager/pipenv/extract.spec.ts b/lib/manager/pipenv/extract.spec.ts
similarity index 91%
rename from test/manager/pipenv/extract.spec.ts
rename to lib/manager/pipenv/extract.spec.ts
index e730c0916ea289350d983e944e8a2bd7995fb3dd..114f86feac8dde657e32d9c608c7edbcf654207b 100644
--- a/test/manager/pipenv/extract.spec.ts
+++ b/lib/manager/pipenv/extract.spec.ts
@@ -1,24 +1,24 @@
 import fs from 'fs';
-import { extractPackageFile } from '../../../lib/manager/pipenv/extract';
+import { extractPackageFile } from './extract';
 
 const pipfile1 = fs.readFileSync(
-  'test/manager/pipenv/_fixtures/Pipfile1',
+  'lib/manager/pipenv/__fixtures__/Pipfile1',
   'utf8'
 );
 const pipfile2 = fs.readFileSync(
-  'test/manager/pipenv/_fixtures/Pipfile2',
+  'lib/manager/pipenv/__fixtures__/Pipfile2',
   'utf8'
 );
 const pipfile3 = fs.readFileSync(
-  'test/manager/pipenv/_fixtures/Pipfile3',
+  'lib/manager/pipenv/__fixtures__/Pipfile3',
   'utf8'
 );
 const pipfile4 = fs.readFileSync(
-  'test/manager/pipenv/_fixtures/Pipfile4',
+  'lib/manager/pipenv/__fixtures__/Pipfile4',
   'utf8'
 );
 const pipfile5 = fs.readFileSync(
-  'test/manager/pipenv/_fixtures/Pipfile5',
+  'lib/manager/pipenv/__fixtures__/Pipfile5',
   'utf8'
 );
 
diff --git a/test/manager/pipenv/update.spec.ts b/lib/manager/pipenv/update.spec.ts
similarity index 91%
rename from test/manager/pipenv/update.spec.ts
rename to lib/manager/pipenv/update.spec.ts
index 64ecd91cb581702296f3883647a7a0bba7498de3..abff9663d1f3ae99458544b8ef7852a0065efc1b 100644
--- a/test/manager/pipenv/update.spec.ts
+++ b/lib/manager/pipenv/update.spec.ts
@@ -1,7 +1,10 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/pipenv/update';
+import { updateDependency } from './update';
 
-const pipfile = readFileSync('test/manager/pipenv/_fixtures/Pipfile1', 'utf8');
+const pipfile = readFileSync(
+  'lib/manager/pipenv/__fixtures__/Pipfile1',
+  'utf8'
+);
 
 describe('manager/pipenv/update', () => {
   describe('updateDependency', () => {
diff --git a/test/manager/poetry/_fixtures/pyproject.1.toml b/lib/manager/poetry/__fixtures__/pyproject.1.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.1.toml
rename to lib/manager/poetry/__fixtures__/pyproject.1.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.2.toml b/lib/manager/poetry/__fixtures__/pyproject.2.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.2.toml
rename to lib/manager/poetry/__fixtures__/pyproject.2.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.3.toml b/lib/manager/poetry/__fixtures__/pyproject.3.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.3.toml
rename to lib/manager/poetry/__fixtures__/pyproject.3.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.4.toml b/lib/manager/poetry/__fixtures__/pyproject.4.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.4.toml
rename to lib/manager/poetry/__fixtures__/pyproject.4.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.5.toml b/lib/manager/poetry/__fixtures__/pyproject.5.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.5.toml
rename to lib/manager/poetry/__fixtures__/pyproject.5.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.6.toml b/lib/manager/poetry/__fixtures__/pyproject.6.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.6.toml
rename to lib/manager/poetry/__fixtures__/pyproject.6.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.7.toml b/lib/manager/poetry/__fixtures__/pyproject.7.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.7.toml
rename to lib/manager/poetry/__fixtures__/pyproject.7.toml
diff --git a/test/manager/poetry/_fixtures/pyproject.8.toml b/lib/manager/poetry/__fixtures__/pyproject.8.toml
similarity index 100%
rename from test/manager/poetry/_fixtures/pyproject.8.toml
rename to lib/manager/poetry/__fixtures__/pyproject.8.toml
diff --git a/test/manager/poetry/__snapshots__/artifacts.spec.ts.snap b/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
similarity index 100%
rename from test/manager/poetry/__snapshots__/artifacts.spec.ts.snap
rename to lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
diff --git a/test/manager/poetry/__snapshots__/extract.spec.ts.snap b/lib/manager/poetry/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/poetry/__snapshots__/extract.spec.ts.snap
rename to lib/manager/poetry/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/poetry/__snapshots__/update.spec.ts.snap b/lib/manager/poetry/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/poetry/__snapshots__/update.spec.ts.snap
rename to lib/manager/poetry/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/poetry/artifacts.spec.ts b/lib/manager/poetry/artifacts.spec.ts
similarity index 87%
rename from test/manager/poetry/artifacts.spec.ts
rename to lib/manager/poetry/artifacts.spec.ts
index 5b4377d7a716b75d37aa08390afec1f7be8b2904..4f287b2e83369b44d4480d1042d54415e629d742 100644
--- a/test/manager/poetry/artifacts.spec.ts
+++ b/lib/manager/poetry/artifacts.spec.ts
@@ -1,17 +1,17 @@
 import { join } from 'upath';
 import _fs from 'fs-extra';
 import { exec as _exec } from 'child_process';
-import { updateArtifacts } from '../../../lib/manager/poetry/artifacts';
-import { mocked } from '../../util';
-import { envMock, mockExecAll } from '../../execUtil';
-import * as _env from '../../../lib/util/exec/env';
-import { setExecConfig } from '../../../lib/util/exec';
-import { BinarySource } from '../../../lib/util/exec/common';
-import { resetPrefetchedImages } from '../../../lib/util/exec/docker';
+import { updateArtifacts } from './artifacts';
+import { mocked } from '../../../test/util';
+import { envMock, mockExecAll } from '../../../test/execUtil';
+import * as _env from '../../util/exec/env';
+import { setExecConfig } from '../../util/exec';
+import { BinarySource } from '../../util/exec/common';
+import { resetPrefetchedImages } from '../../util/exec/docker';
 
 jest.mock('fs-extra');
 jest.mock('child_process');
-jest.mock('../../../lib/util/exec/env');
+jest.mock('../../util/exec/env');
 
 const fs: jest.Mocked<typeof _fs> = _fs as any;
 const exec: jest.Mock<typeof _exec> = _exec as any;
diff --git a/test/manager/poetry/extract.spec.ts b/lib/manager/poetry/extract.spec.ts
similarity index 89%
rename from test/manager/poetry/extract.spec.ts
rename to lib/manager/poetry/extract.spec.ts
index 3a35eed7fc201ccac2c4e1bf93f5359b2c6a76c1..1ccdce61a8823cc87e9603ecb6881aa8144b44a1 100644
--- a/test/manager/poetry/extract.spec.ts
+++ b/lib/manager/poetry/extract.spec.ts
@@ -1,43 +1,43 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/poetry/extract';
+import { extractPackageFile } from './extract';
 
 const pyproject1toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.1.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.1.toml',
   'utf8'
 );
 
 const pyproject2toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.2.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.2.toml',
   'utf8'
 );
 
 const pyproject3toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.3.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.3.toml',
   'utf8'
 );
 
 const pyproject4toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.4.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.4.toml',
   'utf8'
 );
 
 const pyproject5toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.5.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.5.toml',
   'utf8'
 );
 
 const pyproject6toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.6.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.6.toml',
   'utf8'
 );
 
 const pyproject7toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.7.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.7.toml',
   'utf8'
 );
 
 const pyproject8toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.8.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.8.toml',
   'utf8'
 );
 
diff --git a/test/manager/poetry/update.spec.ts b/lib/manager/poetry/update.spec.ts
similarity index 96%
rename from test/manager/poetry/update.spec.ts
rename to lib/manager/poetry/update.spec.ts
index 6166108ac1e928878cfb80096fdcf3ac54ae288c..bd93f6ba603d45426481248a29bea2afb0053981 100644
--- a/test/manager/poetry/update.spec.ts
+++ b/lib/manager/poetry/update.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/poetry/update';
+import { updateDependency } from './update';
 
 const pyproject1toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.1.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.1.toml',
   'utf8'
 );
 
 const pyproject2toml = readFileSync(
-  'test/manager/poetry/_fixtures/pyproject.2.toml',
+  'lib/manager/poetry/__fixtures__/pyproject.2.toml',
   'utf8'
 );
 
diff --git a/test/manager/pub/_fixtures/extract.yaml b/lib/manager/pub/__fixtures__/extract.yaml
similarity index 100%
rename from test/manager/pub/_fixtures/extract.yaml
rename to lib/manager/pub/__fixtures__/extract.yaml
diff --git a/test/manager/pub/_fixtures/update.yaml b/lib/manager/pub/__fixtures__/update.yaml
similarity index 100%
rename from test/manager/pub/_fixtures/update.yaml
rename to lib/manager/pub/__fixtures__/update.yaml
diff --git a/test/manager/pub/__snapshots__/extract.spec.ts.snap b/lib/manager/pub/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/pub/__snapshots__/extract.spec.ts.snap
rename to lib/manager/pub/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/pub/__snapshots__/update.spec.ts.snap b/lib/manager/pub/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/pub/__snapshots__/update.spec.ts.snap
rename to lib/manager/pub/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/pub/extract.spec.ts b/lib/manager/pub/extract.spec.ts
similarity index 82%
rename from test/manager/pub/extract.spec.ts
rename to lib/manager/pub/extract.spec.ts
index be3ddbb4e452aacd3c88baac1453a5805a30c48d..6cf25d2ab732b61937e4b54f5f6f8472fdaaf2da 100644
--- a/test/manager/pub/extract.spec.ts
+++ b/lib/manager/pub/extract.spec.ts
@@ -1,13 +1,13 @@
 import { readFileSync } from 'fs';
-import { extractPackageFile } from '../../../lib/manager/pub';
+import { extractPackageFile } from '.';
 
 const brokenYaml = readFileSync(
-  'test/manager/pub/_fixtures/update.yaml',
+  'lib/manager/pub/__fixtures__/update.yaml',
   'utf8'
 );
 
 const packageFile = readFileSync(
-  'test/manager/pub/_fixtures/extract.yaml',
+  'lib/manager/pub/__fixtures__/extract.yaml',
   'utf8'
 );
 
diff --git a/test/manager/pub/update.spec.ts b/lib/manager/pub/update.spec.ts
similarity index 94%
rename from test/manager/pub/update.spec.ts
rename to lib/manager/pub/update.spec.ts
index 39d811fbd375056cae2fad6a448c55dd64040079..532557c5e11f9d653b560a09179ef777ac91dde4 100644
--- a/test/manager/pub/update.spec.ts
+++ b/lib/manager/pub/update.spec.ts
@@ -1,8 +1,8 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/pub';
+import { updateDependency } from '.';
 
 const fileContent = readFileSync(
-  'test/manager/pub/_fixtures/update.yaml',
+  'lib/manager/pub/__fixtures__/update.yaml',
   'utf8'
 );
 
diff --git a/test/manager/range.spec.ts b/lib/manager/range.spec.ts
similarity index 89%
rename from test/manager/range.spec.ts
rename to lib/manager/range.spec.ts
index df8892b5d60b374ea786f5313fd81dbecd4ec78f..d336eee5efec6cbae427eb352412fe3c51af8173 100644
--- a/test/manager/range.spec.ts
+++ b/lib/manager/range.spec.ts
@@ -1,5 +1,5 @@
-import { getRangeStrategy } from '../../lib/manager';
-import { RangeConfig } from '../../lib/manager/common';
+import { getRangeStrategy } from '.';
+import { RangeConfig } from './common';
 
 describe('getRangeStrategy', () => {
   it('returns same if not auto', () => {
diff --git a/test/manager/ruby-version/__snapshots__/extract.spec.ts.snap b/lib/manager/ruby-version/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/ruby-version/__snapshots__/extract.spec.ts.snap
rename to lib/manager/ruby-version/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/ruby-version/__snapshots__/update.spec.ts.snap b/lib/manager/ruby-version/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/ruby-version/__snapshots__/update.spec.ts.snap
rename to lib/manager/ruby-version/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/ruby-version/extract.spec.ts b/lib/manager/ruby-version/extract.spec.ts
similarity index 86%
rename from test/manager/ruby-version/extract.spec.ts
rename to lib/manager/ruby-version/extract.spec.ts
index 2f7788601c3e0bcc2373a33e40dde5b9347db4d7..1dcabd3ebefd8934721739d2785f83c4817a0199 100644
--- a/test/manager/ruby-version/extract.spec.ts
+++ b/lib/manager/ruby-version/extract.spec.ts
@@ -1,4 +1,4 @@
-import { extractPackageFile } from '../../../lib/manager/ruby-version/extract';
+import { extractPackageFile } from './extract';
 
 describe('lib/manager/ruby-version/extract', () => {
   describe('extractPackageFile()', () => {
diff --git a/test/manager/ruby-version/update.spec.ts b/lib/manager/ruby-version/update.spec.ts
similarity index 78%
rename from test/manager/ruby-version/update.spec.ts
rename to lib/manager/ruby-version/update.spec.ts
index 40dc7c078b82528c39e850a926cac9cf002bfbce..a12cd2f71a8cd4cba23ec6888ba5e60a4d0d035a 100644
--- a/test/manager/ruby-version/update.spec.ts
+++ b/lib/manager/ruby-version/update.spec.ts
@@ -1,4 +1,4 @@
-import { updateDependency } from '../../../lib/manager/ruby-version/update';
+import { updateDependency } from './update';
 
 describe('manager/nvm/update', () => {
   describe('updateDependency', () => {
diff --git a/test/manager/sbt/_fixtures/dependency-file.scala b/lib/manager/sbt/__fixtures__/dependency-file.scala
similarity index 100%
rename from test/manager/sbt/_fixtures/dependency-file.scala
rename to lib/manager/sbt/__fixtures__/dependency-file.scala
diff --git a/test/manager/sbt/_fixtures/missing-scala-version.sbt b/lib/manager/sbt/__fixtures__/missing-scala-version.sbt
similarity index 100%
rename from test/manager/sbt/_fixtures/missing-scala-version.sbt
rename to lib/manager/sbt/__fixtures__/missing-scala-version.sbt
diff --git a/test/manager/sbt/_fixtures/sample.sbt b/lib/manager/sbt/__fixtures__/sample.sbt
similarity index 100%
rename from test/manager/sbt/_fixtures/sample.sbt
rename to lib/manager/sbt/__fixtures__/sample.sbt
diff --git a/test/manager/sbt/_fixtures/scala-version-variable.sbt b/lib/manager/sbt/__fixtures__/scala-version-variable.sbt
similarity index 100%
rename from test/manager/sbt/_fixtures/scala-version-variable.sbt
rename to lib/manager/sbt/__fixtures__/scala-version-variable.sbt
diff --git a/test/manager/sbt/__snapshots__/extract.spec.ts.snap b/lib/manager/sbt/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/sbt/__snapshots__/extract.spec.ts.snap
rename to lib/manager/sbt/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/sbt/extract.spec.ts b/lib/manager/sbt/extract.spec.ts
similarity index 84%
rename from test/manager/sbt/extract.spec.ts
rename to lib/manager/sbt/extract.spec.ts
index 695ae19d94fcee6d5bf5f3193fe9c4644c2335a1..fff59f70031ecf40deebe37c13d9681b9cee127e 100644
--- a/test/manager/sbt/extract.spec.ts
+++ b/lib/manager/sbt/extract.spec.ts
@@ -1,19 +1,22 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/sbt/extract';
+import { extractPackageFile } from './extract';
 
-const sbt = readFileSync(resolve(__dirname, `./_fixtures/sample.sbt`), 'utf8');
+const sbt = readFileSync(
+  resolve(__dirname, `./__fixtures__/sample.sbt`),
+  'utf8'
+);
 const sbtScalaVersionVariable = readFileSync(
-  resolve(__dirname, `./_fixtures/scala-version-variable.sbt`),
+  resolve(__dirname, `./__fixtures__/scala-version-variable.sbt`),
   'utf8'
 );
 const sbtMissingScalaVersion = readFileSync(
-  resolve(__dirname, `./_fixtures/missing-scala-version.sbt`),
+  resolve(__dirname, `./__fixtures__/missing-scala-version.sbt`),
   'utf8'
 );
 
 const sbtDependencyFile = readFileSync(
-  resolve(__dirname, `./_fixtures/dependency-file.scala`),
+  resolve(__dirname, `./__fixtures__/dependency-file.scala`),
   'utf8'
 );
 
diff --git a/test/manager/sbt/update.spec.ts b/lib/manager/sbt/update.spec.ts
similarity index 85%
rename from test/manager/sbt/update.spec.ts
rename to lib/manager/sbt/update.spec.ts
index 20391453be76fbe358346b73ca87285e2d710b99..28f535397eed1319f56ab8c068159619de03019e 100644
--- a/test/manager/sbt/update.spec.ts
+++ b/lib/manager/sbt/update.spec.ts
@@ -1,10 +1,10 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/sbt/extract';
-import { updateDependency } from '../../../lib/manager/sbt/update';
-import { Upgrade } from '../../../lib/manager/common';
+import { extractPackageFile } from './extract';
+import { updateDependency } from './update';
+import { Upgrade } from '../common';
 
-const sbtPath = resolve(__dirname, `./_fixtures/sample.sbt`);
+const sbtPath = resolve(__dirname, `./__fixtures__/sample.sbt`);
 const fileContent = readFileSync(sbtPath, 'utf8');
 
 describe('lib/manager/sbt/extract', () => {
diff --git a/test/manager/swift/_fixtures/SamplePackage.swift b/lib/manager/swift/__fixtures__/SamplePackage.swift
similarity index 100%
rename from test/manager/swift/_fixtures/SamplePackage.swift
rename to lib/manager/swift/__fixtures__/SamplePackage.swift
diff --git a/test/manager/swift/__snapshots__/index.spec.ts.snap b/lib/manager/swift/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from test/manager/swift/__snapshots__/index.spec.ts.snap
rename to lib/manager/swift/__snapshots__/index.spec.ts.snap
diff --git a/test/manager/swift/index.spec.ts b/lib/manager/swift/index.spec.ts
similarity index 97%
rename from test/manager/swift/index.spec.ts
rename to lib/manager/swift/index.spec.ts
index 8ce0c6c76784bd11f85b1cd66d1815aaf1f6d912..ae038abb6d7e1177e69743b0d585109b76ae36e8 100644
--- a/test/manager/swift/index.spec.ts
+++ b/lib/manager/swift/index.spec.ts
@@ -1,10 +1,10 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/swift/extract';
-import { updateDependency } from '../../../lib/manager/swift/update';
+import { extractPackageFile } from './extract';
+import { updateDependency } from './update';
 
 const pkgContent = readFileSync(
-  resolve(__dirname, `./_fixtures/SamplePackage.swift`),
+  resolve(__dirname, `./__fixtures__/SamplePackage.swift`),
   'utf8'
 );
 
diff --git a/test/manager/terraform/__snapshots__/extract.spec.ts.snap b/lib/manager/terraform/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/terraform/__snapshots__/extract.spec.ts.snap
rename to lib/manager/terraform/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/terraform/extract.spec.ts b/lib/manager/terraform/extract.spec.ts
similarity index 97%
rename from test/manager/terraform/extract.spec.ts
rename to lib/manager/terraform/extract.spec.ts
index 9330d312316a6271192677df0f5f38e1cd082dda..6815e0be83d66bb24685548de17240f0817a039c 100644
--- a/test/manager/terraform/extract.spec.ts
+++ b/lib/manager/terraform/extract.spec.ts
@@ -3,7 +3,7 @@ import {
   extractPackageFile,
   TerraformDependencyTypes,
   getTerraformDependencyType,
-} from '../../../lib/manager/terraform/extract';
+} from './extract';
 
 const tf1 = readFileSync('test/datasource/terraform/_fixtures/1.tf', 'utf8');
 const tf2 = `module "relative" {
diff --git a/test/manager/terraform/update.spec.ts b/lib/manager/terraform/update.spec.ts
similarity index 98%
rename from test/manager/terraform/update.spec.ts
rename to lib/manager/terraform/update.spec.ts
index c83f451ab3095cf8784281c6f654096c50821da3..1d62c338250482bbc58dd9e2715c57ea2805e97b 100644
--- a/test/manager/terraform/update.spec.ts
+++ b/lib/manager/terraform/update.spec.ts
@@ -1,5 +1,5 @@
 import { readFileSync } from 'fs';
-import { updateDependency } from '../../../lib/manager/terraform/update';
+import { updateDependency } from './update';
 
 const tf1 = readFileSync('test/datasource/terraform/_fixtures/1.tf', 'utf8');
 
diff --git a/test/manager/travis/_fixtures/invalid.yml b/lib/manager/travis/__fixtures__/invalid.yml
similarity index 100%
rename from test/manager/travis/_fixtures/invalid.yml
rename to lib/manager/travis/__fixtures__/invalid.yml
diff --git a/test/manager/travis/_fixtures/travis.yml b/lib/manager/travis/__fixtures__/travis.yml
similarity index 100%
rename from test/manager/travis/_fixtures/travis.yml
rename to lib/manager/travis/__fixtures__/travis.yml
diff --git a/test/manager/travis/__snapshots__/extract.spec.ts.snap b/lib/manager/travis/__snapshots__/extract.spec.ts.snap
similarity index 100%
rename from test/manager/travis/__snapshots__/extract.spec.ts.snap
rename to lib/manager/travis/__snapshots__/extract.spec.ts.snap
diff --git a/test/manager/travis/__snapshots__/package.spec.ts.snap b/lib/manager/travis/__snapshots__/package.spec.ts.snap
similarity index 100%
rename from test/manager/travis/__snapshots__/package.spec.ts.snap
rename to lib/manager/travis/__snapshots__/package.spec.ts.snap
diff --git a/test/manager/travis/__snapshots__/update.spec.ts.snap b/lib/manager/travis/__snapshots__/update.spec.ts.snap
similarity index 100%
rename from test/manager/travis/__snapshots__/update.spec.ts.snap
rename to lib/manager/travis/__snapshots__/update.spec.ts.snap
diff --git a/test/manager/travis/extract.spec.ts b/lib/manager/travis/extract.spec.ts
similarity index 84%
rename from test/manager/travis/extract.spec.ts
rename to lib/manager/travis/extract.spec.ts
index e2124f99977a563327befccd020ce36e55446f4b..8db227e74828f7ee74453b787282dadc8c1ca53d 100644
--- a/test/manager/travis/extract.spec.ts
+++ b/lib/manager/travis/extract.spec.ts
@@ -1,9 +1,9 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { extractPackageFile } from '../../../lib/manager/travis/extract';
+import { extractPackageFile } from './extract';
 
 const invalidYAML = readFileSync(
-  resolve('test/manager/travis/_fixtures/invalid.yml'),
+  resolve('lib/manager/travis/__fixtures__/invalid.yml'),
   'utf8'
 );
 
diff --git a/test/manager/travis/package.spec.ts b/lib/manager/travis/package.spec.ts
similarity index 87%
rename from test/manager/travis/package.spec.ts
rename to lib/manager/travis/package.spec.ts
index b9a2af1b5180ac9e48946480f0d58ad543b6b471..1e89c097f0ab6daf20d51cdeec15183aac365ed6 100644
--- a/test/manager/travis/package.spec.ts
+++ b/lib/manager/travis/package.spec.ts
@@ -1,11 +1,11 @@
-import { getPackageUpdates } from '../../../lib/manager/travis/package';
-import { getPkgReleases as _getPkgReleases } from '../../../lib/datasource/github';
-import { getConfig } from '../../../lib/config/defaults';
+import { getPackageUpdates } from './package';
+import { getPkgReleases as _getPkgReleases } from '../../datasource/github';
+import { getConfig } from '../../config/defaults';
 
 const defaultConfig = getConfig();
 const getPkgReleases: any = _getPkgReleases;
 
-jest.mock('../../../lib/datasource/github');
+jest.mock('../../datasource/github');
 
 describe('lib/manager/travis/package', () => {
   describe('getPackageUpdates', () => {
diff --git a/test/manager/travis/update.spec.ts b/lib/manager/travis/update.spec.ts
similarity index 91%
rename from test/manager/travis/update.spec.ts
rename to lib/manager/travis/update.spec.ts
index f09e94852c0057d514709e493d73679435e684c2..03023376d42c76d3598688d6a014ceaec59bfc26 100644
--- a/test/manager/travis/update.spec.ts
+++ b/lib/manager/travis/update.spec.ts
@@ -1,9 +1,9 @@
 import { readFileSync } from 'fs';
 import { resolve } from 'path';
-import { updateDependency } from '../../../lib/manager/travis/update';
+import { updateDependency } from './update';
 
 const content = readFileSync(
-  resolve('test/manager/travis/_fixtures/travis.yml'),
+  resolve('lib/manager/travis/__fixtures__/travis.yml'),
   'utf8'
 );
 
diff --git a/package.json b/package.json
index c19b1a33232825d48ea9f2699f81a5a9844849e0..a3e3d6c05aff4fc90e976e48f018514aa42ad36c 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
     "clean-cache": "node bin/clean-cache.js",
     "compile:ts": "tsc -p tsconfig.app.json",
     "compile:dts": "tsc -p tsconfig.dts.json",
-    "copy-static-files": "copyfiles -u 1 lib/**/*.json lib/**/*.py dist/",
+    "copy-static-files": "copyfiles -u 1 -e **/__fixtures__/**  -e **/__mocks__/** lib/**/*.json lib/**/*.py dist/",
     "create-json-schema": "babel-node --extensions \".ts,.js\" -- bin/create-json-schema.js && prettier --write \"renovate-schema.json\"",
     "debug": "babel-node --inspect-brk  --extensions \".ts,.js\" -- lib/renovate.ts",
     "eslint": "eslint --ext .js,.ts lib/ test/",
@@ -249,7 +249,8 @@
     "collectCoverage": true,
     "collectCoverageFrom": [
       "lib/**/*.{js,ts}",
-      "!lib/**/*.d.ts"
+      "!lib/**/*.{d,spec}.ts",
+      "!lib/**/{__fixtures__,__mocks__}/**/*.{js,ts}"
     ],
     "coverageReporters": [
       "html",
diff --git a/test/static-files.spec.ts b/test/static-files.spec.ts
index d8280b6bef3a6d18cec36ded635df0ca5fe1c6fc..2ae74831045de9de90bfbc9e51d7de18214de8ef 100644
--- a/test/static-files.spec.ts
+++ b/test/static-files.spec.ts
@@ -2,7 +2,7 @@ import util from 'util';
 
 const glob = util.promisify(require('glob'));
 
-const ignoredExtensions = ['js', 'ts', 'md', 'pyc', 'DS_Store', 'map'];
+const ignoredExtensions = ['js', 'ts', 'md', 'pyc', 'DS_Store', 'map', 'snap'];
 
 function filterFiles(files: string[]): string[] {
   return files.filter(file =>
@@ -12,7 +12,11 @@ function filterFiles(files: string[]): string[] {
 
 async function getFiles(dir: string): Promise<string[]> {
   return filterFiles(
-    await glob(`${dir}/**/*`, { dot: true, nodir: true })
+    await glob(`${dir}/**/*`, {
+      dot: true,
+      nodir: true,
+      ignore: ['**/__fixtures__/**/*', '**/__mocks__/**/*'],
+    })
   ).map((file: string) => file.replace(`${dir}/`, ''));
 }
 
diff --git a/tsconfig.app.json b/tsconfig.app.json
index 7976eb64021a777f84dec9a541660bcab1c70598..25e6cee568675a91d5d7d635ad4129162b505074 100644
--- a/tsconfig.app.json
+++ b/tsconfig.app.json
@@ -7,5 +7,6 @@
     "inlineSources": true,
     "types": ["node"]
   },
-  "include": ["lib/**/*"]
+  "include": ["lib/**/*"],
+  "exclude": ["lib/**/*.spec.ts", "**/__mocks__/**", "**/__fixtures__/**"]
 }