diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml index 68e94b4..1be66be 100644 --- a/.github/workflows/stage.yml +++ b/.github/workflows/stage.yml @@ -61,7 +61,7 @@ jobs: - name: Publish package env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_MAVEN_TOKEN }} run: npm publish - name: Commit and push package modifications diff --git a/src/providers/python_controller.js b/src/providers/python_controller.js index 770a7f9..1167c14 100644 --- a/src/providers/python_controller.js +++ b/src/providers/python_controller.js @@ -5,6 +5,22 @@ import {EOL} from "os"; import {getCustom} from "../tools.js"; +function getPipFreezeOutput() { + return "EXHORT_PIP_FREEZE" in process.env && process.env["EXHORT_PIP_FREEZE"].trim() != "" ? new Buffer(process.env["EXHORT_PIP_FREEZE"],'base64').toString('ascii') : execSync(`${this.pathToPipBin} freeze --all`, err => { + if (err) { + throw new Error('fail invoking pip freeze to fetch all installed dependencies in environment --> ' + err.message) + } + }).toString(); +} + +function getPipShowOutput(depNames) { + return "EXHORT_PIP_SHOW" in process.env && process.env["EXHORT_PIP_SHOW"].trim() != "" ? new Buffer(process.env["EXHORT_PIP_SHOW"],'base64').toString('ascii') : execSync(`${this.pathToPipBin} show ${depNames}`, err => { + if (err) { + throw new Error('fail invoking pip show to fetch all installed dependencies metadata --> ' + err.message) + } + }).toString(); +} + /** @typedef {{name: string, version: string, dependencies: DependencyEntry[]}} DependencyEntry */ @@ -144,20 +160,12 @@ export default class Python_controller { } #getDependenciesImpl(includeTransitive) { let dependencies = new Array() - let freezeOutput = execSync(`${this.pathToPipBin} freeze --all`, err =>{ - if (err) { - throw new Error('fail invoking pip freeze to fetch all installed dependencies in environment --> ' + err.message) - } - }).toString(); + let freezeOutput = getPipFreezeOutput.call(this); //debug // freezeOutput = "alternative pip freeze output goes here for debugging" let lines = freezeOutput.split(EOL) let depNames = lines.map( line => getDependencyName(line)).join(" ") - let pipShowOutput = execSync(`${this.pathToPipBin} show ${depNames}`, err =>{ - if (err) { - throw new Error('fail invoking pip show to fetch all installed dependencies metadata --> ' + err.message) - } - }).toString(); + let pipShowOutput = getPipShowOutput.call(this, depNames); //debug // pipShowOutput = "alternative pip show output goes here for debugging" let allPipShowDeps = pipShowOutput.split( EOL +"---" + EOL); diff --git a/test/it/end-to-end.js b/test/it/end-to-end.js index fc980e4..0a2e54c 100644 --- a/test/it/end-to-end.js +++ b/test/it/end-to-end.js @@ -81,7 +81,6 @@ suite('Integration Tests', () => { let parsedSummaryFromHtml = getParsedKeyFromHtml(html,"\"summary\"",10) let parsedScannedFromHtml = reportParsedFromHtml.scanned let parsedStatusFromHtmlSnyk = reportParsedFromHtml.providers["snyk"].status - let parsedStatusFromHtmlossIndex = reportParsedFromHtml.providers["oss-index"].status expect( typeof html).equals("string") expect(html).include("html").include("svg") expect(parsedScannedFromHtml.total).greaterThan(0) @@ -92,7 +91,6 @@ suite('Integration Tests', () => { } expect(parsedSummaryFromHtml.total).greaterThanOrEqual(0) expect(parsedStatusFromHtmlSnyk.code).equals(200) - expect(parsedStatusFromHtmlossIndex.code).equals(401) // parsedSummaryFromHtml.providerStatuses.forEach(provider => expect(provider.status).equals(200)) }).timeout(15000);