Hey, Inline again
On Sat, Oct 6, 2012 at 8:23 AM, Christian Schneider <[email protected]> wrote: > Hi Andreas, > > I also answered inline. > > Christian > > Am 06.10.2012 06:09, schrieb Andreas Pieber: > >> Hey, >> >> Questions inline >> >> On Thu, Oct 4, 2012 at 5:00 PM, <[email protected]> wrote: >>> >>> Author: cschneider >>> Date: Thu Oct 4 15:00:02 2012 >>> New Revision: 1394106 >>> >>> URL: http://svn.apache.org/viewvc?rev=1394106&view=rev >>> Log: >>> KARAF-1897 Use different ports for itests. Switch off ssh for tests where >>> it is not used >>> >>> Modified: >>> >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java >>> >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java >>> >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java >>> >>> Modified: >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java >>> URL: >>> http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff >>> >>> ============================================================================== >>> --- >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java >>> (original) >>> +++ >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java >>> Thu Oct 4 15:00:02 2012 >>> @@ -12,6 +12,6 @@ public class BootFeaturesTest extends Ka >>> >>> @Test >>> public void testBootFeatures() throws Exception { >>> - assertFeaturesInstalled("standard", "config", "region", >>> "package", "kar", "ssh", "management"); >>> + assertFeaturesInstalled("standard", "config", "region", >>> "package", "kar", "management"); >>> } >>> } >>> >>> Modified: >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java >>> URL: >>> http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff >>> >>> ============================================================================== >>> --- >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java >>> (original) >>> +++ >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java >>> Thu Oct 4 15:00:02 2012 >>> @@ -36,12 +36,6 @@ public class FeatureTest extends KarafTe >>> String featureListOutput = executeCommand("feature:list -i"); >>> System.out.println(featureListOutput); >>> assertTrue(featureListOutput.contains("standard")); >>> - assertTrue(featureListOutput.contains("config")); >>> - assertTrue(featureListOutput.contains("region")); >>> - assertTrue(featureListOutput.contains("package")); >>> - assertTrue(featureListOutput.contains("kar")); >>> - assertTrue(featureListOutput.contains("ssh")); >>> - assertTrue(featureListOutput.contains("management")); >> >> I don't understand that change. Why remove that validation? > > > I created a separate BootFeaturesTest. So testing for all details would be > redundant and we need to change it whenever we change boo features. If you > prefer I can revert this part. Fair enough; I've missed that commit. Fair enough then. > >> >>> } >>> >>> @Test >>> >>> Modified: >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java >>> URL: >>> http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java?rev=1394106&r1=1394105&r2=1394106&view=diff >>> >>> ============================================================================== >>> --- >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java >>> (original) >>> +++ >>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java >>> Thu Oct 4 15:00:02 2012 >>> @@ -13,6 +13,7 @@ >>> */ >>> package org.apache.karaf.itests; >>> >>> +import static >>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.editConfigurationFilePut; >>> import static >>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration; >>> import static >>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.keepRuntimeFolder; >>> import static >>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.logLevel; >>> @@ -51,6 +52,7 @@ import org.ops4j.pax.exam.Option; >>> import org.ops4j.pax.exam.TestProbeBuilder; >>> import org.ops4j.pax.exam.junit.Configuration; >>> import org.ops4j.pax.exam.junit.ProbeBuilder; >>> +import org.ops4j.pax.exam.options.MavenArtifactUrlReference; >>> import org.osgi.framework.BundleContext; >>> import org.osgi.framework.Constants; >>> import org.osgi.framework.Filter; >>> @@ -61,6 +63,8 @@ import org.osgi.util.tracker.ServiceTrac >>> >>> public class KarafTestSupport { >>> >>> + private static final String RMI_PORT = "1100"; >>> + >>> static final Long COMMAND_TIMEOUT = 10000L; >>> static final Long SERVICE_TIMEOUT = 30000L; >>> >>> @@ -86,11 +90,16 @@ public class KarafTestSupport { >>> >>> @Configuration >>> public Option[] config() { >>> + MavenArtifactUrlReference karafUrl = >>> maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz"); >>> return new Option[]{ >>> - >>> karafDistributionConfiguration().frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz")) >>> - .name("Apache Karaf").unpackDirectory(new >>> File("target/exam")), >>> - keepRuntimeFolder(), >>> - logLevel(LogLevelOption.LogLevel.INFO) }; >>> + >>> karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache >>> Karaf").unpackDirectory(new File("target/exam")), >>> + keepRuntimeFolder(), >>> + logLevel(LogLevelOption.LogLevel.INFO), >>> + >>> editConfigurationFilePut("etc/org.apache.karaf.features.cfg", >>> "featuresBoot", "config,standard,region,package,kar,management"), >>> + editConfigurationFilePut("etc/org.ops4j.pax.web.cfg", >>> "org.osgi.service.http.port", "9080"), >>> + >>> editConfigurationFilePut("etc/org.apache.karaf.management.cfg", >>> "rmiRegistryPort", RMI_PORT), >>> + >>> editConfigurationFilePut("etc/org.apache.karaf.management.cfg", >>> "rmiServerPort", "44445") >>> + }; >> >> Wouldn't it be better to retrieve the ports using the >> build-helper-maven-plugin:reserve-network-port-mojo to generate those >> ports and simply load them here? > > Absolutely. The idea was to change the ports in statically in the first step > to allow a build to run parallel to a running karaf. Using real dynamic > ports is the next logic step. I just had no idea how to do it. Basically it's quite simple: use the maven-helper-plugin to create a list of ports into a file. Now, instead of using the static ports loading the generated ports instead of using the static once. I've a sample laying around somewhere if you like. > >>> } >>> >>> /** >>> @@ -223,7 +232,7 @@ public class KarafTestSupport { >>> } >>> >>> public JMXConnector getJMXConnector() throws Exception { >>> - JMXServiceURL url = new >>> JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root"); >>> + JMXServiceURL url = new >>> JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + RMI_PORT+ >>> "/karaf-root"); >>> Hashtable<String, Object> env = new Hashtable<String, >>> Object>(); >>> String[] credentials = new String[]{ "karaf", "karaf" }; >>> env.put("jmx.remote.credentials", credentials); >>> >>> > > > -- > Christian Schneider > http://www.liquid-reality.de > > Open Source Architect > Talend Application Integration Division http://www.talend.com >
