You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/08/09 15:27:11 UTC

svn commit: r1804544 [2/2] - in /sling/trunk/bundles/jcr/contentloader: ./ src/main/java/org/apache/sling/jcr/contentloader/ src/main/java/org/apache/sling/jcr/contentloader/internal/ src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ s...

Modified: sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/PaxExamUtilities.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/PaxExamUtilities.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/PaxExamUtilities.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/PaxExamUtilities.java Wed Aug  9 15:27:11 2017
@@ -19,44 +19,193 @@
 package org.apache.sling.jcr.contentloader.it;
 
 import static org.ops4j.pax.exam.CoreOptions.bundle;
+import static org.ops4j.pax.exam.CoreOptions.frameworkProperty;
+import static org.ops4j.pax.exam.CoreOptions.junitBundles;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.CoreOptions.provision;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 import static org.ops4j.pax.exam.CoreOptions.wrappedBundle;
 
 import java.io.File;
 
-import org.apache.sling.paxexam.util.SlingPaxOptions;
 import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.options.DefaultCompositeOption;
+import org.ops4j.pax.exam.cm.ConfigurationAdminOptions;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /** Utilities for Pax Exam testing */
 public final class PaxExamUtilities {
-    private static final Logger log = LoggerFactory.getLogger(PaxExamUtilities.class);
-    
+
+    private static final String SYS_PROP_BUILD_DIR = "bundle.build.dir";
+
+    private static final String DEFAULT_BUILD_DIR = "target";
+
     public static Option[] paxConfig() {
         final File thisProjectsBundle = new File(System.getProperty( "bundle.file.name", "BUNDLE_FILE_NOT_SET" ));
-        final String launchpadVersion = System.getProperty("sling.launchpad.version", "LAUNCHPAD_VERSION_NOT_SET");
-        log.info("Sling launchpad version: {}", launchpadVersion);
-        
-        SlingPaxOptions.setIgnoredBundles("org.apache.sling.jcr.contentloader");
-        try {
-            return new DefaultCompositeOption(
-                    SlingPaxOptions.defaultLaunchpadOptions(launchpadVersion),
-                    provision(bundle(thisProjectsBundle.toURI().toString())),
-                    wrappedBundle(mavenBundle("org.apache.sling", "org.apache.sling.commons.testing").versionAsInProject()),
-                    wrappedBundle(mavenBundle("org.ops4j.pax.tinybundles", "tinybundles").versionAsInProject()),
-                    mavenBundle("org.apache.sling", "org.apache.sling.commons.johnzon").versionAsInProject(),
-                    mavenBundle("biz.aQute.bnd", "bndlib").versionAsInProject()
-            ).getOptions();
-        } finally {
-            SlingPaxOptions.setIgnoredBundles();
-        }
+
+        final String buildDir = System.getProperty(SYS_PROP_BUILD_DIR, DEFAULT_BUILD_DIR);
+
+        final String jackrabbitVersion = "2.13.1";
+        final String oakVersion = "1.5.7";
+
+        final String slingHome = new File(buildDir + File.separatorChar + "sling_" + System.currentTimeMillis()).getAbsolutePath();
+
+        return options(
+                frameworkProperty("sling.home").value(slingHome),
+                frameworkProperty("repository.home").value(slingHome + File.separatorChar + "repository"),
+                systemProperty("pax.exam.osgi.unresolved.fail").value("true"),
+
+                ConfigurationAdminOptions.newConfiguration("org.apache.felix.jaas.ConfigurationSpi")
+                    .create(true)
+                    .put("jaas.defaultRealmName", "jackrabbit.oak")
+                    .put("jaas.configProviderName", "FelixJaasProvider")
+                    .asOption(),
+                ConfigurationAdminOptions.factoryConfiguration("org.apache.felix.jaas.Configuration.factory")
+                    .create(true)
+                    .put("jaas.controlFlag", "optional")
+                    .put("jaas.classname", "org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule")
+                    .put("jaas.ranking", 300)
+                    .asOption(),
+                ConfigurationAdminOptions.factoryConfiguration("org.apache.felix.jaas.Configuration.factory")
+                    .create(true)
+                    .put("jaas.controlFlag", "required")
+                    .put("jaas.classname", "org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl")
+                    .asOption(),
+                ConfigurationAdminOptions.factoryConfiguration("org.apache.felix.jaas.Configuration.factory")
+                    .create(true)
+                    .put("jaas.controlFlag", "sufficient")
+                    .put("jaas.classname", "org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule")
+                    .put("jaas.ranking", 200)
+                    .asOption(),
+                ConfigurationAdminOptions.newConfiguration("org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl")
+                    .create(true)
+                    .put("org.apache.jackrabbit.oak.authentication.configSpiName", "FelixJaasProvider")
+                    .asOption(),
+                ConfigurationAdminOptions.newConfiguration("org.apache.jackrabbit.oak.security.user.UserConfigurationImpl")
+                    .create(true)
+                    .put("groupsPath", "/home/groups")
+                    .put("usersPath", "/home/users")
+                    .put("defaultPath", "1")
+                    .put("importBehavior", "besteffort")
+                    .asOption(),
+                ConfigurationAdminOptions.newConfiguration("org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName")
+                    .create(true)
+                    .put("enabledActions", new String[] {"org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"})
+                    .put("userPrivilegeNames", new String[] {"jcr:all"})
+                    .put("groupPrivilegeNames", new String[] {"jcr:read"})
+                    .asOption(),
+                ConfigurationAdminOptions.newConfiguration("org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider")
+                    .create(true)
+                    .put("length", 21)
+                    .asOption(),
+                ConfigurationAdminOptions.newConfiguration("org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService")
+                    .create(true)
+                    .put("name", "Default NodeStore")
+                    .asOption(),
+
+                ConfigurationAdminOptions.factoryConfiguration("org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended")
+                    .create(true)
+                    .put("user.mapping", "org.apache.sling.event=admin")
+                    .asOption(),
+                ConfigurationAdminOptions.newConfiguration("org.apache.sling.jcr.resource.internal.JcrSystemUserValidator")
+                    .create(true)
+                    .put("allow.only.system.user", "false")
+                    .asOption(),
+
+                    // logging
+                systemProperty("pax.exam.logging").value("none"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.log", "4.0.6"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.logservice", "1.0.6"),
+                mavenBundle("org.slf4j", "slf4j-api", "1.7.13"),
+                mavenBundle("org.slf4j", "jcl-over-slf4j", "1.7.13"),
+                mavenBundle("org.slf4j", "log4j-over-slf4j", "1.7.13"),
+
+                mavenBundle("commons-io", "commons-io", "2.4"),
+                mavenBundle("commons-fileupload", "commons-fileupload", "1.3.1"),
+                mavenBundle("commons-collections", "commons-collections", "3.2.2"),
+                mavenBundle("commons-codec", "commons-codec", "1.10"),
+                mavenBundle("commons-lang", "commons-lang", "2.6"),
+                mavenBundle("org.apache.commons", "commons-lang3", "3.5"),
+                mavenBundle("commons-pool", "commons-pool", "1.6"),
+
+                mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.concurrent", "1.3.4_1"),
+
+                mavenBundle("org.apache.geronimo.bundles", "commons-httpclient", "3.1_1"),
+                mavenBundle("org.apache.tika", "tika-core", "1.9"),
+                mavenBundle("org.apache.tika", "tika-bundle", "1.9"),
+
+                // infrastructure
+                mavenBundle("org.apache.felix", "org.apache.felix.http.servlet-api", "1.1.2"),
+                mavenBundle("org.apache.felix", "org.apache.felix.http.jetty", "3.1.6"),
+                mavenBundle("org.apache.felix", "org.apache.felix.eventadmin", "1.4.8"),
+                mavenBundle("org.apache.felix", "org.apache.felix.scr", "2.0.6"),
+                mavenBundle("org.apache.felix", "org.apache.felix.configadmin", "1.8.10"),
+                mavenBundle("org.apache.felix", "org.apache.felix.inventory", "1.0.4"),
+                mavenBundle("org.apache.felix", "org.apache.felix.metatype", "1.1.2"),
+
+                // sling
+                mavenBundle("org.apache.sling", "org.apache.sling.settings", "1.3.8"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.osgi", "2.3.0"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.mime", "2.1.8"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.classloader", "1.3.2"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.johnzon", "1.0.0"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.scheduler", "2.4.14"),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.threads", "3.2.4"),
+
+                mavenBundle("org.apache.sling", "org.apache.sling.auth.core", "1.3.12"),
+                mavenBundle("org.apache.sling", "org.apache.sling.discovery.api", "1.0.2"),
+                mavenBundle("org.apache.sling", "org.apache.sling.discovery.commons", "1.0.20"),
+                mavenBundle("org.apache.sling", "org.apache.sling.discovery.standalone", "1.0.2"),
+
+                mavenBundle("org.apache.sling", "org.apache.sling.launchpad.api", "1.2.0"),
+                mavenBundle("org.apache.sling", "org.apache.sling.api", "2.14.2"),
+                mavenBundle("org.apache.sling", "org.apache.sling.resourceresolver", "1.4.18"),
+                mavenBundle("org.apache.sling", "org.apache.sling.adapter", "2.1.10"),
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.resource", "2.8.0"),
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.classloader", "3.2.2"),
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.contentloader", "2.2.4"),
+                mavenBundle("org.apache.sling", "org.apache.sling.engine", "2.6.2"),
+                mavenBundle("org.apache.sling", "org.apache.sling.serviceusermapper", "1.3.2"),
+
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.jcr-wrapper", "2.0.0"),
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.api", "2.4.0"),
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.base", "2.4.0"),
+
+                mavenBundle("com.google.guava", "guava", "15.0"),
+                mavenBundle("org.apache.jackrabbit", "jackrabbit-api", jackrabbitVersion),
+                mavenBundle("org.apache.jackrabbit", "jackrabbit-jcr-commons", jackrabbitVersion),
+                mavenBundle("org.apache.jackrabbit", "jackrabbit-spi", jackrabbitVersion),
+                mavenBundle("org.apache.jackrabbit", "jackrabbit-spi-commons", jackrabbitVersion),
+                mavenBundle("org.apache.jackrabbit", "jackrabbit-jcr-rmi", jackrabbitVersion),
+
+                mavenBundle("org.apache.felix", "org.apache.felix.jaas", "0.0.4"),
+
+                mavenBundle("org.apache.jackrabbit", "oak-core", oakVersion),
+                mavenBundle("org.apache.jackrabbit", "oak-commons", oakVersion),
+                mavenBundle("org.apache.jackrabbit", "oak-lucene", oakVersion),
+                mavenBundle("org.apache.jackrabbit", "oak-blob", oakVersion),
+                mavenBundle("org.apache.jackrabbit", "oak-jcr", oakVersion),
+
+                mavenBundle("org.apache.jackrabbit", "oak-segment", oakVersion),
+
+                mavenBundle("org.apache.sling", "org.apache.sling.jcr.oak.server", "1.1.0"),
+
+                mavenBundle("org.apache.sling", "org.apache.sling.testing.tools", "1.0.17-SNAPSHOT"),
+                mavenBundle("org.apache.httpcomponents", "httpcore-osgi", "4.1.2"),
+                mavenBundle("org.apache.httpcomponents", "httpclient-osgi", "4.1.2"),
+
+                provision(bundle(thisProjectsBundle.toURI().toString())),
+                wrappedBundle(mavenBundle("org.apache.sling", "org.apache.sling.commons.testing").versionAsInProject()),
+                wrappedBundle(mavenBundle("org.ops4j.pax.tinybundles", "tinybundles").versionAsInProject()),
+                mavenBundle("org.apache.sling", "org.apache.sling.commons.johnzon").versionAsInProject(),
+                mavenBundle("biz.aQute.bnd", "bndlib").versionAsInProject(),
+
+                junitBundles()
+           );
+
     }
-    
+
     public static Bundle findBundle(BundleContext ctx, String symbolicName) {
         for(Bundle b : ctx.getBundles()) {
             if(symbolicName.equals(b.getSymbolicName())) {