UNPKG

auditjs

Version:

Audit dependencies to identify known vulnerabilities and maintenance problems

79 lines 4.33 kB
"use strict"; /* * Copyright 2019-Present Sonatype Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const TestHelper_1 = __importDefault(require("../Tests/TestHelper")); const Application_1 = require("./Application"); const sinon_1 = __importDefault(require("sinon")); const OssIndexRequestService_1 = require("../Services/OssIndexRequestService"); const OssIndexServerConfig_1 = require("../Config/OssIndexServerConfig"); const TextFormatter_1 = require("../Audit/Formatters/TextFormatter"); describe('Application', () => { afterEach(() => { sinon_1.default.restore(); }); it('merges both CLI and config options for auditWithOSSIndex, with CLI taking precedence', () => __awaiter(void 0, void 0, void 0, function* () { const app = new Application_1.Application(false, true); const yargs = { _: ['ossi'], user: '', password: 'cli-password', cache: '', }; sinon_1.default.stub(TextFormatter_1.TextFormatter.prototype, 'printAuditResults'); sinon_1.default.stub(OssIndexServerConfig_1.OssIndexServerConfig.prototype, 'getConfigFromFile'); sinon_1.default.stub(OssIndexServerConfig_1.OssIndexServerConfig.prototype, 'getUsername').returns('config-user'); sinon_1.default.stub(OssIndexServerConfig_1.OssIndexServerConfig.prototype, 'getToken').returns('config-password'); sinon_1.default.stub(OssIndexServerConfig_1.OssIndexServerConfig.prototype, 'getCacheLocation').returns('config-cache-location'); let ossIndexRequestService = null; sinon_1.default .stub(OssIndexRequestService_1.OssIndexRequestService.prototype, 'callOSSIndexOrGetFromCache') .callsFake(function () { return __awaiter(this, void 0, void 0, function* () { // eslint-disable-next-line @typescript-eslint/no-this-alias ossIndexRequestService = this; return [ { coordinates: '', reference: '', vulnerabilities: [], }, ]; }); }); yield app.startApplication(yargs); sinon_1.default.assert.calledOnce(OssIndexRequestService_1.OssIndexRequestService.prototype.callOSSIndexOrGetFromCache); (0, TestHelper_1.default)(ossIndexRequestService).is.instanceOf(OssIndexRequestService_1.OssIndexRequestService); if (ossIndexRequestService instanceof OssIndexRequestService_1.OssIndexRequestService) { (0, TestHelper_1.default)(ossIndexRequestService.user).to.equal('config-user'); (0, TestHelper_1.default)(ossIndexRequestService.password).to.equal('cli-password'); (0, TestHelper_1.default)(ossIndexRequestService.cacheLocation).to.equal('config-cache-location'); } })); }); //# sourceMappingURL=Application.spec.js.map