27 lines
826 B
JavaScript
27 lines
826 B
JavaScript
"use strict";
|
|
|
|
const test = require("node:test");
|
|
const assert = require("node:assert/strict");
|
|
const { createHttpError, toPublicErrorResponse } = require("../src/dashboardUtils");
|
|
|
|
test("toPublicErrorResponse keeps 4xx error details", () => {
|
|
const failure = toPublicErrorResponse(createHttpError(400, "잘못된 요청"));
|
|
assert.equal(failure.statusCode, 400);
|
|
assert.equal(failure.body.error, "잘못된 요청");
|
|
});
|
|
|
|
test("toPublicErrorResponse masks 5xx errors", () => {
|
|
const loggerCalls = [];
|
|
const failure = toPublicErrorResponse(new Error("db password exposed"), {
|
|
logger: {
|
|
error(message) {
|
|
loggerCalls.push(message);
|
|
},
|
|
},
|
|
});
|
|
|
|
assert.equal(failure.statusCode, 500);
|
|
assert.equal(failure.body.error, "Internal Server Error");
|
|
assert.equal(loggerCalls.length, 1);
|
|
});
|