diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
index 310a3bc..105032e 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
@@ -18,6 +18,7 @@
package org.keycloak.testsuite.arquillian;
import org.jboss.arquillian.container.spi.client.container.DeployableContainer;
+import org.jboss.arquillian.container.osgi.OSGiApplicationArchiveProcessor;
import org.jboss.arquillian.container.test.impl.enricher.resource.URLResourceProvider;
import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
import org.jboss.arquillian.container.test.spi.client.deployment.DeploymentScenarioGenerator;
@@ -63,7 +64,8 @@ public class KeycloakArquillianExtension implements LoadableExtension {
builder
.override(ResourceProvider.class, URLResourceProvider.class, URLProvider.class)
.override(ResourceProvider.class, CustomizableURLResourceProvider.class, URLProvider.class)
- .override(ResourceProvider.class, ContainerCustomizableURLResourceProvider.class, URLProvider.class);
+ .override(ResourceProvider.class, ContainerCustomizableURLResourceProvider.class, URLProvider.class)
+ .override(ApplicationArchiveProcessor.class, OSGiApplicationArchiveProcessor.class, KeycloakOSGiApplicationArchiveProcessor.class);
}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakOSGiApplicationArchiveProcessor.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakOSGiApplicationArchiveProcessor.java
new file mode 100644
index 0000000..90d3b2e
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakOSGiApplicationArchiveProcessor.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.keycloak.testsuite.arquillian;
+
+import org.jboss.arquillian.container.osgi.OSGiApplicationArchiveProcessor;
+import org.jboss.arquillian.test.spi.TestClass;
+import org.jboss.logging.Logger;
+import org.jboss.shrinkwrap.api.Archive;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class KeycloakOSGiApplicationArchiveProcessor extends OSGiApplicationArchiveProcessor {
+
+ private static final Logger log = Logger.getLogger(KeycloakOSGiApplicationArchiveProcessor.class);
+
+ // We want to ignore OSGI for exampleAdapter tests
+ @Override
+ public void process(Archive<?> appArchive, TestClass testClass) {
+ Class<?> clazz = testClass.getJavaClass();
+ boolean isExampleAdapterTest = isExampleAdapterTest(clazz);
+
+ if (isExampleAdapterTest) {
+ log.infof("Ignore OSGiApplicationArchiveProcessor for test %s", clazz.getName());
+ } else {
+ super.process(appArchive, testClass);
+ }
+ }
+
+ public static boolean isExampleAdapterTest(Class<?> clazz) {
+ Class<?> parent = clazz;
+ while (true) {
+ parent = parent.getSuperclass();
+ if (parent == null) {
+ return false;
+ } else if (parent.getName().equals("org.keycloak.testsuite.adapter.AbstractExampleAdapterTest")) {
+ return true;
+ }
+ }
+ }
+}