diff --git a/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/java/org/archlinux/keycloak/mailpass/rest/MailPassResourceIntegrationTest.java b/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/java/org/archlinux/keycloak/mailpass/rest/MailPassResourceIntegrationTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..6dc441a99405a210102c13addfcb6f1cc37034a8
--- /dev/null
+++ b/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/java/org/archlinux/keycloak/mailpass/rest/MailPassResourceIntegrationTest.java
@@ -0,0 +1,27 @@
+package org.archlinux.keycloak.mailpass.rest;
+
+import com.palantir.docker.compose.DockerComposeRule;
+
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import io.restassured.response.Response;
+
+import static io.restassured.RestAssured.given;
+import static io.restassured.RestAssured.post;
+import static org.junit.Assert.assertEquals;
+
+public class MailPassResourceIntegrationTest {
+  private final static String ROOT_URI = "http://localhost:8080/auth/realms/master/mailpass/roleauth";
+
+  @ClassRule
+  public static DockerComposeRule docker = DockerComposeRule.builder()
+      .file("src/integrationTest/resources/docker-compose.yml").build();
+
+  @Test
+  public void testNonAuthenticatedAccess() {
+    Response response = post(ROOT_URI + "/compute-password-hash");
+    assertEquals(401, response.getStatusCode());
+  }
+
+}
diff --git a/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/resources/docker-compose.yml b/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/resources/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a67653cea217ebe24c52fd34ab715d20eb8f6cc7
--- /dev/null
+++ b/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/resources/docker-compose.yml
@@ -0,0 +1,17 @@
+version: '3.8'
+services:
+  keycloak:
+    container_name: keycloak
+    build: ./docker
+    environment:
+      KEYCLOAK_USER: admin
+      KEYCLOAK_PASSWORD: admin
+      JAVA_OPTS: -Dkeycloak.profile=preview
+    ports:
+      - 8080:8080
+    healthcheck:
+      test: ["CMD-SHELL", "curl http://localhost:8080/auth/realms/master"]
+      interval: 30s
+      timeout: 10s
+      retries: 10
+      start_period: 1m
diff --git a/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/resources/docker/Dockerfile b/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/resources/docker/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..1d93bbfba86b706d22f0637488c2dbbba7cfbbdd
--- /dev/null
+++ b/roles/keycloak/files/providers/keycloak-mailpass-rest/src/integrationTest/resources/docker/Dockerfile
@@ -0,0 +1,3 @@
+FROM jboss/keycloak:latest
+
+COPY ./keycloak-mailpass-rest-1.0.0.jar /opt/jboss/keycloak/standalone/deployments/