Author: davsclaus Date: Wed Mar 13 13:37:16 2013 New Revision: 1455935 URL: http://svn.apache.org/r1455935 Log: CAMEL-6142: camel-hdfs - Preserve auth as Hadoop overrides that and cause sideeffects for auth afterwards
Added: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsTestSupport.java Modified: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/FromFileToHdfsTest.java camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsConsumerTest.java camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerConsumerTest.java camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerSplitTest.java camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerTest.java Modified: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/FromFileToHdfsTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/FromFileToHdfsTest.java?rev=1455935&r1=1455934&r2=1455935&view=diff ============================================================================== --- camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/FromFileToHdfsTest.java (original) +++ camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/FromFileToHdfsTest.java Wed Mar 13 13:37:16 2013 @@ -21,7 +21,6 @@ import java.io.File; import org.apache.camel.Exchange; import org.apache.camel.builder.NotifyBuilder; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -31,16 +30,13 @@ import org.junit.Test; /** * */ -public class FromFileToHdfsTest extends CamelTestSupport { +public class FromFileToHdfsTest extends HdfsTestSupport { private static final Path TEMP_DIR = new Path(new File("target/outbox/").getAbsolutePath()); - //Hadoop doesn't run on IBM JDK - private static final boolean SKIP = System.getProperty("java.vendor").contains("IBM"); - @Before public void setUp() throws Exception { - if (SKIP) { + if (!canTest()) { return; } deleteDirectory("target/inbox"); @@ -50,7 +46,7 @@ public class FromFileToHdfsTest extends @Override public void tearDown() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -63,7 +59,7 @@ public class FromFileToHdfsTest extends @Test public void testFileToHdfs() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -82,7 +78,7 @@ public class FromFileToHdfsTest extends @Test public void testTwoFilesToHdfs() throws Exception { - if (SKIP) { + if (!canTest()) { return; } Modified: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsConsumerTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsConsumerTest.java?rev=1455935&r1=1455934&r2=1455935&view=diff ============================================================================== --- camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsConsumerTest.java (original) +++ camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsConsumerTest.java Wed Mar 13 13:37:16 2013 @@ -20,7 +20,6 @@ import java.io.File; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; @@ -43,9 +42,7 @@ import org.junit.Test; import static org.apache.hadoop.io.SequenceFile.CompressionType; import static org.apache.hadoop.io.SequenceFile.createWriter; -public class HdfsConsumerTest extends CamelTestSupport { - //Hadoop doesn't run on IBM JDK - private static final boolean SKIP = System.getProperty("java.vendor").contains("IBM"); +public class HdfsConsumerTest extends HdfsTestSupport { @Override public boolean isUseRouteBuilder() { @@ -54,16 +51,24 @@ public class HdfsConsumerTest extends Ca @Before public void setUp() throws Exception { - if (SKIP) { + if (!canTest()) { return; } + + // must be able to get security configuration + try { + javax.security.auth.login.Configuration.getConfiguration(); + } catch (Exception e) { + return; + } + deleteDirectory("target/test"); super.setUp(); } @Test public void testSimpleConsumer() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -92,7 +97,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadBoolean() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -121,7 +126,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadByte() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -153,7 +158,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadFloat() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -184,9 +189,10 @@ public class HdfsConsumerTest extends Ca @Test public void testReadDouble() throws Exception { - if (SKIP) { + if (!canTest()) { return; } + final Path file = new Path(new File("target/test/test-camel-double").getAbsolutePath()); Configuration conf = new Configuration(); FileSystem fs1 = FileSystem.get(file.toUri(), conf); @@ -214,7 +220,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadInt() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -245,7 +251,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadLong() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -276,7 +282,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadBytes() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -307,7 +313,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadString() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -338,7 +344,7 @@ public class HdfsConsumerTest extends Ca @Test public void testReadStringArrayFile() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -371,7 +377,7 @@ public class HdfsConsumerTest extends Ca @Override public void tearDown() throws Exception { - if (SKIP) { + if (!canTest()) { return; } Modified: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerConsumerTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerConsumerTest.java?rev=1455935&r1=1455934&r2=1455935&view=diff ============================================================================== --- camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerConsumerTest.java (original) +++ camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerConsumerTest.java Wed Mar 13 13:37:16 2013 @@ -22,20 +22,17 @@ import java.util.List; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.Before; import org.junit.Test; -public class HdfsProducerConsumerTest extends CamelTestSupport { - //Hadoop doesn't run on IBM JDK - private static final boolean SKIP = System.getProperty("java.vendor").contains("IBM"); +public class HdfsProducerConsumerTest extends HdfsTestSupport { @Before public void setUp() throws Exception { - if (SKIP) { + if (!canTest()) { return; } super.setUp(); @@ -48,9 +45,10 @@ public class HdfsProducerConsumerTest ex @Test public void testSimpleSplitWriteRead() throws Exception { - if (SKIP) { + if (!canTest()) { return; } + final Path file = new Path(new File("target/test/test-camel-simple-write-file").getAbsolutePath()); context.addRoutes(new RouteBuilder() { @@ -80,7 +78,7 @@ public class HdfsProducerConsumerTest ex @Override public void tearDown() throws Exception { - if (SKIP) { + if (!canTest()) { return; } Modified: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerSplitTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerSplitTest.java?rev=1455935&r1=1455934&r2=1455935&view=diff ============================================================================== --- camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerSplitTest.java (original) +++ camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerSplitTest.java Wed Mar 13 13:37:16 2013 @@ -22,7 +22,6 @@ import java.io.InputStream; import java.net.URL; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -30,15 +29,13 @@ import org.apache.hadoop.io.IOUtils; import org.junit.Before; import org.junit.Test; -public class HdfsProducerSplitTest extends CamelTestSupport { - //Hadoop doesn't run on IBM JDK - private static final boolean SKIP = System.getProperty("java.vendor").contains("IBM"); +public class HdfsProducerSplitTest extends HdfsTestSupport { private static final Path BASE_FILE = new Path(new File("target/test/test-camel-simple-write-BASE_FILE").getAbsolutePath()); @Before public void setUp() throws Exception { - if (SKIP) { + if (!canTest()) { return; } super.setUp(); @@ -56,7 +53,7 @@ public class HdfsProducerSplitTest exten @Test public void testSimpleWriteFileWithIdleSplit() throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -92,7 +89,7 @@ public class HdfsProducerSplitTest exten } private void doTest(int routeNr) throws Exception { - if (SKIP) { + if (!canTest()) { return; } @@ -116,7 +113,7 @@ public class HdfsProducerSplitTest exten @Override public void tearDown() throws Exception { - if (SKIP) { + if (!canTest()) { return; } Modified: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerTest.java?rev=1455935&r1=1455934&r2=1455935&view=diff ============================================================================== --- camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerTest.java (original) +++ camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsProducerTest.java Wed Mar 13 13:37:16 2013 @@ -19,7 +19,6 @@ package org.apache.camel.component.hdfs; import java.io.File; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -39,16 +38,13 @@ import org.apache.hadoop.util.Reflection import org.junit.Before; import org.junit.Test; -public class HdfsProducerTest extends CamelTestSupport { +public class HdfsProducerTest extends HdfsTestSupport { private static final Path TEMP_DIR = new Path(new File("target/test/").getAbsolutePath()); - //Hadoop doesn't run on IBM JDK - private static final boolean SKIP = System.getProperty("java.vendor").contains("IBM"); - @Before public void setUp() throws Exception { - if (SKIP) { + if (!canTest()) { return; } super.setUp(); @@ -56,7 +52,7 @@ public class HdfsProducerTest extends Ca @Test public void testProducer() throws Exception { - if (SKIP) { + if (!canTest()) { return; } template.sendBody("direct:start1", "PAPPO"); @@ -73,7 +69,7 @@ public class HdfsProducerTest extends Ca @Test public void testProducerClose() throws Exception { - if (SKIP) { + if (!canTest()) { return; } for (int i = 0; i < 10; ++i) { @@ -98,7 +94,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteBoolean() throws Exception { - if (SKIP) { + if (!canTest()) { return; } Boolean aBoolean = true; @@ -117,7 +113,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteByte() throws Exception { - if (SKIP) { + if (!canTest()) { return; } byte aByte = 8; @@ -136,7 +132,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteInt() throws Exception { - if (SKIP) { + if (!canTest()) { return; } int anInt = 1234; @@ -155,7 +151,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteFloat() throws Exception { - if (SKIP) { + if (!canTest()) { return; } float aFloat = 12.34f; @@ -174,7 +170,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteDouble() throws Exception { - if (SKIP) { + if (!canTest()) { return; } Double aDouble = 12.34D; @@ -193,7 +189,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteLong() throws Exception { - if (SKIP) { + if (!canTest()) { return; } long aLong = 1234567890; @@ -212,7 +208,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteText() throws Exception { - if (SKIP) { + if (!canTest()) { return; } String txt = "CIAO MONDO !"; @@ -231,7 +227,7 @@ public class HdfsProducerTest extends Ca @Test public void testWriteTextWithKey() throws Exception { - if (SKIP) { + if (!canTest()) { return; } String txtKey = "THEKEY"; @@ -251,7 +247,7 @@ public class HdfsProducerTest extends Ca @Test public void testMapWriteTextWithKey() throws Exception { - if (SKIP) { + if (!canTest()) { return; } String txtKey = "THEKEY"; @@ -271,7 +267,7 @@ public class HdfsProducerTest extends Ca @Test public void testArrayWriteText() throws Exception { - if (SKIP) { + if (!canTest()) { return; } String txtValue = "CIAO MONDO !"; @@ -288,7 +284,7 @@ public class HdfsProducerTest extends Ca @Test public void testBloomMapWriteText() throws Exception { - if (SKIP) { + if (!canTest()) { return; } String txtKey = "THEKEY"; @@ -308,7 +304,7 @@ public class HdfsProducerTest extends Ca @Override public void tearDown() throws Exception { - if (SKIP) { + if (!canTest()) { return; } super.tearDown(); Added: camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsTestSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsTestSupport.java?rev=1455935&view=auto ============================================================================== --- camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsTestSupport.java (added) +++ camel/trunk/components/camel-hdfs/src/test/java/org/apache/camel/component/hdfs/HdfsTestSupport.java Wed Mar 13 13:37:16 2013 @@ -0,0 +1,40 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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.apache.camel.component.hdfs; + +import org.apache.camel.test.junit4.CamelTestSupport; + +public abstract class HdfsTestSupport extends CamelTestSupport { + + public boolean canTest() { + // Hadoop doesn't run on IBM JDK + if (System.getProperty("java.vendor").contains("IBM")) { + return false; + } + + // must be able to get security configuration + try { + javax.security.auth.login.Configuration.getConfiguration(); + } catch (Exception e) { + log.debug("Cannot run test due security exception", e); + return false; + } + + return true; + } + +}