diff --git a/lib/base_service.ts b/lib/base_service.ts index 15297a6b9..c2ac54b38 100644 --- a/lib/base_service.ts +++ b/lib/base_service.ts @@ -63,6 +63,8 @@ export interface Credentials { iam_access_token?: string; iam_apikey?: string; iam_url?: string; + iam_client_id?: string; + iam_client_secret?: string; authentication_type?: string; } @@ -243,6 +245,12 @@ export class BaseService { if (this._options.iam_url) { credentials.iam_url = this._options.iam_url; } + if (this._options.iam_client_id) { + credentials.iam_client_id = this._options.iam_client_id; + } + if (this._options.iam_client_secret) { + credentials.iam_client_secret = this._options.iam_client_secret; + } if (this._options.icp4d_access_token) { credentials.icp4d_access_token = this._options.icp4d_access_token; } @@ -421,6 +429,8 @@ export class BaseService { const iamAccessToken: string = envObj[`${_name}_IAM_ACCESS_TOKEN`] || envObj[`${nameWithUnderscore}_IAM_ACCESS_TOKEN`]; const iamApiKey: string = envObj[`${_name}_IAM_APIKEY`] || envObj[`${nameWithUnderscore}_IAM_APIKEY`]; const iamUrl: string = envObj[`${_name}_IAM_URL`] || envObj[`${nameWithUnderscore}_IAM_URL`]; + const iamClientId: string = envObj[`${_name}_IAM_CLIENT_ID`] || envObj[`${_name}_IAM_CLIENT_ID`]; + const iamClientSecret: string = envObj[`${_name}_IAM_CLIENT_SECRET`] || envObj[`${_name}_IAM_CLIENT_SECRET`]; const icp4dAccessToken: string = envObj[`${_name}_ICP4D_ACCESS_TOKEN`] || envObj[`${nameWithUnderscore}_ICP4D_ACCESS_TOKEN`]; const icp4dUrl: string = envObj[`${_name}_ICP4D_URL`] || envObj[`${nameWithUnderscore}_ICP4D_URL`]; const authenticationType: string = envObj[`${_name}_AUTHENTICATION_TYPE`] || envObj[`${nameWithUnderscore}_AUTHENTICATION_TYPE`]; @@ -432,6 +442,8 @@ export class BaseService { iam_access_token: iamAccessToken, iam_apikey: iamApiKey, iam_url: iamUrl, + iam_client_id: iamClientId, + iam_client_secret: iamClientSecret, icp4d_access_token: icp4dAccessToken, icp4d_url: icp4dUrl, authentication_type: authenticationType, diff --git a/package-lock.json b/package-lock.json index c6fa6059e..5e0f679cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -612,12 +612,12 @@ "dev": true }, "@octokit/endpoint": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.1.4.tgz", - "integrity": "sha512-DypS8gbbcc9rlOCDW0wV9a+B18+ylduj6PpxeE+qa3IK1h5b0eW4CKj5pxxXWOZUYhEKwgOnh3+Q+Y/hx/bOPw==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.1.8.tgz", + "integrity": "sha512-BVVNVVeVGySIF6nvoaO6AaickboZr7A1O6z1wmnMRslewi6O+KILSp0ZsXbkgLnP8V8pa7WM9+wSYYczIUBm5w==", "dev": true, "requires": { - "deepmerge": "3.2.0", + "deepmerge": "3.3.0", "is-plain-object": "^3.0.0", "universal-user-agent": "^2.1.0", "url-template": "^2.0.8" @@ -641,9 +641,9 @@ } }, "@octokit/request": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-4.1.0.tgz", - "integrity": "sha512-RvpQAba4i+BNH0z8i0gPRc1ShlHidj4puQjI/Tno6s+Q3/Mzb0XRSHJiOhpeFrZ22V7Mwjq1E7QS27P5CgpWYA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-4.1.1.tgz", + "integrity": "sha512-LOyL0i3oxRo418EXRSJNk/3Q4I0/NKawTn6H/CQp+wnrG1UFLGu080gSsgnWobhPo5BpUNgSQ5BRk5FOOJhD1Q==", "dev": true, "requires": { "@octokit/endpoint": "^5.1.0", @@ -673,9 +673,9 @@ } }, "@octokit/request-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.2.tgz", - "integrity": "sha512-T9swMS/Vc4QlfWrvyeSyp/GjhXtYaBzCcibjGywV4k4D2qVrQKfEMPy8OxMDEj7zkIIdpHwqdpVbKCvnUPqkXw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz", + "integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==", "dev": true, "requires": { "deprecation": "^2.0.0", @@ -683,9 +683,9 @@ } }, "@octokit/rest": { - "version": "16.27.3", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.27.3.tgz", - "integrity": "sha512-WWH/SHF4kus6FG+EAfX7/JYH70EjgFYa4AAd2Lf1hgmgzodhrsoxpXPSZliZ5BdJruZPMP7ZYaPoTrYCCKYzmQ==", + "version": "16.28.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.2.tgz", + "integrity": "sha512-csuYiHvJ1P/GFDadVn0QhwO83R1+YREjcwCY7ZIezB6aJTRIEidJZj+R7gAkUhT687cqYb4cXTZsDVu9F+Fmug==", "dev": true, "requires": { "@octokit/request": "^4.0.1", @@ -716,16 +716,16 @@ } }, "@semantic-release/commit-analyzer": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-6.1.0.tgz", - "integrity": "sha512-2lb+t6muGenI86mYGpZYOgITx9L3oZYF697tJoqXeQEk0uw0fm+OkkOuDTBA3Oax9ftoNIrCKv9bwgYvxrbM6w==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-6.2.0.tgz", + "integrity": "sha512-oUtPydYcbtJsEY6WCPi4wynTgRecK5zCkKaGmHi+9Xl7d6jGf7LomnJCg++6dNF1tyavrbGMSdXTCPH6Dx9LbA==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", "conventional-commits-filter": "^2.0.0", "conventional-commits-parser": "^3.0.0", "debug": "^4.0.0", - "import-from": "^2.1.0", + "import-from": "^3.0.0", "lodash": "^4.17.4" }, "dependencies": { @@ -781,9 +781,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -830,30 +830,40 @@ } }, "@semantic-release/github": { - "version": "5.2.10", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.2.10.tgz", - "integrity": "sha512-z/UwIxKb+EMiJDIy/57MBzJ80ar5H9GJQRyML/ILQ8dlrPwXs7cTyTvC7AesrF7t1mJZtg3ht9Qf9RdtR/LGzw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.4.0.tgz", + "integrity": "sha512-qtaV/8xIu2a8jt6lACFps0gVDfJby1h7Ra5On3VF60PkrKft87ru9sywAl9gtTfSfOyUlFaNCNlf3mvDaekpzQ==", "dev": true, "requires": { - "@octokit/rest": "^16.13.1", + "@octokit/rest": "^16.27.0", "@semantic-release/error": "^2.2.0", - "aggregate-error": "^2.0.0", - "bottleneck": "^2.0.1", + "aggregate-error": "^3.0.0", + "bottleneck": "^2.18.1", "debug": "^4.0.0", "dir-glob": "^2.0.0", - "fs-extra": "^7.0.0", + "fs-extra": "^8.0.0", "globby": "^9.0.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", - "issue-parser": "^3.0.0", + "issue-parser": "^4.0.0", "lodash": "^4.17.4", - "mime": "^2.0.3", - "p-filter": "^1.0.0", - "p-retry": "^3.0.0", + "mime": "^2.4.3", + "p-filter": "^2.0.0", + "p-retry": "^4.0.0", "parse-github-url": "^1.0.1", "url-join": "^4.0.0" }, "dependencies": { + "aggregate-error": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.0.tgz", + "integrity": "sha512-yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^3.2.0" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -863,24 +873,35 @@ "ms": "^2.1.1" } }, + "fs-extra": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.0.1.tgz", + "integrity": "sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "@semantic-release/npm": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.1.7.tgz", - "integrity": "sha512-4THiFGp9APX1a+EJJsOYurJCR8TrRUgNCU9u46AkZekWfvtyzacfIBKCrmEljpYG8qDDnHLZwHSqyW4ID4iteA==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.1.9.tgz", + "integrity": "sha512-Hcwhiu7zC0hD0ZPTkEE5bsK9l0z7Ou+N/mcSpYT1kq96ETMQtyZee0gjxXiAGaIHJ7wlMuUhHbYp7iAaI1965w==", "dev": true, "requires": { "@semantic-release/error": "^2.2.0", "aggregate-error": "^3.0.0", "execa": "^1.0.0", - "fs-extra": "^7.0.0", + "fs-extra": "^8.0.0", "lodash": "^4.17.4", "nerf-dart": "^1.0.0", "normalize-url": "^4.0.0", @@ -900,6 +921,17 @@ "indent-string": "^3.2.0" } }, + "fs-extra": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.0.1.tgz", + "integrity": "sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "read-pkg": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.1.1.tgz", @@ -915,9 +947,9 @@ } }, "@semantic-release/release-notes-generator": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.1.4.tgz", - "integrity": "sha512-pWPouZujddgb6t61t9iA9G3yIfp3TeQ7bPbV1ixYSeP6L7gI1+Du82fY/OHfEwyifpymLUQW0XnIKgKct5IMMw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.2.0.tgz", + "integrity": "sha512-CQAN6ViNL27p0TivCabpuDSjLl9eaP5yHRwSVYLLGg6RXu972PFk3DqOKuMQHsyDAx7wze2vU8qESt6/Mt6AuQ==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", @@ -925,9 +957,9 @@ "conventional-commits-filter": "^2.0.0", "conventional-commits-parser": "^3.0.0", "debug": "^4.0.0", - "get-stream": "^4.0.0", - "import-from": "^2.1.0", - "into-stream": "^4.0.0", + "get-stream": "^5.0.0", + "import-from": "^3.0.0", + "into-stream": "^5.0.0", "lodash": "^4.17.4" }, "dependencies": { @@ -965,6 +997,15 @@ "ms": "^2.1.1" } }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "meow": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", @@ -983,9 +1024,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -1147,6 +1188,12 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, "@types/shelljs": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.5.tgz", @@ -1222,9 +1269,9 @@ "dev": true }, "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" @@ -1712,9 +1759,9 @@ "dev": true }, "bottleneck": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.0.tgz", - "integrity": "sha512-0U9t0ALx89RC0AlHVxmDNl1UdlBZYE6RusW57EsR808WirvWbP2VNAp7i3FyIemGqTxQlaZ0MICAet9Myp0N1Q==", + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.1.tgz", + "integrity": "sha512-TrdmthuOG5SpYfFQTprSQOtqQUTreAgPkCFfow/aVOnryRRpIwiwfiQmmJUiiHUKgPV7LBNlfGecJ5hCVs30gw==", "dev": true }, "brace-expansion": { @@ -2400,9 +2447,9 @@ "dev": true }, "deepmerge": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.0.tgz", - "integrity": "sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", "dev": true }, "define-properties": { @@ -2510,9 +2557,9 @@ } }, "deprecation": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.0.0.tgz", - "integrity": "sha512-lbQN037mB3VfA2JFuguM5GCJ+zPinMeCrFe+AfSZ6eqrnJA/Fs+EYMnd6Nb2mn9lf2jO9xwEd9o9lic+D4vkcw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, "detect-newline": { @@ -2633,13 +2680,13 @@ } }, "env-ci": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-3.2.0.tgz", - "integrity": "sha512-TFjNiDlXrL8/pfHswdvJGEZzJcq3aBPb8Eka83hlGLwuNw9F9BC9S9ETlkfkItLRT9k5JgpGgeP+rL6/3cEbcw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-4.1.1.tgz", + "integrity": "sha512-eTgpkALDeYRGNhYM2fO9LKsWDifoUgKL7hxpPZqFMP2IU7f+r89DtKqCmk3yQB/jxS8CmZTfKnWO5TiIDFs9Hw==", "dev": true, "requires": { "execa": "^1.0.0", - "java-properties": "^0.2.9" + "java-properties": "^1.0.0" } }, "error-ex": { @@ -2677,9 +2724,9 @@ } }, "es6-promise": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", - "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "es6-promisify": { @@ -4252,20 +4299,12 @@ } }, "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", "dev": true, "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } + "resolve-from": "^5.0.0" } }, "import-local": { @@ -4340,12 +4379,12 @@ "dev": true }, "into-stream": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-4.0.0.tgz", - "integrity": "sha512-i29KNyE5r0Y/UQzcQ0IbZO1MYJ53Jn0EcFRZPj5FzWKYH17kDFEOwuA+3jroymOI06SW1dEDnly9A1CAreC5dg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-5.1.0.tgz", + "integrity": "sha512-cbDhb8qlxKMxPBk/QxTtYg1DQ4CwXmadu7quG3B7nrJsgSncEreF2kwWKZFdnjc/lSNNIkFPsjI7SM0Cx/QXPw==", "dev": true, "requires": { - "from2": "^2.1.1", + "from2": "^2.3.0", "p-is-promise": "^2.0.0" } }, @@ -4646,9 +4685,9 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "issue-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-3.0.1.tgz", - "integrity": "sha512-5wdT3EE8Kq38x/hJD8QZCJ9scGoOZ5QnzwXyClkviSWTS+xOCE6hJ0qco3H5n5jCsFqpbofZCcMWqlXJzF72VQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-4.0.0.tgz", + "integrity": "sha512-1RmmAXHl5+cqTZ9dRr861xWy0Gkc9TWTEklgjKv+nhlB1dY1NmGBV8b20jTWRL5cPGpOIXkz84kEcDBM8Nc0cw==", "dev": true, "requires": { "lodash.capitalize": "^4.2.1", @@ -4755,9 +4794,9 @@ } }, "java-properties": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz", - "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.1.tgz", + "integrity": "sha512-HbTaaXlIHoDVNXjmp4flOBWOfYBkrVN8dD1tp4m+95M/ADSDW/BxWbiwyVIhw/2+5d0cof4PHZCbE7+S1ukTQw==", "dev": true }, "jest": { @@ -5596,9 +5635,9 @@ "dev": true }, "macos-release": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.2.0.tgz", - "integrity": "sha512-iV2IDxZaX8dIcM7fG6cI46uNmHUxHE4yN+Z8tKHAW1TBPMZDIKHf/3L+YnOuj/FK9il14UaVdHmiQ1tsi90ltA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", + "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==", "dev": true }, "make-dir": { @@ -5764,9 +5803,9 @@ } }, "mime": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz", - "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, "mime-db": { @@ -9668,12 +9707,12 @@ } }, "p-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-1.0.0.tgz", - "integrity": "sha1-Yp0xcVAgnI/VCLoTdxPvS7kg6ds=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", "dev": true, "requires": { - "p-map": "^1.0.0" + "p-map": "^2.0.0" } }, "p-finally": { @@ -9707,9 +9746,9 @@ } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, "p-reduce": { @@ -9719,11 +9758,12 @@ "dev": true }, "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.1.0.tgz", + "integrity": "sha512-oepllyG9gX1qH4Sm20YAKxg1GA7L7puhvGnTfimi31P07zSIj7SDV6YtuAx9nbJF51DES+2CIIRkXs8GKqWJxA==", "dev": true, "requires": { + "@types/retry": "^0.12.0", "retry": "^0.12.0" } }, @@ -10401,9 +10441,9 @@ "dev": true }, "semantic-release": { - "version": "15.13.14", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.13.14.tgz", - "integrity": "sha512-5YpJCOm6s7Uop0qCGfuqC2LLRCHIuJlIpErCWHs0I1xcslCjMY+b8Id2+eb3AkuB1HzAQH66DqOcK8UTxJzMIA==", + "version": "15.13.16", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.13.16.tgz", + "integrity": "sha512-N/KsJyoABnq17h4WhfJW2lJRuDChulD5zMm8qxRx6mN9oQ49DfvzGKmQlTFj2VF6qwG1TEe723SxIYaGD7IDzA==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^6.1.0", @@ -10414,7 +10454,7 @@ "aggregate-error": "^3.0.0", "cosmiconfig": "^5.0.1", "debug": "^4.0.0", - "env-ci": "^3.0.0", + "env-ci": "^4.0.0", "execa": "^1.0.0", "figures": "^3.0.0", "find-versions": "^3.0.0", @@ -10486,12 +10526,13 @@ } }, "find-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.0.0.tgz", - "integrity": "sha512-zoH7ZWPkRdgwYCDVoQTzqjG8JSPANhtvLhh4KVUHyKnaUJJrNeFmWIkTcNuJmR3GLMEmGYEf2S2bjgx26JTF+Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^5.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "get-caller-file": { @@ -10519,9 +10560,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "p-limit": { @@ -10554,6 +10595,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, "read-pkg": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.1.1.tgz", @@ -10674,13 +10721,19 @@ "requires": { "p-limit": "^2.0.0" } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true } } }, "yargs-parser": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.0.tgz", - "integrity": "sha512-Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { "camelcase": "^5.0.0", diff --git a/package.json b/package.json index 4c6073872..cd25105d2 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "jest": "^24.6.0", "object.assign": "~4.1.0", "prettier": "~1.13.5", - "semantic-release": "^15.13.13", + "semantic-release": "^15.13.16", "tslint": "~5.10.0", "tslint-config-prettier": "~1.13.0", "tslint-eslint-rules": "~5.3.1", diff --git a/test/unit/baseService.test.js b/test/unit/baseService.test.js index 8b2d55caf..61af22fd1 100644 --- a/test/unit/baseService.test.js +++ b/test/unit/baseService.test.js @@ -108,6 +108,8 @@ describe('BaseService', function() { iam_access_token: 'test', iam_apikey: 'test', iam_url: 'test', + iam_client_id: 'test', + iam_client_secret: 'test', icp4d_access_token: 'test', icp4d_url: 'test', authentication_type: 'test', @@ -120,6 +122,8 @@ describe('BaseService', function() { expect(creds.iam_access_token).toBeDefined(); expect(creds.iam_apikey).toBeDefined(); expect(creds.iam_url).toBeDefined(); + expect(creds.iam_client_id).toBeDefined(); + expect(creds.iam_client_secret).toBeDefined(); expect(creds.icp4d_access_token).toBeDefined(); expect(creds.icp4d_url).toBeDefined(); expect(creds.authentication_type).toBeDefined(); @@ -144,6 +148,8 @@ describe('BaseService', function() { process.env.TEST_IAM_ACCESS_TOKEN = 'test'; process.env.TEST_IAM_APIKEY = 'test'; process.env.TEST_IAM_URL = 'test'; + process.env.TEST_IAM_CLIENT_ID = 'test'; + process.env.TEST_IAM_CLIENT_SECRET = 'test'; process.env.TEST_ICP4D_ACCESS_TOKEN = 'test'; process.env.TEST_ICP4D_URL = 'test'; process.env.TEST_AUTHENTICATION_TYPE = 'test'; @@ -157,6 +163,8 @@ describe('BaseService', function() { iam_access_token: 'test', iam_apikey: 'test', iam_url: 'test', + iam_client_id: 'test', + iam_client_secret: 'test', icp4d_access_token: 'test', icp4d_url: 'test', authentication_type: 'test',