Open suresh-devaki opened 2 years ago
Error and test case and POM flle details are as below. Please suggest solution for resolving this error.
Error details:
[ERROR] symbol: method camel() [ERROR] location: class com.consol.citrus.HelloGreetingIT [ERROR] /C:/suresh Devaki/D Drive/Suresh/Devaki/Telia/Misc/Tasks/Citus and Apache camel support/Source code-Citrus/citrus-sample-camel-context1/citrus-sample-camel-context1/src/test/java/com/consol/citrus/HelloGreetingIT.java:[25,39] cannot find symbol [ERROR] symbol: method direct(java.lang.String) [ERROR] location: class com.consol.citrus.HelloGreetingIT [ERROR] /C:/suresh Devaki/D Drive/Suresh/Devaki/Telia/Misc/Tasks/Citus and Apache camel support/Source code-Citrus/citrus-sample-camel-con
EndpointConfig.java
/*
package com.consol.citrus;
import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource;
@Configuration @PropertySource("citrus.properties") public class EndpointConfig {
@Bean public CamelContext camelContext() throws Exception { CamelContext context = new DefaultCamelContext(); context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("direct:hello") .routeId("helloRoute") .to("log:com.consol.citrus.camel?level=INFO") .to("seda:greetings"); } }); return context; }
HelloGreetingIT.java package com.consol.citrus;
import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; //import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.Test;
import com.consol.citrus.annotations.CitrusTest; import com.consol.citrus.camel.message.CamelMessageProcessor; import com.consol.citrus.camel.message.CamelRouteProcessor; import com.consol.citrus.message.MessageType; import com.consol.citrus.testng.spring.TestNGCitrusSpringSupport;
@SuppressWarnings("deprecation") public class HelloGreetingIT extends TestNGCitrusSpringSupport {
//Endpoint DSL support @CitrusTest(name = "HelloGreeting_Ok_IT") public void helloGreeting_Ok_1_Test() { send(camel().endpoint(direct("hello")::getUri)) .message() .body("Hello from Citrus!"); receive(camel().endpoint(seda("greetings")::getUri)) .message() .type(MessageType.PLAINTEXT) .body("Hello from Citrus!"); } @Autowired private CamelContext camelContext; //Camel processor support @Test @CitrusTest public void shouldProcessMessages() { CamelMessageProcessor.Builder toUppercase = camel(camelContext) .process(exchange -> exchange .getMessage() .setBody(exchange.getMessage().getBody(String.class).toUpperCase())); $(send(camel().endpoint(seda("test")::getUri)) .message() .body("Citrus rocks!") .process(toUppercase) ); $(receive(camel().endpoint(seda("test")::getUri)) .process(toUppercase) .message() .type(MessageType.PLAINTEXT) .body("CITRUS ROCKS!")); } //support to apply transformations @Test @CitrusTest public void shouldTransformMessageReceived() { $(send(camel().endpoint(seda("hello")::getUri)) .message() .body("{\"message\": \"Citrus rocks!\"}") ); $(receive(camel().endpoint(seda("hello")::getUri)) .transform( camel() .camelContext(camelContext) .transform() .jsonpath("$.message")) .message() .type(MessageType.PLAINTEXT) .body("Citrus rocks!")); } //message processor - able to apply a complete route logic as part of the test action. @Test @CitrusTest public void shouldProcessRoute() { CamelRouteProcessor.Builder beforeReceive = camel(camelContext).route(route -> route.choice() .when(jsonpath("$.greeting[?(@.language == 'EN')]")) .setBody(constant("Hello!")) .when(jsonpath("$.greeting[?(@.language == 'DE')]")) .setBody(constant("Hallo!")) .otherwise() .setBody(constant("Hi!"))); $(send(camel().endpoint(seda("greetings")::getUri)) .message() .body("{" + "\"greeting\": {" + "\"language\": \"EN\"" + "}" + "}") ); $(receive("camel:" + camel().endpoints().seda("greetings").getUri()) .process(beforeReceive) .message() .type(MessageType.PLAINTEXT) .body("Hello!")); } //Camel data format support @org.testng.annotations.Test @CitrusTest public void shouldApplyDataFormat() { when(send(camel().endpoint(seda("data")::getUri)) .message() .body("Citrus rocks!") .transform(camel(camelContext) .marshal() .base64()) ); then(receive("camel:" + camel().endpoints().seda("data").getUri()) .transform(camel(camelContext) .unmarshal() .base64()) .transform(camel(camelContext) .convertBodyTo(String.class)) .message() .type(MessageType.PLAINTEXT) .body("Citrus rocks!")); } @Test @CitrusTest public void createCamelRoute() { $(camel().camelContext(camelContext) .route() .create(new RouteBuilder() { @Override public void configure() throws Exception { from("direct:messages") .routeId("message-tokenizer") .split().tokenize(" ") .to("seda:words"); } })); }
pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
Error and test case and POM flle details are as below. Please suggest solution for resolving this error.
Error details:
[ERROR] symbol: method camel() [ERROR] location: class com.consol.citrus.HelloGreetingIT [ERROR] /C:/suresh Devaki/D Drive/Suresh/Devaki/Telia/Misc/Tasks/Citus and Apache camel support/Source code-Citrus/citrus-sample-camel-context1/citrus-sample-camel-context1/src/test/java/com/consol/citrus/HelloGreetingIT.java:[25,39] cannot find symbol [ERROR] symbol: method direct(java.lang.String) [ERROR] location: class com.consol.citrus.HelloGreetingIT [ERROR] /C:/suresh Devaki/D Drive/Suresh/Devaki/Telia/Misc/Tasks/Citus and Apache camel support/Source code-Citrus/citrus-sample-camel-con
EndpointConfig.java
/*
package com.consol.citrus;
import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource;
@Configuration @PropertySource("citrus.properties") public class EndpointConfig {
}
HelloGreetingIT.java package com.consol.citrus;
import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; //import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.testng.annotations.Test;
import com.consol.citrus.annotations.CitrusTest; import com.consol.citrus.camel.message.CamelMessageProcessor; import com.consol.citrus.camel.message.CamelRouteProcessor; import com.consol.citrus.message.MessageType; import com.consol.citrus.testng.spring.TestNGCitrusSpringSupport;
@SuppressWarnings("deprecation") public class HelloGreetingIT extends TestNGCitrusSpringSupport {
}
pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
citrus-application.properties citrus.spring.java.config=com.consol.citrus.EndpointConfig