|
| 1 | +# @ocpp-debugkit/toolkit |
| 2 | + |
| 3 | +## 0.3.0 |
| 4 | + |
| 5 | +### Minor Changes |
| 6 | + |
| 7 | +- 6775642: Add rich scenario assertions — 8 declarative assertion types for scenario evaluation: |
| 8 | + - `event_order`, `event_count`, `payload_field`, `timing`, `session_state`, |
| 9 | + `failure_severity`, `no_failures`, `failure_count` |
| 10 | + |
| 11 | + New API: `runAssertions()`, `evaluateScenario()`. Backward compatible — |
| 12 | + existing scenarios with only `expectedFailures` work unchanged. |
| 13 | + |
| 14 | +- 1b8cb39: Add three new CLI commands: |
| 15 | + - `ocpp-debugkit ci [dir]` — run all scenarios, exit 0/1 for CI integration, supports `--format json` |
| 16 | + - `ocpp-debugkit anonymize <file>` — strip sensitive fields from trace files |
| 17 | + - `ocpp-debugkit diff <a> <b>` — compare two trace files, supports `--format json` |
| 18 | + |
| 19 | + Also fixes evaluateScenario to deduplicate failure codes before comparison. |
| 20 | + |
| 21 | +- c580737: Add 5 new failure detection rules for v0.3.0: |
| 22 | + |
| 23 | + - `SUSPICIOUS_SESSION_DURATION` — sessions shorter than 60s or longer than 24h |
| 24 | + - `SLOW_RESPONSE` — Call→CallResult/CallError gap exceeding 10s |
| 25 | + - `HEARTBEAT_INTERVAL_VIOLATION` — heartbeat intervals deviating >50% from expected |
| 26 | + - `METER_VALUE_ANOMALY` — non-monotonic or negative meter readings |
| 27 | + - `UNRESPONSIVE_CSMS` — Call messages with no matching CallResult or CallError |
| 28 | + |
| 29 | + Total detection rules: 15 (10 from v0.1/v0.2 + 5 new). |
| 30 | + |
| 31 | +- 8db857e: Add 5 new scenarios using rich assertions (15 total): |
| 32 | + - `slow-csms-response` — SLOW_RESPONSE + timing assertion |
| 33 | + - `meter-anomaly` — METER_VALUE_ANOMALY + payload_field/event_count assertions |
| 34 | + - `short-session` — SUSPICIOUS_SESSION_DURATION + session_state/event_count assertions |
| 35 | + - `heartbeat-irregular` — HEARTBEAT_INTERVAL_VIOLATION + event_count assertion |
| 36 | + - `unresponsive-csms` — UNRESPONSIVE_CSMS + failure_severity/failure_count assertions |
| 37 | + |
| 38 | + Add `compareScenarioReports()` — compare two scenario evaluation results for regression testing. |
| 39 | + |
| 40 | +- 8f765f9: Add `diffTraces()` — compare two parsed traces and surface event-level differences: |
| 41 | + - Events only in A or B (by messageId) |
| 42 | + - Field-level modifications (timestamp, direction, action, payload, errorCode) |
| 43 | + - Failure differences (detected in A but not B, and vice versa) |
| 44 | + - Summary differences (event count, failure count, duration, status) |
0 commit comments