This library contains the utilities to help unit testing java applications backed with an Infinispan backend.
Frameworks supported
pom.xml
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-junit5</artifactId>
<version>0.2</version>
<scope>test</scope>
</dependency>
MyTest.java
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
.
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
pom.xml
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-testcontainers</artifactId>
<version>0.2</version>
<scope>test</scope>
</dependency>
Unit test example with JUnit 5
MyTest.java
@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");
...
}
}
Add the dependency to the classpath
pom.xml
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-junit4</artifactId>
<version>0.2</version>
<scope>test</scope>
</dependency>
Usage
MyTest.java
@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();
...
}
}
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.