Fixed Failing EchoTest (#782)
This commit is contained in:
parent
33a183b965
commit
c48a5c2c79
@ -17,6 +17,11 @@ public class EchoClient {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void stop() throws IOException {
|
||||||
|
client.close();
|
||||||
|
buffer = null;
|
||||||
|
}
|
||||||
|
|
||||||
private EchoClient() {
|
private EchoClient() {
|
||||||
try {
|
try {
|
||||||
client = SocketChannel.open(new InetSocketAddress("localhost", 5454));
|
client = SocketChannel.open(new InetSocketAddress("localhost", 5454));
|
||||||
@ -42,5 +47,4 @@ public class EchoClient {
|
|||||||
return response;
|
return response;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
package com.baeldung.java.nio.selector;
|
package com.baeldung.java.nio.selector;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.nio.channels.SelectionKey;
|
||||||
|
import java.nio.channels.Selector;
|
||||||
import java.nio.channels.ServerSocketChannel;
|
import java.nio.channels.ServerSocketChannel;
|
||||||
import java.nio.channels.SocketChannel;
|
import java.nio.channels.SocketChannel;
|
||||||
import java.nio.channels.Selector;
|
|
||||||
import java.nio.channels.SelectionKey;
|
|
||||||
import java.nio.ByteBuffer;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.net.InetSocketAddress;
|
import java.util.Set;
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class EchoServer {
|
public class EchoServer {
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args) throws IOException {
|
||||||
|
|
||||||
throws IOException {
|
|
||||||
Selector selector = Selector.open();
|
Selector selector = Selector.open();
|
||||||
ServerSocketChannel serverSocket = ServerSocketChannel.open();
|
ServerSocketChannel serverSocket = ServerSocketChannel.open();
|
||||||
serverSocket.bind(new InetSocketAddress("localhost", 5454));
|
serverSocket.bind(new InetSocketAddress("localhost", 5454));
|
||||||
@ -49,7 +47,6 @@ public class EchoServer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Process start() throws IOException, InterruptedException {
|
public static Process start() throws IOException, InterruptedException {
|
||||||
String javaHome = System.getProperty("java.home");
|
String javaHome = System.getProperty("java.home");
|
||||||
String javaBin = javaHome + File.separator + "bin" + File.separator + "java";
|
String javaBin = javaHome + File.separator + "bin" + File.separator + "java";
|
||||||
|
@ -4,19 +4,32 @@ import static org.junit.Assert.assertEquals;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class NioEchoIntegrationTest {
|
public class NioEchoIntegrationTest {
|
||||||
|
|
||||||
|
Process server;
|
||||||
|
EchoClient client;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setup() throws IOException, InterruptedException {
|
||||||
|
server = EchoServer.start();
|
||||||
|
client = EchoClient.start();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenClient_whenServerEchosMessage_thenCorrect() throws IOException, InterruptedException {
|
public void givenServerClient_whenServerEchosMessage_thenCorrect() {
|
||||||
Process process = EchoServer.start();
|
|
||||||
EchoClient client = EchoClient.start();
|
|
||||||
String resp1 = client.sendMessage("hello");
|
String resp1 = client.sendMessage("hello");
|
||||||
String resp2 = client.sendMessage("world");
|
String resp2 = client.sendMessage("world");
|
||||||
assertEquals("hello", resp1);
|
assertEquals("hello", resp1);
|
||||||
assertEquals("world", resp2);
|
assertEquals("world", resp2);
|
||||||
|
}
|
||||||
|
|
||||||
process.destroy();
|
@After
|
||||||
|
public void teardown() throws IOException {
|
||||||
|
server.destroy();
|
||||||
|
EchoClient.stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user