From 1a7326efeba9c40e2776068ce01a434caa350b9e Mon Sep 17 00:00:00 2001 From: Fedor Lukyanov <sleekybadger@gmail.com> Date: Mon, 7 Jan 2019 07:38:24 +0200 Subject: [PATCH] refactor: Extract mask token function from npm datasource to utils (#3040) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Helps with https://github.com/renovatebot/renovate/pull/3039 😄 --- lib/config/decrypt.js | 2 +- lib/datasource/npm/get.js | 3 +-- lib/datasource/npm/index.js | 2 -- lib/datasource/npm/mask.js | 14 -------------- lib/platform/github/gh-got-wrapper.js | 11 +---------- lib/util/mask.js | 13 +++++++++++++ test/util/mask.spec.js | 13 +++++++++++++ 7 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 lib/datasource/npm/mask.js create mode 100644 lib/util/mask.js create mode 100644 test/util/mask.spec.js diff --git a/lib/config/decrypt.js b/lib/config/decrypt.js index 939d40d31f..17c0d8aaa7 100644 --- a/lib/config/decrypt.js +++ b/lib/config/decrypt.js @@ -1,6 +1,6 @@ const is = require('@sindresorhus/is'); const crypto = require('crypto'); -const { maskToken } = require('../datasource/npm'); +const { maskToken } = require('../util/mask'); module.exports = { decryptConfig, diff --git a/lib/datasource/npm/get.js b/lib/datasource/npm/get.js index fd7b996388..21b76c4039 100644 --- a/lib/datasource/npm/get.js +++ b/lib/datasource/npm/get.js @@ -8,9 +8,8 @@ const parse = require('github-url-from-git'); const { isBase64 } = require('validator'); const hostRules = require('../../util/host-rules'); - +const { maskToken } = require('../../util/mask'); const { getNpmrc } = require('./npmrc'); -const { maskToken } = require('./mask'); module.exports = { getDependency, diff --git a/lib/datasource/npm/index.js b/lib/datasource/npm/index.js index 7c2790ee6f..5485934deb 100644 --- a/lib/datasource/npm/index.js +++ b/lib/datasource/npm/index.js @@ -1,11 +1,9 @@ const { resetMemCache, resetCache } = require('./get'); const { getPreset } = require('./presets'); const { getPkgReleases } = require('./releases'); -const { maskToken } = require('./mask'); const { setNpmrc } = require('./npmrc'); module.exports = { - maskToken, setNpmrc, getPreset, getPkgReleases, diff --git a/lib/datasource/npm/mask.js b/lib/datasource/npm/mask.js deleted file mode 100644 index 4859086950..0000000000 --- a/lib/datasource/npm/mask.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - maskToken, -}; - -// istanbul ignore next -function maskToken(token) { - // istanbul ignore if - if (!token) { - return token; - } - return `${token.substring(0, 2)}${new Array(token.length - 3).join( - '*' - )}${token.slice(-2)}`; -} diff --git a/lib/platform/github/gh-got-wrapper.js b/lib/platform/github/gh-got-wrapper.js index be130dd773..2981afa92d 100644 --- a/lib/platform/github/gh-got-wrapper.js +++ b/lib/platform/github/gh-got-wrapper.js @@ -3,6 +3,7 @@ const ghGot = require('gh-got'); const delay = require('delay'); const parseLinkHeader = require('parse-link-header'); const hostRules = require('../../util/host-rules'); +const { maskToken } = require('../../util/mask'); let cache = {}; let stats = {}; @@ -196,16 +197,6 @@ async function get(path, options, retries = 5) { } } -// istanbul ignore next -function maskToken(token) { - if (!token) { - return token; - } - return `${token.substring(0, 2)}${new Array(token.length - 3).join( - '*' - )}${token.slice(-2)}`; -} - const helpers = ['get', 'post', 'put', 'patch', 'head', 'delete']; for (const x of helpers) { diff --git a/lib/util/mask.js b/lib/util/mask.js new file mode 100644 index 0000000000..0329f22970 --- /dev/null +++ b/lib/util/mask.js @@ -0,0 +1,13 @@ +function maskToken(str) { + return str + ? [ + str.substring(0, 2), + new Array(str.length - 3).join('*'), + str.slice(-2), + ].join('') + : str; +} + +module.exports = { + maskToken, +}; diff --git a/test/util/mask.spec.js b/test/util/mask.spec.js new file mode 100644 index 0000000000..ea7f199dcf --- /dev/null +++ b/test/util/mask.spec.js @@ -0,0 +1,13 @@ +const { maskToken } = require('../../lib/util/mask'); + +describe('util/mask', () => { + describe('.maskToken', () => { + it('returns value if passed value is falsy', () => { + expect(maskToken('')).toEqual(''); + }); + + it('hides value content', () => { + expect(maskToken('123456789')).toEqual('12*****89'); + }); + }); +}); -- GitLab