1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.core.camel;
17
18 import org.apache.camel.Exchange;
19 import org.apache.camel.ExchangePattern;
20 import org.apache.camel.ProducerTemplate;
21 import org.junit.runner.RunWith;
22 import org.springframework.beans.factory.annotation.Autowired;
23 import org.springframework.test.context.ContextConfiguration;
24 import org.springframework.test.context.TestExecutionListeners;
25 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
26 import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
27
28 import java.util.ArrayList;
29 import java.util.List;
30 import java.util.stream.Collectors;
31
32
33
34
35 @RunWith(SpringJUnit4ClassRunner.class)
36 @ContextConfiguration(locations = {"/context-camel-test.xml"})
37 @TestExecutionListeners({DependencyInjectionTestExecutionListener.class})
38 public abstract class TestSupport {
39
40 @Autowired
41 protected ProducerTemplate producerTemplate;
42
43 protected List<String> sendBodies(String endpointUri, ExchangePattern pattern, String body, int repeats) {
44 ArrayList<String> result = new ArrayList<>(repeats);
45 for (int i = 0; i < repeats; i++) {
46 result.add((String)producerTemplate.sendBody(endpointUri, pattern, body));
47 }
48 return result;
49 }
50
51 protected static List<String> bodies(List<Exchange> exchanges) {
52 return exchanges.stream()
53 .map(exchange -> (String) exchange.getIn().getBody())
54 .collect(Collectors.toCollection(ArrayList::new));
55 }
56
57 }