testcontainers-infinispan/README.md
2017-12-26 20:27:33 +01:00

50 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Testcontainers Infinispan
The [Testcontainers](https://www.testcontainers.org/) library provides container implementations
for a few different docker containers that you might want to use during integration tests. You can always
use a generic container to launch other images. This repository contains an implementation of a container
for the Infinispan cache server. It provides an API that is aimed to help you configure the container.
At the moment this is a rudimentary implementation and by no means complete. It only supports the [Hotrod protocol](http://infinispan.org/docs/stable/user_guide/user_guide.html#hot_rod_protocol)
to connect to the Infinispan server, for example.
Feel free to suggest changes!
# Usage
## Instantiation of the Infinispan container
Here's simple example how you can use the `InfinispanContainer`.
```
@ClassRule
public static InfinispanContainer infinispan = new InfinispanContainer();
```
## Cache creation
You can create simple local caches that need to be available for your tests. If you run an up-to-date Infinispan container (>9.1.0) then caches can be created
using the API of the `RemoteCacheManager` provided by the Infinispan client library. Simple configure some caches that the `InfinispanContainer` should create for you.
They will automatically be created once the container has started.
```
new InfinispanContainer()
.withProtocolVersion(ProtocolVersion.PROTOCOL_VERSION_26)
.withCaches("testCache");
```
If you run an Infinispan server version prior to `9.1.0`, you can link a configuration file that contains the necessary caches into the container:
```
new InfinispanContainer("jboss/infinispan-server:9.0.3.Final")
.withProtocolVersion(ProtocolVersion.PROTOCOL_VERSION_26)
.withStandaloneConfiguration("infinispan-standalone.xml")
```
## CacheManager retrieval
If you want, you can retrieve a `RemoteCacheManager` from the container:
```
infinispan.getCacheManager()
```
For general usage info on Testcontainers please look at the examples of the project.