1 package org.umu.cops.stack;
3 import org.junit.Assert;
4 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory;
7 import java.io.IOException;
8 import java.net.ServerSocket;
9 import java.net.Socket;
10 import java.util.ArrayList;
11 import java.util.List;
14 * Server used to test client/server socket communications.
16 public class TestCOPSServer extends Thread {
18 private final static Logger logger = LoggerFactory.getLogger(TestCOPSServer.class);
19 private final ServerSocket serverSocket;
20 final List<COPSMsg> copsMsgs = new ArrayList<>();
22 public TestCOPSServer(final int port) throws IOException {
23 serverSocket = new ServerSocket(port);
24 Assert.assertTrue(serverSocket.isBound());
27 public void close() throws IOException {
34 final Socket socket = serverSocket.accept();
35 final COPSMsg copsMsg = COPSTransceiver.receiveMsg(socket);
36 logger.info("Read value = " + copsMsg);
37 copsMsgs.add(copsMsg);
39 } catch (Exception e) {
40 logger.error("Error processing message", e);