blob: b26433274185fd162614f00e1c68596378b3747a [file] [log] [blame]
/*
*
* * 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.example.spring.boot;
import java.util.ArrayList;
import org.apache.camel.builder.RouteBuilder;
import org.springframework.stereotype.Component;
import static org.apache.camel.builder.AggregationStrategies.flexible;
@Component
public class UnitTestsRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
// @formatter:off
// Example 5 : Simulating error from mocked endpoint
onException(MockSimulatedErrorException.class)
.handled(true)
.to("mock:g");
// Example 6 : Simulating error from mocked endpoint
onException(InterceptorSimulatedErrorException.class)
.handled(true)
.to("mock:j");
// Example 1 : Simple mock testing
from("direct:simple-mock")
.to("mock:a");
// Example 2 : Mock testing with expects expression
from("direct:mock-expects-expression")
.to("mock:b");
// Example 3 : Mock testing with descending counter expression
from("direct:mock-expects-descending")
.to("mock:c");
// Example 3 : Mock testing with ascending counter expression
from("direct:mock-expects-ascending")
.to("mock:d");
// Example 4 : Providing canned response from mocked endpoint
from("direct:mock-response")
.to("mock:e");
// Example 5 : Simulating error from mocked endpoint
from("direct:mock-simulate-error")
.to("mock:f");
// Example 6 : Simulating error with interceptor
from("direct:interceptor-simulate-error").routeId("example6")
.to("mock:h");
// Example 7 : Advising and mocking endpoints
from("direct:advice-mock-endpoints").routeId("example7")
.choice()
.when(simple("${body} contains 'K'"))
.to("seda:k")
.otherwise()
.to("seda:l");
// Example 8 : Advising and mocking endpoints
from("jms:abc").routeId("example8")
.choice()
.when(simple("${body} contains 'M'"))
.to("seda:m")
.otherwise()
.to("seda:n");
// Example 9 : Weaving processor by ID
from("direct:advice-weave-by-id-replace").routeId("example9")
.transform(simple("${body.toLowerCase()}")).id("node9");
// Example 10 : Weaving producer by ID and replacing node
from("direct:advice-producer-by-id-replace").routeId("example10")
.split(body(), flexible().accumulateInCollection(ArrayList.class))
.transform(simple("${body.toLowerCase()}"))
.to("seda:p")
.end()
.to("mock:q");
// Example 11 : Weaving producer by ID and removing node
from("direct:advice-weave-by-id-remove").routeId("example11")
.transform(simple("${body.toLowerCase()}")).id("node11");
// Example 12 : Weaving node by type
from("direct:advice-weave-by-type").routeId("example12")
.split(body(), flexible().accumulateInCollection(ArrayList.class))
.transform(simple("${body.toLowerCase()}"))
.to("mock:t")
.end()
.to("mock:u");
// Example 13 : Selecting specific node using select* method
from("direct:advice-weave-by-type-and-select").routeId("example13")
.split(body(), flexible().accumulateInCollection(ArrayList.class))
.transform(simple("${body.toUpperCase()}"))
.to("mock:v")
.end()
.to("mock:w");
// @formatter:on
}
}