mvp conformance runner

This commit is contained in:
Paul Carleton 2025-10-29 13:40:36 +00:00
commit 32fd95dc3f
No known key found for this signature in database
3 changed files with 74 additions and 0 deletions

8
package.json Normal file
View file

@ -0,0 +1,8 @@
{
"name": "conformance",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "node src/runner.js"
}
}

47
src/runner.js Normal file
View file

@ -0,0 +1,47 @@
const checks = [
{
id: "check-001",
name: "Basic Auth Check",
description: "Validates basic authentication flow",
status: "SUCCESS",
timestamp: new Date().toISOString(),
specReferences: [
{
id: "rfc6750",
url: "https://tools.ietf.org/html/rfc6750"
}
],
details: {
authType: "Bearer",
responseTime: 45
},
logs: [
"Auth endpoint reached",
"Token validated successfully"
]
},
{
id: "check-002",
name: "Token Expiry Check",
description: "Validates token expiration handling",
status: "FAILURE",
timestamp: new Date().toISOString(),
errorMessage: "Token expiry not properly enforced",
logs: [
"Token validation started",
"Expiry check failed"
]
},
{
id: "check-003",
name: "CORS Header Check",
description: "Validates CORS headers in response",
status: "WARNING",
timestamp: new Date().toISOString(),
details: {
missingHeaders: ["Access-Control-Allow-Credentials"]
}
}
];
console.log(JSON.stringify(checks, null, 2));

19
src/types.ts Normal file
View file

@ -0,0 +1,19 @@
export type CheckStatus = 'SUCCESS' | 'FAILURE' | 'WARNING' | 'SKIPPED' | 'INFO';
export interface SpecReference {
id: string;
url?: string;
}
export interface ConformanceCheck {
id: string;
name: string;
description: string;
status: CheckStatus;
timestamp: string;
specReferences?: SpecReference[];
details?: Record<string, unknown>;
metadata?: Record<string, unknown>;
errorMessage?: string;
logs?: string[];
}