41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import { resolveSendmailSpawnCommand } from "../src/lib/boss-mail.ts";
|
|
|
|
test("resolveSendmailSpawnCommand keeps the executable static for build tracing", () => {
|
|
const originalPath = process.env.BOSS_SENDMAIL_PATH;
|
|
delete process.env.BOSS_SENDMAIL_PATH;
|
|
|
|
try {
|
|
const command = resolveSendmailSpawnCommand();
|
|
|
|
assert.equal(command.executable, "/usr/bin/env");
|
|
assert.deepEqual(command.args, ["--", "/usr/sbin/sendmail", "-t", "-i"]);
|
|
} finally {
|
|
if (originalPath === undefined) {
|
|
delete process.env.BOSS_SENDMAIL_PATH;
|
|
} else {
|
|
process.env.BOSS_SENDMAIL_PATH = originalPath;
|
|
}
|
|
}
|
|
});
|
|
|
|
test("resolveSendmailSpawnCommand preserves a configured sendmail path behind env", () => {
|
|
const originalPath = process.env.BOSS_SENDMAIL_PATH;
|
|
process.env.BOSS_SENDMAIL_PATH = "/opt/sendmail/bin/sendmail";
|
|
|
|
try {
|
|
const command = resolveSendmailSpawnCommand();
|
|
|
|
assert.equal(command.executable, "/usr/bin/env");
|
|
assert.deepEqual(command.args, ["--", "/opt/sendmail/bin/sendmail", "-t", "-i"]);
|
|
} finally {
|
|
if (originalPath === undefined) {
|
|
delete process.env.BOSS_SENDMAIL_PATH;
|
|
} else {
|
|
process.env.BOSS_SENDMAIL_PATH = originalPath;
|
|
}
|
|
}
|
|
});
|