]
Alan Field commented on ISPN-7120:
----------------------------------
bq. Reducing the number of tests may not be so easy... remember that we
bq. need to test all versions of the protocol, not just the latest one.
bq. And we still need to test stuff that's not explicitly in the protocol,
bq. especially around state transfer/server crashes and around query
bq. (which the protocol says almost nothing about).
The above quote is from [~dan.berindei]. Should these also be included in the TCK?
Refactor Java Hot Rod Client Test Suite
---------------------------------------
Key: ISPN-7120
URL:
https://issues.jboss.org/browse/ISPN-7120
Project: Infinispan
Issue Type: Enhancement
Components: Remote Protocols
Reporter: Martin Gencur
The goal is to identify tests that will be part of a "TCK" for HotRod clients
and create test groups according to client intelligence (L1, L2, L3) and/or respective
feature under test.
This task will involve a number of steps:
1) Identify test classes for the "TCK" first. Have them in a spread sheet with
suggested new package and explanation and before proceeding discuss the changes with the
team.
2) Create org.infinispan.client.hotrod.tck package, move the identified classes under a
sub-package there. Possibly rename the tests to better reflect their purpose.
3) Each test should have a predefined *server-side* configuration. In order to make it
easier to share the same server-side configuration between Java client test suite, Server
integration test suite, and Native clients (NodeJS, C++, C#, ...), convert the respective
Java ConfigurationBuilder-style configurations to XML configurations. The mapping between
tests and XML server configurations within the TCK should be described in a separate file
(possibly generated from annotations??). Where possible share the same configuration file
between multiple test classes.
Some suggestions for Java packages within the TCK: intelligence (L1, L2, L2), encryption,
authentication, authorazition, xsite, events, near cache
Note: Marshalling is not part of tck. The tck should include things independent of the
target language (e.g. C++, C#). It should only include functionality shared by all clients
which is defined by the Hot Rod protocol.
The next steps after completing the above would be identifying tests in C++,C#,NodeJS
client test suite that are missing, according to the new TCK, and adding those tests. This
is not part of this JIRA, though.