i have develop a route like below with test public class ShutdownPC extends RouteBuilder { @Override public void configure() throws Exception { from("mqtt:UpsStatus?host=tcp://1.1.1.1:1883 &userName=x&password=x&subscribeTopicNames=ups_status") .unmarshal() .protobuf("com.my$UpsStatus") .choice() .when().simple("${body.getLowBattery()} == true") .log("Shutdown PC") .to("exec:shutdown?args=-h now") .otherwise() .log("Dont Shutdown PC") .end(); } } This work fine but i write test for it which is failing and always connect to real broker rather then local broker which i mentioned for testing and how i can improve this test
public class ShutdownPCTest extends CamelTestSupport { @Override public void setUp() throws Exception { super.setUp(); this.context.addRoutes(new ShutdownPC()); } @Test public void testShutdownPC() throws Exception { UPSStatus upsStatus = UPSStatus.newBuilder().setLowBattery(true).build(); MQTT mqtt = new MQTT(); mqtt.setHost("tcp://127.0.0.1:1883"); BlockingConnection publisherConnection = mqtt.blockingConnection(); publisherConnection.connect(); publisherConnection.publish("ups_status", upsStatus.toByteArray(), QoS.AT_LEAST_ONCE, false); } @After public void tearDown() throws Exception { super.tearDown(); } }