package org.kie.server.ext.mina;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import org.junit.Ignore;
import org.junit.Test;
/**
* make sure your KIE Server has deployed container named 'demo' that is
* built from https://github.com/mswiderski/bpm-projects/tree/master/kie-server-demo
*/
@Ignore("Requires running server")
public class MinaKieServerTest {
private static final String MINA_HOST = System.getProperty("org.kie.server.drools-mina.ext.port", "localhost");
private static final int MINA_PORT = Integer.parseInt(System.getProperty("org.kie.server.drools-mina.ext.port", "9123"));
@Test
public void testSimpleKieServiceInteractionOverMina() throws Exception {
String containerId = "demo";
String jsonContent = "{\"lookup\":\"defaultKieSession\",\"commands\":[{\"fire-all-rules\":\"\"}]}";
Socket minaSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
minaSocket = new Socket(MINA_HOST, MINA_PORT);
out = new PrintWriter(minaSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(minaSocket.getInputStream()));
} catch (IOException e) {
return;
}
out.println(containerId + "|" + jsonContent);
// wait for the first line
System.out.println(in.readLine());
// and then continue as long as it's available
while (in.ready()) {
System.out.println(in.readLine());
}
out.close();
in.close();
minaSocket.close();
}
}