From 45692414de21093e8518d85f91ee45d1c1f556c7 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sun, 19 Apr 2020 08:29:51 +0200
Subject: [PATCH] refactor(maven): read from fs instead of platform

---
 lib/manager/maven/extract.ts    |  4 ++--
 lib/manager/maven/index.spec.ts | 18 ++++++++++--------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/lib/manager/maven/extract.ts b/lib/manager/maven/extract.ts
index 6e8aa0d80b..e825fe6441 100644
--- a/lib/manager/maven/extract.ts
+++ b/lib/manager/maven/extract.ts
@@ -3,7 +3,7 @@ import { basename, dirname, normalize, join } from 'path';
 import { XmlDocument, XmlElement } from 'xmldoc';
 import { logger } from '../../logger';
 import { ExtractConfig, PackageFile, PackageDependency } from '../common';
-import { platform } from '../../platform';
+import { readLocalFile } from '../../util/fs';
 import * as datasourceMaven from '../../datasource/maven';
 import { MAVEN_REPO } from '../../datasource/maven/common';
 import { SkipReason } from '../../types';
@@ -300,7 +300,7 @@ export async function extractAllPackageFiles(
 ): Promise<PackageFile[]> {
   const packages: PackageFile[] = [];
   for (const packageFile of packageFiles) {
-    const content = await platform.getFile(packageFile);
+    const content = await readLocalFile(packageFile, 'utf8');
     if (content) {
       const pkg = extractPackage(content, packageFile);
       if (pkg) {
diff --git a/lib/manager/maven/index.spec.ts b/lib/manager/maven/index.spec.ts
index 4aafead7a5..57b7c2680a 100644
--- a/lib/manager/maven/index.spec.ts
+++ b/lib/manager/maven/index.spec.ts
@@ -2,9 +2,11 @@ import { readFileSync } from 'fs';
 import { extractPackage, resolveParents } from './extract';
 import { extractAllPackageFiles, updateDependency } from './index';
 import { PackageDependency, PackageFile } from '../common';
-import { platform as _platform } from '../../platform';
+import * as _fs from '../../util/fs';
 
-const platform: any = _platform;
+jest.mock('../../util/fs');
+
+const fs: any = _fs;
 
 const pomContent = readFileSync(
   'lib/manager/maven/__fixtures__/simple.pom.xml',
@@ -30,19 +32,19 @@ function selectDep(deps: PackageDependency[], name = 'org.example:quuz') {
 describe('manager/maven', () => {
   describe('extractAllPackageFiles', () => {
     it('should return empty if package has no content', async () => {
-      platform.getFile.mockReturnValueOnce(null);
+      fs.readLocalFile.mockReturnValueOnce(null);
       const res = await extractAllPackageFiles({}, ['random.pom.xml']);
       expect(res).toEqual([]);
     });
 
     it('should return empty for packages with invalid content', async () => {
-      platform.getFile.mockReturnValueOnce('invalid content');
+      fs.readLocalFile.mockReturnValueOnce('invalid content');
       const res = await extractAllPackageFiles({}, ['random.pom.xml']);
       expect(res).toEqual([]);
     });
 
     it('should return package files info', async () => {
-      platform.getFile.mockReturnValueOnce(pomContent);
+      fs.readLocalFile.mockReturnValueOnce(pomContent);
       const packages = await extractAllPackageFiles({}, ['random.pom.xml']);
       // windows path fix
       for (const p of packages) {
@@ -97,7 +99,7 @@ describe('manager/maven', () => {
     });
 
     it('should include registryUrls from parent pom files', async () => {
-      platform.getFile
+      fs.readLocalFile
         .mockReturnValueOnce(pomParent)
         .mockReturnValueOnce(pomChild);
       const packages = await extractAllPackageFiles({}, [
@@ -132,7 +134,7 @@ describe('manager/maven', () => {
     });
 
     it('should update to version of the latest dep in implicit group', async () => {
-      platform.getFile.mockReturnValueOnce(origContent);
+      fs.readLocalFile.mockReturnValueOnce(origContent);
       const [{ deps }] = await extractAllPackageFiles({}, ['pom.xml']);
 
       const dep1 = selectDep(deps, 'org.example:foo-1');
@@ -177,7 +179,7 @@ describe('manager/maven', () => {
     });
 
     it('should return null for ungrouped deps if content was updated outside', async () => {
-      platform.getFile.mockReturnValueOnce(origContent);
+      fs.readLocalFile.mockReturnValueOnce(origContent);
       const [{ deps }] = await extractAllPackageFiles({}, ['pom.xml']);
       const dep = selectDep(deps, 'org.example:bar');
       const upgrade = { ...dep, newValue: '2.0.2' };
-- 
GitLab