Back to Delivery 2 Reusable Quality Utilities
delivery-02-reusable-quality-utilities/src/runValidationScenarios.ts
import assert from "node:assert/strict";
import { loadQualityToolConfig } from "./configuration.js";
import { normaliseQualityExecutionResults } from "./normalisation.js";
import { parseQualityExecutionResult } from "./validation.js";
const validExecution = {
executionId: "exec-001",
endpoint: " GET /catalogue ",
statusCode: 200,
responseTimeMs: 120,
environment: "staging",
validationPassed: true,
};
assert.deepEqual(normaliseQualityExecutionResults([parseQualityExecutionResult(validExecution)]), [
{ ...validExecution, endpoint: "GET /catalogue" },
]);
for (const statusCode of [99, 199.5, 600]) {
assert.throws(
() => parseQualityExecutionResult({ ...validExecution, statusCode }),
/statusCode must be an integer between 100 and 599/,
);
}
const defaults = loadQualityToolConfig({
QE_ENVIRONMENT: "staging",
QE_INPUT_PATH: "fixtures/quality-executions.json",
QE_OUTPUT_PATH: " ",
});
assert.equal(defaults.outputPath, ".build/quality-summary.json");
console.log("All deterministic Delivery 2 validation scenarios passed.");