@Test public void testSendMessageAndRespectCloseHeaderInResponse() throws Exception { String message = // - "MSH|^~\\&|||||200803051508||ADT^A31|2|P|2.5\r" + // - "EVN||200803051509\r" + // - "PID|||ZZZZZZ83M64Z148R^^^SSN^SSN^^20070103\r"; // - HohRawClientSimple client = new HohRawClientSimple("localhost", myPort, "/theUri"); client.setAuthorizationCallback(new SingleCredentialClientCallback("hello", "hapiworld")); myServerSocketThread.setCloseNormallyWithHeaderAfterEachMessage(); /* * Send one message */ ourLog.info("*** Send message #1"); IReceivable<String> response = client.sendAndReceive(new RawSendable(message)); assertEquals(message, myServerSocketThread.getMessage()); assertEquals(myServerSocketThread.getReply().encode(), response.getMessage()); assertEquals(EncodingStyle.ER7.getContentType(), myServerSocketThread.getContentType()); assertEquals(EncodingStyle.ER7, myServerSocketThread.getEncoding()); assertEquals(1, myServerSocketThread.getConnectionCount()); /* * Send a second message */ ourLog.info("*** Send message #2"); response = client.sendAndReceive(new RawSendable(message)); assertEquals(message, myServerSocketThread.getMessage()); assertEquals(myServerSocketThread.getReply().encode(), response.getMessage()); assertEquals(EncodingStyle.ER7.getContentType(), myServerSocketThread.getContentType()); assertEquals(EncodingStyle.ER7, myServerSocketThread.getEncoding()); assertEquals(2, myServerSocketThread.getConnectionCount()); Thread.sleep(1000); /* * Send a third message */ ourLog.info("*** Send message #3"); response = client.sendAndReceive(new RawSendable(message)); assertEquals(message, myServerSocketThread.getMessage()); assertEquals(myServerSocketThread.getReply().encode(), response.getMessage()); assertEquals(EncodingStyle.ER7.getContentType(), myServerSocketThread.getContentType()); assertEquals(EncodingStyle.ER7, myServerSocketThread.getEncoding()); assertEquals(3, myServerSocketThread.getConnectionCount()); }