@Test
public void testCallCommand() throws Exception {
client.startAsync();
client.awaitRunning(5, TimeUnit.SECONDS);
CallMessage call = new CallMessage("blockchain.address.get_history",
Arrays.asList("mrx4EmF6zHXky3zDoeJ1K7KvYcuNn8Mmc4"));
final ListenableFuture<ResultMessage> futureReply = client.call(call);
Assert.assertEquals(call.toString(), new String(serverInput.toByteArray()));
String resultJson = "{\"id\": 0, \"result\": [{" +
"\"tx_hash\": \"3aa2a5a9825ca767e092bcc19487aa13969eeb217fd0fba8492543bbb8c30954\", " +
"\"height\": 260144}]}";
final ResultMessage serverResult = ResultMessage.fromJson(resultJson);
serverResult.setId(call.getId());
serverOutput.write(serverResult.toString().getBytes());
ResultMessage result = futureReply.get(3, TimeUnit.SECONDS);
Assert.assertEquals(serverResult.toString(), result.toString());
serverOutput.close();
}