diff --git a/README.md b/README.md
index cea393f922..203547fe2f 100644
--- a/README.md
+++ b/README.md
@@ -1066,6 +1066,10 @@ a collection using a filter and a projection. All tests are performed using:
Reactive equivalent of `nosql-db/mongodb`. Uses reactive ReactiveMongoClient (without codecs)
+### `nosql-db/infinispan`
+
+Provides some coverage similar to `infinispan-client` module, but with focus on connecting to local cluster and Dev mode and not on working with OpenShift
+
### `websockets/quarkus-websockets`
Coverage for sending messages over websockets
@@ -1107,4 +1111,4 @@ Test coverage includes:
- normal HTTP requests
- Cloud Event Binary mode
- Structured Mode
-- Multiple functions declared in one application
\ No newline at end of file
+- Multiple functions declared in one application
diff --git a/nosql-db/infinispan/pom.xml b/nosql-db/infinispan/pom.xml
new file mode 100644
index 0000000000..8ee8569c23
--- /dev/null
+++ b/nosql-db/infinispan/pom.xml
@@ -0,0 +1,69 @@
+
+
+ 4.0.0
+
+ io.quarkus.ts.qe
+ parent
+ 1.0.0-SNAPSHOT
+ ../..
+
+ infinispan
+ jar
+ Quarkus QE TS: Infinispan
+
+
+ io.quarkus
+ quarkus-resteasy
+
+
+ io.quarkus
+ quarkus-infinispan-client
+
+
+ io.quarkus.qe
+ quarkus-test-service-infinispan
+ test
+
+
+
+
+
+ skip-tests-on-windows
+
+
+ windows
+
+
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+ maven-failsafe-plugin
+
+ true
+
+
+
+
+
+
+
+
+ native
+
+
+ native
+
+
+
+
+ fast-jar
+
+
+
+
diff --git a/nosql-db/infinispan/src/main/java/io/quarkus/ts/infinispan/client/FirstCounterResource.java b/nosql-db/infinispan/src/main/java/io/quarkus/ts/infinispan/client/FirstCounterResource.java
new file mode 100644
index 0000000000..74319a9c54
--- /dev/null
+++ b/nosql-db/infinispan/src/main/java/io/quarkus/ts/infinispan/client/FirstCounterResource.java
@@ -0,0 +1,7 @@
+package io.quarkus.ts.infinispan.client;
+
+import javax.ws.rs.Path;
+
+@Path("/first-counter")
+public class FirstCounterResource extends InfinispanCounterResource {
+}
diff --git a/nosql-db/infinispan/src/main/java/io/quarkus/ts/infinispan/client/InfinispanClientApp.java b/nosql-db/infinispan/src/main/java/io/quarkus/ts/infinispan/client/InfinispanClientApp.java
new file mode 100644
index 0000000000..40d467356a
--- /dev/null
+++ b/nosql-db/infinispan/src/main/java/io/quarkus/ts/infinispan/client/InfinispanClientApp.java
@@ -0,0 +1,63 @@
+package io.quarkus.ts.infinispan.client;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.event.Observes;
+import javax.inject.Inject;
+
+import org.infinispan.client.hotrod.RemoteCache;
+import org.infinispan.client.hotrod.RemoteCacheManager;
+import org.infinispan.client.hotrod.annotation.ClientCacheEntryCreated;
+import org.infinispan.client.hotrod.annotation.ClientCacheEntryModified;
+import org.infinispan.client.hotrod.annotation.ClientCacheEntryRemoved;
+import org.infinispan.client.hotrod.annotation.ClientListener;
+import org.infinispan.client.hotrod.event.ClientCacheEntryCreatedEvent;
+import org.infinispan.client.hotrod.event.ClientCacheEntryModifiedEvent;
+import org.infinispan.client.hotrod.event.ClientCacheEntryRemovedEvent;
+import org.infinispan.commons.configuration.XMLStringConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import io.quarkus.runtime.StartupEvent;
+
+@ApplicationScoped
+public class InfinispanClientApp {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger("InfinispanClientApp");
+
+ @Inject
+ RemoteCacheManager cacheManager;
+
+ private static final String MYCACHE_CACHE_CONFIG = "" +
+ "" +
+ "";
+
+ void onStart(@Observes StartupEvent ev) {
+ LOGGER.info("Create or get cache named mycache with the default configuration");
+ RemoteCache