triostack-audit-sdk
Version:
A server-side audit logging middleware for Node.js applications with Express, Fastify, and Koa support. Includes comprehensive test examples and documentation.
89 lines (77 loc) โข 2.6 kB
JavaScript
import { createAuditServer } from "../index.js";
console.log("๐งช Quick Test - Triostack Audit SDK\n");
// Test 1: Create audit server
console.log("1๏ธโฃ Testing audit server creation...");
try {
const auditServer = createAuditServer({
dbUrl: "http://localhost:3002/audit",
userIdHeader: "x-user-id",
enableGeo: true,
onError: (err) => console.error("โ Audit Error:", err.message),
});
console.log("โ
Audit server created successfully");
} catch (error) {
console.log("โ Failed to create audit server:", error.message);
process.exit(1);
}
// Test 2: Test middleware creation
console.log("\n2๏ธโฃ Testing middleware creation...");
try {
const auditServer = createAuditServer({
dbUrl: "http://localhost:3002/audit",
});
const middleware = auditServer.expressMiddleware();
console.log("โ
Express middleware created successfully");
} catch (error) {
console.log("โ Failed to create middleware:", error.message);
process.exit(1);
}
// Test 3: Test manual tracking
console.log("\n3๏ธโฃ Testing manual tracking...");
try {
const auditServer = createAuditServer({
dbUrl: "http://localhost:3002/audit",
});
// Mock request object
const mockReq = {
headers: {
"user-agent": "Test User Agent",
"x-user-id": "test-user",
},
connection: { remoteAddress: "127.0.0.1" },
socket: { remoteAddress: "127.0.0.1" },
};
const trackPromise = auditServer.track(mockReq, {
userId: "test-user",
route: "/test",
method: "GET",
statusCode: 200,
duration: 1,
});
console.log("โ
Manual tracking function created successfully");
} catch (error) {
console.log("โ Failed to create tracking function:", error.message);
process.exit(1);
}
// Test 4: Test Fastify plugin
console.log("\n4๏ธโฃ Testing Fastify plugin...");
try {
const { fastifyAuditPlugin } = await import("../index.js");
console.log("โ
Fastify plugin imported successfully");
} catch (error) {
console.log("โ Failed to import Fastify plugin:", error.message);
}
// Test 5: Test Koa middleware
console.log("\n5๏ธโฃ Testing Koa middleware...");
try {
const { koaAuditMiddleware } = await import("../index.js");
console.log("โ
Koa middleware imported successfully");
} catch (error) {
console.log("โ Failed to import Koa middleware:", error.message);
}
console.log("\n๐ All basic tests passed!");
console.log("\n๐ก To run full tests:");
console.log(" npm install");
console.log(" npm run dev");
console.log(" # Then open test-examples/client-test.html in your browser");