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.