TCK is an acronym for Technology Compatibility Kit, which comprises a series of tests that ensure a particular technology implementation is consistent with the corresponding specification. We aim to develop a TCK proposal design for Jakarta NoSQL, a Jakarta EE specification.
Challenges
Create a straightforward TCK to test with the Jakarta EE environment.
It is considering that the focus is on integrating Java/Spec and Data. That has considerable complexity, such as BASE vs. ACID, besides different types of NoSQL and particular behaviors.
Proposal:
What I have on my mind is to create a super simple TCK that needs feel requirements such as Jupiter and AssertJ.
Split the DI complexity out, using SPI instead of exploring inversion of Control as a supplier. Focus on Data-Driven design; once we're talking about mostly database integration with Jakarta EE.
Once we have four APIs (core, Key-value, column, document), it is easier for the user to do the same, thus including the TCK that it needs.
We'll explore the test guide that already does exist.
public void shouldInsert(Book book, Template template) {
assertThat(template.find(Book.class, book.id())).isEmpty();
template.insert(book);
assertThat(template.find(Book.class, book.id())).isPresent();
//more code here
}
}
Context
TCK is an acronym for Technology Compatibility Kit, which comprises a series of tests that ensure a particular technology implementation is consistent with the corresponding specification. We aim to develop a TCK proposal design for Jakarta NoSQL, a Jakarta EE specification.
Challenges
Proposal: