Infinispan Test
This library contains the utilities to help unit testing java applications backed with an Infinispan backend.
Frameworks supported
JUnit 5 - Jupiter
<dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-junit5</artifactId>
    <version>0.2</version>
    <scope>test</scope>
</dependency> 
    public class InfinispanExtensionTest {
    @RegisterExtension
    InfinispanServerExtension server = InfinispanServerExtension.builder().build();
    @Test
    public void test() {
        RemoteCacheManager remoteCacheManager = server.hotRodClient();
        ...
    } 
    You can override host and port using the builder. By default, values are localhost and 11222.
Testcontainers
A very simple container is provided to be used with Testcontainers. The image used is the latest jboss/infinispan-server:latest
Add the dependency to the classpath
<dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-testcontainers</artifactId>
    <version>0.2</version>
    <scope>test</scope>
</dependency> 
    Unit test example with JUnit 5
@Testcontainers
public class InfinispanContainerTest {
    @Container
    private final static InfinispanContainer INFINISPAN_SERVER = new InfinispanContainer().withCache("mycache");
    @AfterAll
    public static void cleanup() {
        INFINISPAN_SERVER.stop();
    }
    @Test
    public void test() {
        RemoteCache<String, String> cache = INFINISPAN_SERVER.getCacheManager().getCache("mycache");
        ...
    }
} 
    Junit 4
Add the dependency to the classpath
<dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-junit4</artifactId>
    <version>0.2</version>
    <scope>test</scope>
</dependency> 
    Usage
@ServerTestConfiguration
public class ClusteredServerTest {
    @ClassRule
    public static ServerTestRule serverTestRule = new ServerTestRule();
    @Rule
    public ServerTestMethodRule serverTestMethodRule = new ServerTestMethodRule(serverTestRule);
    @Test
    @ServerTestMethodConfiguration
    public void testCluster() {
        RemoteCacheManager client = serverTestRule.hotRodClient();
        ...
    }
} 
    @ServerTestConfiguration
Class annotation. Two properties can be configured with this annotation:
configurationFile: Default value is clustered.xml.
numServers: Number of servers in the cluster. 2 by default.
@ServerTestMethodConfiguration
Method annotation. Two properties can be configured with this annotation:
cacheName: The cache name. By default will create a cache name based on the method name
cacheConfig: The configuration to use for the cache, in XML format. Empty by default.
 JarCasting
 JarCasting