-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-engine.js
More file actions
69 lines (58 loc) · 2.47 KB
/
test-engine.js
File metadata and controls
69 lines (58 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const PostSenseEngine = require('./timeline-engine.js');
console.log("Running Timeline Engine Verification Tests...");
// 1. Setup Working Request (GET 200)
const workingReq = {
method: "GET",
url: "https://api.example.com/data",
headers: { "Accept": "application/json" },
body: "",
isBrowserMode: false,
response: {
status: 200,
headers: { "Content-Type": "application/json" },
body: "{}"
}
};
// 2. Setup Failing Request (POST 404)
const failedReq = {
method: "POST",
url: "https://api.example.com/data",
headers: { "Content-Type": "application/json" },
body: "{\"id\": 1}",
isBrowserMode: false,
response: {
status: 404,
headers: { "Content-Type": "text/plain" },
body: "Not Found"
}
};
// 3. Build Timelines
const workingTimeline = PostSenseEngine.buildBaselineTimeline(workingReq);
const failedTimeline = PostSenseEngine.buildBaselineTimeline(failedReq);
// 4. Compare
const merged = PostSenseEngine.compareTimelines(workingTimeline, failedTimeline);
const reasoning = PostSenseEngine.generateReasoning(merged, workingReq, failedReq);
// 5. Assertions
console.log("--- TEST 1: Method Mismatch Detection ---");
console.log("First Divergence:", reasoning.firstDivergence);
console.log("Explanation:", reasoning.explanation);
console.log("Confidence:", reasoning.confidence);
if (reasoning.firstDivergence === "Method Check" && reasoning.confidence === "high") {
console.log("✅ PASS: Method mismatch correctly identified.");
} else {
console.log("❌ FAIL: Method mismatch NOT identified correctly.");
}
// 6. Test 2: CORS/Browser Mode Divergence
const failedBrowserReq = { ...workingReq, isBrowserMode: true, response: { status: 0, headers: {}, body: "" } }; // Network error simulation
const failedBrowserTimeline = PostSenseEngine.buildBaselineTimeline(failedBrowserReq);
const mergedBrowser = PostSenseEngine.compareTimelines(workingTimeline, failedBrowserTimeline);
const reasoningBrowser = PostSenseEngine.generateReasoning(mergedBrowser, workingReq, failedBrowserReq);
console.log("\n--- TEST 2: Simulation Layer Divergence ---");
console.log("First Divergence:", reasoningBrowser.firstDivergence);
console.log("Explanation:", reasoningBrowser.explanation);
if (reasoningBrowser.firstDivergence === "Simulation Layer") {
console.log("✅ PASS: Browser simulation divergence identified.");
} else {
console.log("❌ FAIL: Expected 'Simulation Layer' but got '" + reasoningBrowser.firstDivergence + "'");
}
console.log("\nVerification Complete.");