mirror of
https://github.com/AikidoSec/safe-chain.git
synced 2026-05-26 12:10:49 +00:00
Reverse e2e test removals
This commit is contained in:
parent
61a53b24fd
commit
01cc0b06c0
2 changed files with 48 additions and 1 deletions
|
|
@ -54,7 +54,18 @@ RUN curl -fsSL https://bun.sh/install | bash
|
||||||
RUN apt-get update && apt-get install -y python${PYTHON_VERSION} python3-pip && \
|
RUN apt-get update && apt-get install -y python${PYTHON_VERSION} python3-pip && \
|
||||||
ln -sf /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python3 && \
|
ln -sf /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python3 && \
|
||||||
ln -sf /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python && \
|
ln -sf /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python && \
|
||||||
ln -sf /usr/bin/pip3 /usr/local/bin/pip3
|
ln -sf /usr/bin/pip3 /usr/local/bin/pip3 && \
|
||||||
|
cat <<'EOF' > /usr/lib/python3/dist-packages/pip3.py
|
||||||
|
"""
|
||||||
|
Shim module so 'python[3] -m pip3 …' resolves to pip's CLI entry point.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
import pip._internal
|
||||||
|
pip._internal.main()
|
||||||
|
except Exception as exc:
|
||||||
|
print("pip3 module shim failed:", exc)
|
||||||
|
raise
|
||||||
|
EOF
|
||||||
|
|
||||||
# Copy and install Safe chain
|
# Copy and install Safe chain
|
||||||
COPY --from=builder /app/*.tgz /pkgs/
|
COPY --from=builder /app/*.tgz /pkgs/
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,24 @@ describe("E2E: pip coverage", () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it(`python -m pip3 routes to aikido-pip3 (uses pip3 command)`, async () => {
|
||||||
|
const shell = await container.openShell("zsh");
|
||||||
|
const result = await shell.runCommand(
|
||||||
|
"python -m pip3 install --break-system-packages requests"
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.ok(
|
||||||
|
result.output.includes("no malware found."),
|
||||||
|
`Output did not include expected text. Output was:\n${result.output}`
|
||||||
|
);
|
||||||
|
// Verify it completed successfully (would fail if routing was incorrect)
|
||||||
|
assert.ok(
|
||||||
|
result.output.includes("Successfully installed") ||
|
||||||
|
result.output.includes("Requirement already satisfied"),
|
||||||
|
`Installation did not succeed. Output was:\n${result.output}`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it(`python3 -m pip routes to aikido-pip3 (uses pip3 command)`, async () => {
|
it(`python3 -m pip routes to aikido-pip3 (uses pip3 command)`, async () => {
|
||||||
const shell = await container.openShell("zsh");
|
const shell = await container.openShell("zsh");
|
||||||
const result = await shell.runCommand(
|
const result = await shell.runCommand(
|
||||||
|
|
@ -179,6 +197,24 @@ describe("E2E: pip coverage", () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it(`python3 -m pip3 routes to aikido-pip3 (uses pip3 command)`, async () => {
|
||||||
|
const shell = await container.openShell("zsh");
|
||||||
|
const result = await shell.runCommand(
|
||||||
|
"python3 -m pip3 install --break-system-packages requests"
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.ok(
|
||||||
|
result.output.includes("no malware found."),
|
||||||
|
`Output did not include expected text. Output was:\n${result.output}`
|
||||||
|
);
|
||||||
|
// Verify it completed successfully (would fail if routing was incorrect)
|
||||||
|
assert.ok(
|
||||||
|
result.output.includes("Successfully installed") ||
|
||||||
|
result.output.includes("Requirement already satisfied"),
|
||||||
|
`Installation did not succeed. Output was:\n${result.output}`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it(`pip3 can install from GitHub URL using the CA bundle`, async () => {
|
it(`pip3 can install from GitHub URL using the CA bundle`, async () => {
|
||||||
const shell = await container.openShell("zsh");
|
const shell = await container.openShell("zsh");
|
||||||
// Install a simple package from GitHub - this should use TCP tunnel, not MITM
|
// Install a simple package from GitHub - this should use TCP tunnel, not MITM
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue