]
Anna Manukyan commented on ISPN-7120:
-------------------------------------
Hi,
thanks a lot for your comments and suggestions Martin. I have applied all of them except
the one for finding out the duplicate test cases. As we have agreed, we can already give
the document for review to developers, and I will determine the duplicate test cases while
moving the chosen classes to TCK package and also externalizing the configuration for
further reuse in other clients.
The document can be accessed here:
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
Assignee: Anna Manukyan
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 the TCK. The TCK should include things independent of
the target language (e.g. C++, C#). It should only include functionality shared by all
clients. The java client test suite covers all versions of HotRod protocol and the TCK
should include tests for all these versions (not necessarily in separate groups). It
should also include things that are not directly related to Hot Rod protocol such as tests
related to failover, state transfer.
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.