Commit fdd3849
authored
JSON Schema: strict coverage headline + docs; single fetch path, compile-session, and logging discipline (#37)
* Issue #29 Add OpenRPC schema validation IT and resources
What
- Sketch `OpenRPCSchemaValidationIT` dynamic integration test in `json-java21-schema`.
- Sketch OpenRPC test resources under `src/test/resources/openrpc/` (minimal embedded schema + examples and negative cases).
- Add short sign-posts in module README and AGENTS.
- Add CI step to assert total test counts to prevent silent skips.
How to verify
- Run: `mvn -B -DskipITs=false -DskipTests=false verify`
- Expected totals: tests=1807, failures=0, errors=0, skipped=577
- New Sketch tests: 1 IT class `OpenRPCSchemaValidationIT` (6 dynamic tests from example files)
* Fix CI configuration: use Java 21 and correct test count
- Change Java version from 24 to 21 to match project requirements
- Update expected test count from 1807 to 1802 (actual current count)
- The OpenRPC tests are running correctly (6 tests added)
* fix: improve JsonSchemaCheckIT metrics reporting for defensible compatibility statistics
- Add comprehensive SuiteMetrics class with thread-safe counters
- Track groups discovered, tests discovered, validations run, passed/failed
- Categorize skips: unsupportedSchemaGroup, testException, lenientMismatch
- Add console summary line with detailed metrics breakdown
- Support JSON/CSV export via -Djson.schema.metrics=json|csv
- Add per-file breakdown for detailed analysis
- Preserve existing strict/lenient behavior while adding metrics
- Zero additional dependencies, thread-safe implementation
Fixes #31
* docs: update compatibility claims with measured metrics from JsonSchemaCheckIT
- Replace estimated 71% compatibility with actual measured 63.3% (1,153 of 1,822 tests)
- Add comprehensive metrics reporting documentation
- Document test coverage: 420 groups, 1,657 validations, 576 skips categorized
- Add usage examples for JSON/CSV metrics export
- Clarify distinction between lenient and strict mode results
- Provide defensible statistics based on actual test suite measurements
The documentation now reflects the accurate, measured compatibility
statistics provided by the new metrics system rather than estimates.
* more features
* pack5
* pack6
* more tests
* wip broken test
* fixed
* wip
* wip
* tests pass
* back to wip k2
* offical logging advice
* comments
* wip two errors two failures
* all tests pass
* notes
* test working less logging
* state
* fixed relative paths
* better data structures
* pre tidy-up
* context stack
* logging
* docs: update schema compatibility metrics (strict headline + overall); align README test commands with wrapper; include updated schema engine changes for remote refs, logging, and compile session
* ci: update expected test totals to reflect new suite counts (guard against silent skips)1 parent 690284e commit fdd3849
File tree
40 files changed
+7071
-948
lines changed- .github/workflows
- json-java21-schema
- src
- main/java/io/github/simbo1905/json/schema
- test
- java/io/github/simbo1905/json/schema
- resources
- JsonSchemaRemoteRefTest
- base
- openrpc
- examples
40 files changed
+7071
-948
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
108 | 129 | | |
109 | 130 | | |
110 | 131 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
26 | 31 | | |
27 | 32 | | |
28 | 33 | | |
29 | 34 | | |
30 | 35 | | |
31 | | - | |
| 36 | + | |
32 | 37 | | |
33 | 38 | | |
34 | | - | |
| 39 | + | |
35 | 40 | | |
36 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
37 | 49 | | |
38 | 50 | | |
39 | 51 | | |
| |||
145 | 157 | | |
146 | 158 | | |
147 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| 70 | + | |
| 71 | + | |
0 commit comments