e715b04a11
When proxy environment variables (https_proxy, HTTPS_PROXY, http_proxy, HTTP_PROXY) are detected and NODE_USE_ENV_PROXY is not already set to "1", the action spawns a child process with NODE_USE_ENV_PROXY=1 to enable Node.js native proxy support. - Add lib/run-with-proxy.js shared utility for both main.js and post.js - Update main.js and post.js to use runWithProxy() wrapper - Add tests for proxy spawning, child error handling, and already-enabled path - 100% code coverage maintained Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
import { readdirSync } from "node:fs";
|
||
|
||
import test from "ava";
|
||
import { execa } from "execa";
|
||
|
||
// Get all files in tests directory
|
||
const files = readdirSync("tests");
|
||
|
||
// Files to ignore
|
||
const ignore = ["index.js", "main.js", "README.md", "snapshots"];
|
||
|
||
const testFiles = files.filter((file) => !ignore.includes(file));
|
||
|
||
// Throw an error if there is a file that does not end with test.js in the tests directory
|
||
for (const file of testFiles) {
|
||
if (!file.endsWith(".test.js")) {
|
||
throw new Error(`File ${file} does not end with .test.js`);
|
||
}
|
||
test(file, async (t) => {
|
||
// Override Actions environment variables that change `core`’s behavior
|
||
const env = {
|
||
GITHUB_OUTPUT: undefined,
|
||
GITHUB_STATE: undefined,
|
||
};
|
||
const { stderr, stdout } = await execa(
|
||
"node",
|
||
[
|
||
"--experimental-test-module-mocks",
|
||
"--disable-warning=ExperimentalWarning",
|
||
`tests/${file}`,
|
||
],
|
||
{ env },
|
||
);
|
||
t.snapshot(stderr, "stderr");
|
||
t.snapshot(stdout, "stdout");
|
||
});
|
||
}
|