Search in sources :

Example 31 with RestDefinition

use of org.apache.camel.model.rest.RestDefinition in project camel by apache.

the class XmlRestParseToDTest method assertOneRest.

protected RestDefinition assertOneRest(String uri) throws JAXBException {
    RestContainer context = assertParseRestAsJaxb(uri);
    RestDefinition rest = assertOneElement(context.getRests());
    return rest;
}
Also used : RestDefinition(org.apache.camel.model.rest.RestDefinition) RestContainer(org.apache.camel.model.rest.RestContainer)

Example 32 with RestDefinition

use of org.apache.camel.model.rest.RestDefinition in project camel by apache.

the class FromRestGetTest method testFromRestModel.

public void testFromRestModel() throws Exception {
    assertEquals(getExpectedNumberOfRoutes(), context.getRoutes().size());
    assertEquals(2, context.getRestDefinitions().size());
    RestDefinition rest = context.getRestDefinitions().get(0);
    assertNotNull(rest);
    assertEquals("/say/hello", rest.getPath());
    assertEquals(1, rest.getVerbs().size());
    ToDefinition to = assertIsInstanceOf(ToDefinition.class, rest.getVerbs().get(0).getTo());
    assertEquals("direct:hello", to.getUri());
    rest = context.getRestDefinitions().get(1);
    assertNotNull(rest);
    assertEquals("/say/bye", rest.getPath());
    assertEquals(2, rest.getVerbs().size());
    assertEquals("application/json", rest.getVerbs().get(0).getConsumes());
    assertEquals(2, rest.getVerbs().get(0).getParams().size());
    assertEquals(RestParamType.header, rest.getVerbs().get(0).getParams().get(0).getType());
    assertEquals(RestParamType.query, rest.getVerbs().get(0).getParams().get(1).getType());
    assertEquals("header param description1", rest.getVerbs().get(0).getParams().get(0).getDescription());
    assertEquals("header param description2", rest.getVerbs().get(0).getParams().get(1).getDescription());
    assertEquals("integer", rest.getVerbs().get(0).getParams().get(0).getDataType());
    assertEquals("string", rest.getVerbs().get(0).getParams().get(1).getDataType());
    assertEquals(Arrays.asList("1", "2", "3", "4"), rest.getVerbs().get(0).getParams().get(0).getAllowableValues());
    assertEquals(Arrays.asList("a", "b", "c", "d"), rest.getVerbs().get(0).getParams().get(1).getAllowableValues());
    assertEquals("1", rest.getVerbs().get(0).getParams().get(0).getDefaultValue());
    assertEquals("b", rest.getVerbs().get(0).getParams().get(1).getDefaultValue());
    assertEquals(null, rest.getVerbs().get(0).getParams().get(0).getCollectionFormat());
    assertEquals(CollectionFormat.multi, rest.getVerbs().get(0).getParams().get(1).getCollectionFormat());
    assertEquals("header_count", rest.getVerbs().get(0).getParams().get(0).getName());
    assertEquals("header_letter", rest.getVerbs().get(0).getParams().get(1).getName());
    assertEquals(Boolean.TRUE, rest.getVerbs().get(0).getParams().get(0).getRequired());
    assertEquals(Boolean.FALSE, rest.getVerbs().get(0).getParams().get(1).getRequired());
    assertEquals("300", rest.getVerbs().get(0).getResponseMsgs().get(0).getCode());
    assertEquals("rate", rest.getVerbs().get(0).getResponseMsgs().get(0).getHeaders().get(0).getName());
    assertEquals("Rate limit", rest.getVerbs().get(0).getResponseMsgs().get(0).getHeaders().get(0).getDescription());
    assertEquals("integer", rest.getVerbs().get(0).getResponseMsgs().get(0).getHeaders().get(0).getDataType());
    assertEquals("error", rest.getVerbs().get(0).getResponseMsgs().get(1).getCode());
    assertEquals("test msg", rest.getVerbs().get(0).getResponseMsgs().get(0).getMessage());
    assertEquals(Integer.class.getCanonicalName(), rest.getVerbs().get(0).getResponseMsgs().get(0).getResponseModel());
    to = assertIsInstanceOf(ToDefinition.class, rest.getVerbs().get(0).getTo());
    assertEquals("direct:bye", to.getUri());
    // the rest becomes routes and the input is a seda endpoint created by the DummyRestConsumerFactory
    getMockEndpoint("mock:update").expectedMessageCount(1);
    template.sendBody("seda:post-say-bye", "I was here");
    assertMockEndpointsSatisfied();
    String out = template.requestBody("seda:get-say-hello", "Me", String.class);
    assertEquals("Hello World", out);
    String out2 = template.requestBody("seda:get-say-bye", "Me", String.class);
    assertEquals("Bye World", out2);
}
Also used : ToDefinition(org.apache.camel.model.ToDefinition) RestDefinition(org.apache.camel.model.rest.RestDefinition)

Example 33 with RestDefinition

use of org.apache.camel.model.rest.RestDefinition in project camel by apache.

the class FromRestOptionsTest method testRestOptionsModel.

public void testRestOptionsModel() throws Exception {
    RestDefinition rest = context.getRestDefinitions().get(0);
    assertNotNull(rest);
    assertEquals("/say/hello", rest.getPath());
    assertEquals(1, rest.getVerbs().size());
    assertIsInstanceOf(OptionsVerbDefinition.class, rest.getVerbs().get(0));
    Exchange out = template.request("seda:options-say-hello", new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            exchange.getIn().setBody("Me");
        }
    });
    assertMockEndpointsSatisfied();
    assertNotNull(out);
    assertEquals(out.getOut().getHeader("Allow"), ALLOWS);
}
Also used : Exchange(org.apache.camel.Exchange) RestDefinition(org.apache.camel.model.rest.RestDefinition) Processor(org.apache.camel.Processor)

Example 34 with RestDefinition

use of org.apache.camel.model.rest.RestDefinition in project camel by apache.

the class FromRestUriPrefixTest method testFromRestModel.

public void testFromRestModel() throws Exception {
    assertEquals(getExpectedNumberOfRoutes(), context.getRoutes().size());
    assertEquals(1, context.getRestDefinitions().size());
    RestDefinition rest = context.getRestDefinitions().get(0);
    assertNotNull(rest);
    assertEquals("/say/", rest.getPath());
    assertEquals(3, rest.getVerbs().size());
    assertEquals("/hello", rest.getVerbs().get(0).getUri());
    assertEquals("/bye", rest.getVerbs().get(1).getUri());
    assertEquals("/hi", rest.getVerbs().get(2).getUri());
    ToDefinition to = assertIsInstanceOf(ToDefinition.class, rest.getVerbs().get(0).getTo());
    assertEquals("direct:hello", to.getUri());
    to = assertIsInstanceOf(ToDefinition.class, rest.getVerbs().get(1).getTo());
    assertEquals("direct:bye", to.getUri());
    // the rest becomes routes and the input is a seda endpoint created by the DummyRestConsumerFactory
    getMockEndpoint("mock:update").expectedMessageCount(1);
    template.sendBody("seda:post-say-hi", "I was here");
    assertMockEndpointsSatisfied();
    String out = template.requestBody("seda:get-say-hello", "Me", String.class);
    assertEquals("Hello World", out);
    String out2 = template.requestBody("seda:get-say-bye", "Me", String.class);
    assertEquals("Bye World", out2);
}
Also used : ToDefinition(org.apache.camel.model.ToDefinition) RestDefinition(org.apache.camel.model.rest.RestDefinition)

Example 35 with RestDefinition

use of org.apache.camel.model.rest.RestDefinition in project camel by apache.

the class FromRestApiTest method testFromRestModel.

public void testFromRestModel() throws Exception {
    assertEquals(1, context.getRestDefinitions().size());
    RestDefinition rest = context.getRestDefinitions().get(0);
    assertNotNull(rest);
    assertEquals("/say/hello", rest.getPath());
    assertEquals(1, rest.getVerbs().size());
    ToDefinition to = assertIsInstanceOf(ToDefinition.class, rest.getVerbs().get(0).getTo());
    assertEquals("log:hello", to.getUri());
    // should be 2 routes
    assertEquals(2, context.getRoutes().size());
}
Also used : ToDefinition(org.apache.camel.model.ToDefinition) RestDefinition(org.apache.camel.model.rest.RestDefinition)

Aggregations

RestDefinition (org.apache.camel.model.rest.RestDefinition)38 ToDefinition (org.apache.camel.model.ToDefinition)10 Test (org.junit.Test)10 RestsDefinition (org.apache.camel.model.rest.RestsDefinition)5 RouteDefinition (org.apache.camel.model.RouteDefinition)4 Swagger (io.swagger.models.Swagger)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Unmarshaller (javax.xml.bind.Unmarshaller)2 FromDefinition (org.apache.camel.model.FromDefinition)2 InterceptFromDefinition (org.apache.camel.model.InterceptFromDefinition)2 GetVerbDefinition (org.apache.camel.model.rest.GetVerbDefinition)2 RestContainer (org.apache.camel.model.rest.RestContainer)2 VerbDefinition (org.apache.camel.model.rest.VerbDefinition)2 RestConfiguration (org.apache.camel.spi.RestConfiguration)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1