Search in sources :

Example 1 with DefaultExchange

use of org.apache.camel.impl.DefaultExchange in project camel by apache.

the class CassandraAggregationRepositoryTest method testRemoveNotExists.

@Test
public void testRemoveNotExists() {
    if (!canTest()) {
        return;
    }
    // Given
    String key = "RemoveNotExists";
    Exchange exchange = new DefaultExchange(camelContext);
    assertFalse(exists(key));
    // When
    aggregationRepository.remove(camelContext, key, exchange);
    // Then
    assertFalse(exists(key));
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) Test(org.junit.Test) BaseCassandraTest(org.apache.camel.component.cassandra.BaseCassandraTest)

Example 2 with DefaultExchange

use of org.apache.camel.impl.DefaultExchange in project camel by apache.

the class CassandraAggregationRepositoryTest method testAdd.

@Test
public void testAdd() {
    // Given
    String key = "Add";
    assertFalse(exists(key));
    Exchange exchange = new DefaultExchange(camelContext);
    // When
    aggregationRepository.add(camelContext, key, exchange);
    // Then
    assertTrue(exists(key));
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) Test(org.junit.Test) BaseCassandraTest(org.apache.camel.component.cassandra.BaseCassandraTest)

Example 3 with DefaultExchange

use of org.apache.camel.impl.DefaultExchange in project camel by apache.

the class CxfHeaderHelperTest method testPropagateCamelToCxf.

@Test
public void testPropagateCamelToCxf() {
    Exchange exchange = new DefaultExchange(context);
    exchange.getIn().setHeader("soapAction", "urn:hello:world");
    exchange.getIn().setHeader("MyFruitHeader", "peach");
    exchange.getIn().setHeader("MyBrewHeader", Arrays.asList("cappuccino", "espresso"));
    exchange.getIn().setHeader(Exchange.CONTENT_TYPE, "text/xml");
    exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, "200");
    exchange.getIn().setHeader(Exchange.HTTP_URI, "/hello/cxf");
    exchange.getIn().setHeader(Exchange.HTTP_METHOD, "GET");
    exchange.getIn().setHeader(Exchange.HTTP_PATH, "/hello/cxf");
    Map<String, Object> requestContext = Collections.singletonMap("request", "true");
    Map<String, Object> responseContext = Collections.singletonMap("response", "true");
    exchange.getIn().setHeader(Client.REQUEST_CONTEXT, requestContext);
    exchange.getIn().setHeader(Client.RESPONSE_CONTEXT, responseContext);
    org.apache.cxf.message.Message cxfMessage = new org.apache.cxf.message.MessageImpl();
    CxfHeaderHelper.propagateCamelToCxf(new DefaultHeaderFilterStrategy(), exchange.getIn().getHeaders(), cxfMessage, exchange);
    assertEquals("text/xml", cxfMessage.get(Message.CONTENT_TYPE));
    assertEquals("200", cxfMessage.get(Message.RESPONSE_CODE));
    assertEquals(requestContext, cxfMessage.get(Client.REQUEST_CONTEXT));
    assertEquals(responseContext, cxfMessage.get(Client.RESPONSE_CONTEXT));
    assertNull(cxfMessage.get(Exchange.HTTP_RESPONSE_CODE));
    // check the protocol headers
    Map<String, List<String>> cxfHeaders = CastUtils.cast((Map<?, ?>) cxfMessage.get(org.apache.cxf.message.Message.PROTOCOL_HEADERS));
    assertNotNull(cxfHeaders);
    assertTrue(cxfHeaders.size() == 7);
    verifyHeader(cxfHeaders, "soapaction", "urn:hello:world");
    verifyHeader(cxfHeaders, "SoapAction", "urn:hello:world");
    verifyHeader(cxfHeaders, "SOAPAction", "urn:hello:world");
    verifyHeader(cxfHeaders, "myfruitheader", "peach");
    verifyHeader(cxfHeaders, "myFruitHeader", "peach");
    verifyHeader(cxfHeaders, "MYFRUITHEADER", "peach");
    verifyHeader(cxfHeaders, "MyBrewHeader", Arrays.asList("cappuccino", "espresso"));
    verifyHeader(cxfHeaders, Message.CONTENT_TYPE, "text/xml");
    verifyHeader(cxfHeaders, Message.REQUEST_URI, "/hello/cxf");
    verifyHeader(cxfHeaders, Message.HTTP_REQUEST_METHOD, "GET");
    verifyHeader(cxfHeaders, Message.PATH_INFO, "/hello/cxf");
    assertNull(cxfHeaders.get(Exchange.HTTP_RESPONSE_CODE));
    assertNull(cxfHeaders.get(Exchange.HTTP_URI));
    assertNull(cxfHeaders.get(Exchange.HTTP_METHOD));
    assertNull(cxfHeaders.get(Exchange.HTTP_PATH));
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) Message(org.apache.cxf.message.Message) DefaultHeaderFilterStrategy(org.apache.camel.impl.DefaultHeaderFilterStrategy) DefaultExchange(org.apache.camel.impl.DefaultExchange) Exchange(org.apache.camel.Exchange) List(java.util.List) Test(org.junit.Test)

Example 4 with DefaultExchange

use of org.apache.camel.impl.DefaultExchange in project camel by apache.

the class CxfHeaderHelperTest method testPropagateCxfToCamel.

@Test
public void testPropagateCxfToCamel() {
    Exchange exchange = new DefaultExchange(context);
    org.apache.cxf.message.Message cxfMessage = new org.apache.cxf.message.MessageImpl();
    Map<String, List<String>> cxfHeaders = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
    cxfHeaders.put("Content-Length", Arrays.asList("241"));
    cxfHeaders.put("soapAction", Arrays.asList("urn:hello:world"));
    cxfHeaders.put("myfruitheader", Arrays.asList("peach"));
    cxfHeaders.put("mybrewheader", Arrays.asList("cappuccino", "espresso"));
    cxfHeaders.put(Message.CONTENT_TYPE, Arrays.asList("text/xml"));
    cxfHeaders.put(Message.ENCODING, Arrays.asList("UTF-8"));
    // Ignored
    cxfHeaders.put(Message.RESPONSE_CODE, Arrays.asList("201"));
    cxfHeaders.put(Message.REQUEST_URI, Arrays.asList("/base/hello/cxf"));
    cxfHeaders.put(Message.HTTP_REQUEST_METHOD, Arrays.asList("GET"));
    cxfHeaders.put(Message.PATH_INFO, Arrays.asList("/base/hello/cxf"));
    cxfHeaders.put(Message.BASE_PATH, Arrays.asList("/base"));
    cxfMessage.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, cxfHeaders);
    cxfMessage.put(Message.RESPONSE_CODE, "200");
    Map<String, Object> requestContext = Collections.singletonMap("request", "true");
    Map<String, Object> responseContext = Collections.singletonMap("response", "true");
    cxfMessage.put(Client.REQUEST_CONTEXT, requestContext);
    cxfMessage.put(Client.RESPONSE_CONTEXT, responseContext);
    CxfHeaderHelper.propagateCxfToCamel(new DefaultHeaderFilterStrategy(), cxfMessage, exchange.getIn(), exchange);
    Map<String, Object> camelHeaders = exchange.getIn().getHeaders();
    assertEquals("urn:hello:world", camelHeaders.get("soapaction"));
    assertEquals("urn:hello:world", camelHeaders.get("SoapAction"));
    assertEquals("241", camelHeaders.get("content-length"));
    assertEquals("peach", camelHeaders.get("MyFruitHeader"));
    assertEquals(Arrays.asList("cappuccino", "espresso"), camelHeaders.get("MyBrewHeader"));
    assertEquals("text/xml; charset=UTF-8", camelHeaders.get(Exchange.CONTENT_TYPE));
    assertEquals("/base/hello/cxf", camelHeaders.get(Exchange.HTTP_URI));
    assertEquals("GET", camelHeaders.get(Exchange.HTTP_METHOD));
    assertEquals("/hello/cxf", camelHeaders.get(Exchange.HTTP_PATH));
    assertEquals("200", camelHeaders.get(Exchange.HTTP_RESPONSE_CODE));
    assertEquals(requestContext, camelHeaders.get(Client.REQUEST_CONTEXT));
    assertEquals(responseContext, camelHeaders.get(Client.RESPONSE_CONTEXT));
    assertNull(camelHeaders.get(Message.RESPONSE_CODE));
    assertNull(camelHeaders.get(Message.REQUEST_URI));
    assertNull(camelHeaders.get(Message.HTTP_REQUEST_METHOD));
    assertNull(camelHeaders.get(Message.PATH_INFO));
    assertNull(camelHeaders.get(Message.RESPONSE_CODE));
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) Message(org.apache.cxf.message.Message) DefaultHeaderFilterStrategy(org.apache.camel.impl.DefaultHeaderFilterStrategy) TreeMap(java.util.TreeMap) DefaultExchange(org.apache.camel.impl.DefaultExchange) Exchange(org.apache.camel.Exchange) List(java.util.List) Test(org.junit.Test)

Example 5 with DefaultExchange

use of org.apache.camel.impl.DefaultExchange in project camel by apache.

the class CxfMessageHelperTest method testGetCxfInMessage.

// setup the default context for testing
@Test
public void testGetCxfInMessage() throws Exception {
    HeaderFilterStrategy headerFilterStrategy = new CxfHeaderFilterStrategy();
    org.apache.camel.Exchange exchange = new DefaultExchange(context);
    // String
    exchange.getIn().setBody("hello world");
    org.apache.cxf.message.Message message = CxfMessageHelper.getCxfInMessage(headerFilterStrategy, exchange, false);
    // test message
    InputStream is = message.getContent(InputStream.class);
    assertNotNull("The input stream should not be null", is);
    assertEquals("Don't get the right message", toString(is), "hello world");
    // DOMSource
    URL request = this.getClass().getResource("RequestBody.xml");
    File requestFile = new File(request.toURI());
    FileInputStream inputStream = new FileInputStream(requestFile);
    XMLStreamReader xmlReader = StaxUtils.createXMLStreamReader(inputStream);
    DOMSource source = new DOMSource(StaxUtils.read(xmlReader));
    exchange.getIn().setBody(source);
    message = CxfMessageHelper.getCxfInMessage(headerFilterStrategy, exchange, false);
    is = message.getContent(InputStream.class);
    assertNotNull("The input stream should not be null", is);
    assertEquals("Don't get the right message", toString(is), REQUEST_STRING);
    // File
    exchange.getIn().setBody(requestFile);
    message = CxfMessageHelper.getCxfInMessage(headerFilterStrategy, exchange, false);
    is = message.getContent(InputStream.class);
    assertNotNull("The input stream should not be null", is);
    assertEquals("Don't get the right message", toString(is), REQUEST_STRING);
    // transport header's case insensitiveness
    // String
    exchange.getIn().setBody("hello world");
    exchange.getIn().setHeader("soapAction", "urn:hello:world");
    message = CxfMessageHelper.getCxfInMessage(headerFilterStrategy, exchange, false);
    // test message
    Map<String, List<String>> headers = CastUtils.cast((Map<?, ?>) message.get(Message.PROTOCOL_HEADERS));
    // verify there is no duplicate
    assertNotNull("The headers must be present", headers);
    assertTrue("There must be one header entry", headers.size() == 1);
    // verify the soapaction can be retrieved in case-insensitive ways
    verifyHeader(headers, "soapaction", "urn:hello:world");
    verifyHeader(headers, "SoapAction", "urn:hello:world");
    verifyHeader(headers, "SOAPAction", "urn:hello:world");
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) DOMSource(javax.xml.transform.dom.DOMSource) XMLStreamReader(javax.xml.stream.XMLStreamReader) CxfHeaderFilterStrategy(org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy) Message(org.apache.cxf.message.Message) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) CxfHeaderFilterStrategy(org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy) HeaderFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy) URL(java.net.URL) FileInputStream(java.io.FileInputStream) List(java.util.List) File(java.io.File) Test(org.junit.Test)

Aggregations

DefaultExchange (org.apache.camel.impl.DefaultExchange)473 Exchange (org.apache.camel.Exchange)381 Test (org.junit.Test)254 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)127 CamelContext (org.apache.camel.CamelContext)54 RegisteredDelivery (org.jsmpp.bean.RegisteredDelivery)39 HashMap (java.util.HashMap)33 Message (org.apache.camel.Message)32 Before (org.junit.Before)32 Tx (org.nhindirect.common.tx.model.Tx)31 ESMClass (org.jsmpp.bean.ESMClass)30 Processor (org.apache.camel.Processor)22 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)22 Expression (org.apache.camel.Expression)21 File (java.io.File)20 DefaultMessage (org.apache.camel.impl.DefaultMessage)20 ArrayList (java.util.ArrayList)18 ByteArrayInputStream (java.io.ByteArrayInputStream)17 URL (java.net.URL)16 Date (java.util.Date)16