diff --git a/testsuite/integration-arquillian/tests/adapters/wildfly-relative/src/test/java/org/keycloak/testsuite/adapter/example/WildflyRelativeSAMLExampleAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/wildfly-relative/src/test/java/org/keycloak/testsuite/adapter/example/WildflyRelativeSAMLExampleAdapterTest.java
new file mode 100644
index 0000000..6e0c6df
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/wildfly-relative/src/test/java/org/keycloak/testsuite/adapter/example/WildflyRelativeSAMLExampleAdapterTest.java
@@ -0,0 +1,12 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+
+/**
+ *
+ * @author mhajas
+ */
+@AdapterLibsLocationProperty("adapter.libs.wildfly")
+public class WildflyRelativeSAMLExampleAdapterTest extends AbstractSAMLExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/AbstractSAMLExampleAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/AbstractSAMLExampleAdapterTest.java
new file mode 100644
index 0000000..1916ffd
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/AbstractSAMLExampleAdapterTest.java
@@ -0,0 +1,104 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.graphene.page.Page;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.testsuite.adapter.AbstractExampleAdapterTest;
+import org.keycloak.testsuite.adapter.page.SAMLPostEncExample;
+import org.keycloak.testsuite.adapter.page.SAMLPostSigExample;
+import org.keycloak.testsuite.adapter.page.SAMLRedirectSigExample;
+import org.keycloak.testsuite.util.URLAssert;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.auth.page.AuthRealm.SAMLDEMO;
+import static org.keycloak.testsuite.util.IOUtil.loadRealm;
+
+/**
+ * @author mhajas
+ */
+public abstract class AbstractSAMLExampleAdapterTest extends AbstractExampleAdapterTest {
+
+ @Page
+ private SAMLPostSigExample samlPostSigExamplePage;
+
+ @Page
+ private SAMLPostEncExample samlPostEncExamplePage;
+
+ @Page
+ private SAMLRedirectSigExample samlRedirectSigExamplePage;
+
+ @Override
+ public void addAdapterTestRealms(List<RealmRepresentation> testRealms) {
+ RealmRepresentation samlRealm = loadRealm(new File(EXAMPLES_HOME_DIR + "/saml/testsaml.json"));
+ testRealms.add(samlRealm);
+ }
+
+ @Override
+ public void setDefaultPageUriParameters() {
+ super.setDefaultPageUriParameters();
+ testRealmPage.setAuthRealm(SAMLDEMO);
+ testRealmSAMLLoginPage.setAuthRealm(SAMLDEMO);
+ }
+
+ @Deployment(name = SAMLPostSigExample.DEPLOYMENT_NAME)
+ private static WebArchive samlPostSigExampleDeployment() throws IOException {
+ return exampleDeployment(SAMLPostSigExample.DEPLOYMENT_NAME);
+ }
+
+ @Deployment(name = SAMLPostEncExample.DEPLOYMENT_NAME)
+ private static WebArchive samlPostEncExampleDeployment() throws IOException {
+ return exampleDeployment(SAMLPostEncExample.DEPLOYMENT_NAME);
+ }
+
+ @Deployment(name = SAMLRedirectSigExample.DEPLOYMENT_NAME)
+ private static WebArchive samlRedirectSigExampleDeployment() throws IOException {
+ return exampleDeployment(SAMLRedirectSigExample.DEPLOYMENT_NAME);
+ }
+
+ @Test
+ public void samlPostWithSignatureExampleTest() {
+ samlPostSigExamplePage.navigateTo();
+ testRealmSAMLLoginPage.form().login(bburkeUser);
+
+ assertTrue(driver.getPageSource().contains("Welcome to the Sales Tool, " + bburkeUser.getUsername()));
+
+ samlPostSigExamplePage.logout();
+
+ samlPostSigExamplePage.navigateTo();
+ URLAssert.assertCurrentUrlStartsWith(testRealmSAMLLoginPage);
+ }
+
+ @Test
+ public void samlPostWithEncryptionExampleTest() {
+ samlPostEncExamplePage.navigateTo();
+
+ testRealmSAMLLoginPage.form().login(bburkeUser);
+
+ assertTrue(driver.getPageSource().contains("Welcome to the Sales Tool, " + bburkeUser.getUsername()));
+
+ samlPostEncExamplePage.logout();
+
+ samlPostEncExamplePage.navigateTo();
+ URLAssert.assertCurrentUrlStartsWith(testRealmSAMLLoginPage);
+ }
+
+ @Test
+ public void samlRedirectWithSignatureExampleTest() {
+ samlRedirectSigExamplePage.navigateTo();
+
+ testRealmSAMLLoginPage.form().login(bburkeUser);
+
+ assertTrue(driver.getPageSource().contains("Welcome to the Employee Tool,"));
+
+ samlRedirectSigExamplePage.logout();
+
+ samlRedirectSigExamplePage.navigateTo();
+ URLAssert.assertCurrentUrlStartsWith(testRealmSAMLLoginPage);
+ }
+}