Files
boss/tests/boss-mail.test.ts

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;
}
}
});