mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 12:10:49 +00:00
Add a better e2e test to cover the issue
This commit is contained in:
parent
795e7af23e
commit
20e63a58be
1 changed files with 50 additions and 0 deletions
|
|
@ -489,4 +489,54 @@ describe("E2E: pip coverage", () => {
|
||||||
`Should still scan for malware. Output was:\n${result.output}`
|
`Should still scan for malware. Output was:\n${result.output}`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it(`pip3 download works after configuring pip settings`, async () => {
|
||||||
|
const shell = await container.openShell("zsh");
|
||||||
|
|
||||||
|
// Configure pip with timeout and extra index URL
|
||||||
|
const configTimeout = await shell.runCommand("pip3 config set global.timeout 60");
|
||||||
|
assert.ok(
|
||||||
|
configTimeout.output.includes("Writing to"),
|
||||||
|
`Config set should succeed. Output was:\n${configTimeout.output}`
|
||||||
|
);
|
||||||
|
|
||||||
|
const configIndex = await shell.runCommand(
|
||||||
|
"pip3 config set global.extra-index-url https://pypi.org/simple"
|
||||||
|
);
|
||||||
|
assert.ok(
|
||||||
|
configIndex.output.includes("Writing to"),
|
||||||
|
`Config set should succeed. Output was:\n${configIndex.output}`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Verify config persisted
|
||||||
|
const listConfig = await shell.runCommand("pip3 config list");
|
||||||
|
assert.ok(
|
||||||
|
listConfig.output.includes("timeout") && listConfig.output.includes("60"),
|
||||||
|
`Config should show timeout=60. Output was:\n${listConfig.output}`
|
||||||
|
);
|
||||||
|
assert.ok(
|
||||||
|
listConfig.output.includes("extra-index-url") && listConfig.output.includes("pypi.org"),
|
||||||
|
`Config should show extra-index-url. Output was:\n${listConfig.output}`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Now download packages with the configured settings
|
||||||
|
const downloadResult = await shell.runCommand(
|
||||||
|
"pip3 download -d /tmp/packages requests certifi"
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.ok(
|
||||||
|
downloadResult.output.includes("no malware found."),
|
||||||
|
`Should scan for malware. Output was:\n${downloadResult.output}`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Verify downloads succeeded
|
||||||
|
assert.ok(
|
||||||
|
downloadResult.output.includes("Saved") || downloadResult.output.includes("requests"),
|
||||||
|
`Download should succeed with configured settings. Output was:\n${downloadResult.output}`
|
||||||
|
);
|
||||||
|
assert.ok(
|
||||||
|
downloadResult.output.includes("certifi"),
|
||||||
|
`Should download certifi. Output was:\n${downloadResult.output}`
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue