jakartaee / jakartaee/jsonb-api
TCK tests for EE 12
- Dominant language
- Java
- Stars
- 95
- Forks
- 41
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 35
Description
I thought it might be helpful to have an issue that iterated though all the TCK tests we will need to write for EE 12 for the new features introduced. This is just a preliminary list of things that I found (assisted by AI). Any other committers are free to add on as they find things.
I'll start working on adding some test scenarios for Java Records.
Some of these updates will also likely require doc updates as well to specify behavior.
### Add Java Record coverage
Add TCK tests that verify JSON-B support for Java records.
#### Required scenarios
- [x] https://github.com/jakartaee/jsonb-api/pull/381 Serialize a simple record and verify JSON property names match record component names
- [x] https://github.com/jakartaee/jsonb-api/pull/381 Deserialize a simple record and verify the canonical constructor is used correctly
- [x] https://github.com/jakartaee/jsonb-api/pull/455 Verify `@JsonbProperty` on a record component is honored for serialization / deserialization
- [ ] Verify `@JsonbProperty` with `@JsonbPropertyOrder` on record components
- [x] https://github.com/jakartaee/jsonb-api/pull/461 Verify `@JsonbTransient` on a record component is honored
- [ ] Verify record component annotations are processed correctly in customization scenarios
- [ ] Verify a record can be deserialized when it has a compact constructor that preserves component values
- [x] https://github.com/jakartaee/jsonb-api/pull/411 Verify explicit creator-based construction works when `@JsonbCreator` is used with a record
- [ ] Nested record mapping
- [ ] Record used as a property of another mapped type
- [x] Record containing supported built-in value types such as `UUID`
- [x] https://github.com/jakartaee/jsonb-api/pull/382 Verify record that implements an interface can use polymorphic annotations @JsonbTypeInfo and @JsonbSubtype
### Review UUID coverage
Confirm whether existing UUID tests already satisfy the JSON-B 3.1 requirement.
#### Required review
- [x] Review current UUID default-mapping coverage
- [x] Confirm serialization of `UUID` is covered
- [x] Confirm deserialization of `UUID` is covered
- [x] Confirm no additional TCK work is needed unless a real gap is identified
Contributor guide
Assessment
This issue has not been assessed yet.