You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/01/05 08:52:09 UTC
camel git commit: CAMEL-10616: Added unit test
Repository: camel
Updated Branches:
refs/heads/master ddb8d7f6c -> a1df7129a
CAMEL-10616: Added unit test
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a1df7129
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a1df7129
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a1df7129
Branch: refs/heads/master
Commit: a1df7129a81abb6fcff3d4016aee5b2174b13259
Parents: ddb8d7f
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 5 09:45:05 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 5 09:45:05 2017 +0100
----------------------------------------------------------------------
.../spring/boot/CustomShutdownStrategyTest.java | 91 ++++++++++++++++++++
1 file changed, 91 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/a1df7129/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CustomShutdownStrategyTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CustomShutdownStrategyTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CustomShutdownStrategyTest.java
new file mode 100644
index 0000000..0dd2f00
--- /dev/null
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/CustomShutdownStrategyTest.java
@@ -0,0 +1,91 @@
+/**
+ * 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.boot;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultShutdownStrategy;
+import org.apache.camel.spi.RouteStartupOrder;
+import org.apache.camel.spi.ShutdownStrategy;
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@EnableAutoConfiguration
+@SpringBootTest(classes = CustomShutdownStrategyTest.class)
+public class CustomShutdownStrategyTest extends Assert {
+
+ @Autowired
+ CamelContext camelContext;
+
+ @Configuration
+ @EnableAutoConfiguration
+ public static class Config extends SpringRouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+ from("seda:foo").to("mock:foo");
+ }
+
+ @Bean
+ public ShutdownStrategy shutdownStrategy() {
+ ShutdownStrategy strat = new MyShutdown();
+ strat.setTimeout(60000);
+ return strat;
+ }
+
+ }
+
+ @Test
+ public void testCustomShutdown() throws Exception {
+ ShutdownStrategy stat = camelContext.getShutdownStrategy();
+ assertEquals(60000, stat.getTimeout());
+ assertTrue(stat instanceof MyShutdown);
+
+ camelContext.stop();
+
+ assertTrue(((MyShutdown)stat).isInvoked());
+ }
+
+ private static class MyShutdown extends DefaultShutdownStrategy {
+
+ private boolean invoked;
+
+ @Override
+ protected boolean doShutdown(CamelContext context, List<RouteStartupOrder> routes, long timeout, TimeUnit timeUnit,
+ boolean suspendOnly, boolean abortAfterTimeout, boolean forceShutdown) throws Exception {
+ invoked = true;
+ return super.doShutdown(context, routes, timeout, timeUnit, suspendOnly, abortAfterTimeout, forceShutdown);
+ }
+
+ boolean isInvoked() {
+ return invoked;
+ }
+ }
+
+}
+