Updated Branches:
  refs/heads/camel-2.12.x b5a166f9e -> 04dfcd29a
  refs/heads/master 4e9f47649 -> b62e88ff6


Fixed test


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b62e88ff
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b62e88ff
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b62e88ff

Branch: refs/heads/master
Commit: b62e88ff618d9803d06847ba8f88afbbd8d94aac
Parents: 4e9f476
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Oct 8 10:05:57 2013 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Oct 8 10:06:26 2013 +0200

----------------------------------------------------------------------
 .../camel/processor/ShutdownDeferTest.java      | 39 ++++++++++++++---
 .../camel/processor/ShutdownNotDeferTest.java   | 41 +++++++++++++++---
 .../processor/SpringShutdownDeferTest.java      | 32 --------------
 .../processor/SpringShutdownNotDeferTest.java   | 32 --------------
 .../spring/processor/ShutdownDeferTest.xml      | 45 --------------------
 .../spring/processor/ShutdownNotDeferTest.xml   | 43 -------------------
 6 files changed, 67 insertions(+), 165 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/b62e88ff/camel-core/src/test/java/org/apache/camel/processor/ShutdownDeferTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/ShutdownDeferTest.java 
b/camel-core/src/test/java/org/apache/camel/processor/ShutdownDeferTest.java
index c4aed11..5220ed4 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/ShutdownDeferTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/ShutdownDeferTest.java
@@ -16,8 +16,16 @@
  */
 package org.apache.camel.processor;
 
+import java.io.File;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.apache.camel.Component;
 import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.file.FileConsumer;
+import org.apache.camel.component.file.FileEndpoint;
+import org.apache.camel.component.file.GenericFileOperations;
 import org.apache.camel.component.mock.MockEndpoint;
 
 import static org.apache.camel.ShutdownRoute.Defer;
@@ -27,6 +35,8 @@ import static org.apache.camel.ShutdownRoute.Defer;
  */
 public class ShutdownDeferTest extends ContextTestSupport {
 
+    private static final AtomicBoolean consumerSuspended = new AtomicBoolean();
+
     @Override
     protected void setUp() throws Exception {
         deleteDirectory("target/deferred");
@@ -34,9 +44,6 @@ public class ShutdownDeferTest extends ContextTestSupport {
     }
 
     public void testShutdownDeferred() throws Exception {
-        // give it 20 seconds to shutdown
-        context.getShutdownStrategy().setTimeout(20);
-        
         MockEndpoint bar = getMockEndpoint("mock:bar");
         bar.expectedMinimumMessageCount(1);
 
@@ -52,8 +59,7 @@ public class ShutdownDeferTest extends ContextTestSupport {
 
         context.stop();
 
-        // should route all 5
-        assertEquals(5, bar.getReceivedCounter());
+        assertFalse("Should not have been suspended", consumerSuspended.get());
     }
 
     @Override
@@ -69,7 +75,10 @@ public class ShutdownDeferTest extends ContextTestSupport {
                 // use file component to transfer files from route 1 -> route 
2 as it
                 // will normally suspend, but by deferring this we can let 
route 1
                 // complete while shutting down
-                from("file://target/deferred")
+                MyDeferFileEndpoint defer = new 
MyDeferFileEndpoint("file://target/deferred", 
getContext().getComponent("file"));
+                defer.setFile(new File("target/deferred"));
+
+                from(defer)
                     // defer shutting down this route as the 1st route depends 
upon it
                     .startupOrder(2).shutdownRoute(Defer)
                     .to("mock:bar");
@@ -77,4 +86,22 @@ public class ShutdownDeferTest extends ContextTestSupport {
             // END SNIPPET: e1
         };
     }
+
+    private static final class MyDeferFileEndpoint extends FileEndpoint {
+
+        private MyDeferFileEndpoint(String endpointUri, Component component) {
+            super(endpointUri, component);
+        }
+
+        @Override
+        protected FileConsumer newFileConsumer(Processor processor, 
GenericFileOperations<File> operations) {
+            return new FileConsumer(this, processor, operations) {
+                @Override
+                protected void doSuspend() throws Exception {
+                    consumerSuspended.set(true);
+                    super.doSuspend();
+                }
+            };
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/b62e88ff/camel-core/src/test/java/org/apache/camel/processor/ShutdownNotDeferTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/ShutdownNotDeferTest.java 
b/camel-core/src/test/java/org/apache/camel/processor/ShutdownNotDeferTest.java
index d72ae61..5a8156d 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/ShutdownNotDeferTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/processor/ShutdownNotDeferTest.java
@@ -16,8 +16,16 @@
  */
 package org.apache.camel.processor;
 
+import java.io.File;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.apache.camel.Component;
 import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.file.FileConsumer;
+import org.apache.camel.component.file.FileEndpoint;
+import org.apache.camel.component.file.GenericFileOperations;
 import org.apache.camel.component.mock.MockEndpoint;
 
 import static org.apache.camel.ShutdownRoute.Default;
@@ -27,6 +35,8 @@ import static org.apache.camel.ShutdownRoute.Default;
  */
 public class ShutdownNotDeferTest extends ContextTestSupport {
 
+    private static final AtomicBoolean consumerSuspended = new AtomicBoolean();
+
     @Override
     protected void setUp() throws Exception {
         deleteDirectory("target/deferred");
@@ -34,9 +44,6 @@ public class ShutdownNotDeferTest extends ContextTestSupport {
     }
 
     public void testShutdownNotDeferred() throws Exception {
-        // give it 20 seconds to shutdown
-        context.getShutdownStrategy().setTimeout(20);
-
         MockEndpoint bar = getMockEndpoint("mock:bar");
         bar.expectedMinimumMessageCount(1);
 
@@ -50,8 +57,7 @@ public class ShutdownNotDeferTest extends ContextTestSupport {
 
         context.stop();
 
-        // should not route all 5
-        assertTrue("Should NOT complete all messages, was " + 
bar.getReceivedCounter(), bar.getReceivedCounter() < 5);
+        assertTrue("Should have been suspended", consumerSuspended.get());
     }
 
     @Override
@@ -61,14 +67,35 @@ public class ShutdownNotDeferTest extends 
ContextTestSupport {
             public void configure() throws Exception {
                 from("seda:foo")
                     .startupOrder(1)
-                    .delay(1000).to("file://target/deferred");
+                    .to("file://target/deferred");
 
                 // use file component to transfer files from route 1 -> route 2
-                from("file://target/deferred")
+                MyDeferFileEndpoint defer = new 
MyDeferFileEndpoint("file://target/deferred", 
getContext().getComponent("file"));
+                defer.setFile(new File("target/deferred"));
+
+                from(defer)
                     // do NOT defer it but use default for testing this
                     .startupOrder(2).shutdownRoute(Default)
                     .to("mock:bar");
             }
         };
     }
+
+    private static final class MyDeferFileEndpoint extends FileEndpoint {
+
+        private MyDeferFileEndpoint(String endpointUri, Component component) {
+            super(endpointUri, component);
+        }
+
+        @Override
+        protected FileConsumer newFileConsumer(Processor processor, 
GenericFileOperations<File> operations) {
+            return new FileConsumer(this, processor, operations) {
+                @Override
+                protected void doSuspend() throws Exception {
+                    consumerSuspended.set(true);
+                    super.doSuspend();
+                }
+            };
+        }
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/b62e88ff/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownDeferTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownDeferTest.java
 
b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownDeferTest.java
deleted file mode 100644
index 5742ee4..0000000
--- 
a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownDeferTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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.spring.processor;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.processor.ShutdownDeferTest;
-
-import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
-
-/**
- * @version 
- */
-public class SpringShutdownDeferTest extends ShutdownDeferTest {
-
-    protected CamelContext createCamelContext() throws Exception {
-        return createSpringCamelContext(this, 
"org/apache/camel/spring/processor/ShutdownDeferTest.xml");
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/b62e88ff/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownNotDeferTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownNotDeferTest.java
 
b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownNotDeferTest.java
deleted file mode 100644
index 8f3f027..0000000
--- 
a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringShutdownNotDeferTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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.spring.processor;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.processor.ShutdownNotDeferTest;
-
-import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
-
-/**
- * @version 
- */
-public class SpringShutdownNotDeferTest extends ShutdownNotDeferTest {
-
-    protected CamelContext createCamelContext() throws Exception {
-        return createSpringCamelContext(this, 
"org/apache/camel/spring/processor/ShutdownNotDeferTest.xml");
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/b62e88ff/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownDeferTest.xml
----------------------------------------------------------------------
diff --git 
a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownDeferTest.xml
 
b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownDeferTest.xml
deleted file mode 100644
index 6a91f6f..0000000
--- 
a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownDeferTest.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans";
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd
-    ">
-
-    <bean id="shutdownStrategy" 
class="org.apache.camel.impl.DefaultShutdownStrategy">
-        <!-- use 20 sec to give this unit test some time -->
-        <property name="timeout" value="20"/>
-    </bean>
-
-    <!-- START SNIPPET: e1 -->
-    <camelContext xmlns="http://camel.apache.org/schema/spring";>
-        <route startupOrder="1">
-            <from uri="seda:foo"/>
-            <to uri="file://target/deferred"/>
-        </route>
-
-        <!-- defer shutting down this route as the first route is depend upon 
it -->
-        <route startupOrder="2" shutdownRoute="Defer">
-            <from uri="file://target/deferred"/>
-            <to uri="mock:bar"/>
-        </route>
-    </camelContext>
-    <!-- END SNIPPET: e1 -->
-
-</beans>

http://git-wip-us.apache.org/repos/asf/camel/blob/b62e88ff/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownNotDeferTest.xml
----------------------------------------------------------------------
diff --git 
a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownNotDeferTest.xml
 
b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownNotDeferTest.xml
deleted file mode 100644
index 611ef90..0000000
--- 
a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/ShutdownNotDeferTest.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans";
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd
-    ">
-
-    <bean id="shutdownStrategy" 
class="org.apache.camel.impl.DefaultShutdownStrategy">
-        <!-- use 20 sec to give this unit test some time -->
-        <property name="timeout" value="20"/>
-    </bean>
-
-    <camelContext xmlns="http://camel.apache.org/schema/spring";>
-        <route startupOrder="1">
-            <from uri="seda:foo"/>
-            <delay><constant>1000</constant></delay>
-            <to uri="file://target/deferred"/>
-        </route>
-
-        <route startupOrder="2" shutdownRoute="Default">
-            <from uri="file://target/deferred"/>
-            <to uri="mock:bar"/>
-        </route>
-    </camelContext>
-
-</beans>

Reply via email to