use of org.apache.camel.component.milo.server.MiloServerComponent in project wildfly-camel by wildfly-extras.
the class MiloIntegrationTest method testClientWrite.
@Test
public void testClientWrite() throws Exception {
CamelContext camelctx = new DefaultCamelContext();
camelctx.addRoutes(new RouteBuilder() {
public void configure() throws Exception {
from(MILO_SERVER_ITEM_1).to(MOCK_TEST_1);
from(MILO_SERVER_ITEM_2).to(MOCK_TEST_2);
from(DIRECT_START_1).to(resolve(MILO_CLIENT_ITEM_C1_1));
from(DIRECT_START_2).to(resolve(MILO_CLIENT_ITEM_C1_2));
from(DIRECT_START_3).to(resolve(MILO_CLIENT_ITEM_C2_1));
from(DIRECT_START_4).to(resolve(MILO_CLIENT_ITEM_C2_2));
}
});
OpcUaServerConfig serverConfig = OpcUaServerConfig.builder().setEndpointAddresses(Arrays.asList(new String[] { "localhost" })).setCertificateValidator(new CertificateValidator() {
@Override
public void validate(X509Certificate certificate) throws UaException {
}
@Override
public void verifyTrustChain(List<X509Certificate> certificateChain) throws UaException {
}
}).setCertificateManager(new DefaultCertificateManager()).setUserTokenPolicies(singletonList(USER_TOKEN_POLICY_ANONYMOUS)).setIdentityValidator(AnonymousIdentityValidator.INSTANCE).build();
MiloServerComponent server = new MiloServerComponent(serverConfig);
server.setBindAddresses("localhost");
server.setBindPort(serverPort);
server.setEnableAnonymousAuthentication(true);
camelctx.addComponent("milo-server", server);
camelctx.start();
try {
MockEndpoint test1Endpoint = camelctx.getEndpoint(MOCK_TEST_1, MockEndpoint.class);
MockEndpoint test2Endpoint = camelctx.getEndpoint(MOCK_TEST_2, MockEndpoint.class);
// item 1
test1Endpoint.setExpectedCount(2);
testBody(test1Endpoint.message(0), assertGoodValue("Foo1"));
testBody(test1Endpoint.message(1), assertGoodValue("Foo3"));
// item 1
test2Endpoint.setExpectedCount(2);
testBody(test2Endpoint.message(0), assertGoodValue("Foo2"));
testBody(test2Endpoint.message(1), assertGoodValue("Foo4"));
ProducerTemplate producer1 = camelctx.createProducerTemplate();
producer1.setDefaultEndpointUri(DIRECT_START_1);
ProducerTemplate producer2 = camelctx.createProducerTemplate();
producer2.setDefaultEndpointUri(DIRECT_START_2);
ProducerTemplate producer3 = camelctx.createProducerTemplate();
producer3.setDefaultEndpointUri(DIRECT_START_3);
ProducerTemplate producer4 = camelctx.createProducerTemplate();
producer4.setDefaultEndpointUri(DIRECT_START_4);
// send
sendValue(producer1, new Variant("Foo1"));
sendValue(producer2, new Variant("Foo2"));
sendValue(producer3, new Variant("Foo3"));
sendValue(producer4, new Variant("Foo4"));
MockEndpoint.assertIsSatisfied(camelctx);
} finally {
camelctx.stop();
}
}
Aggregations