package net.sourceforge.cruisecontrol.publishers;
import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class SocketPublisherTest extends TestCase {
public void testSocketPublisherSendsSuccess() throws Exception {
final MockSocket mockSocket = new MockSocket();
SocketFactory factory = new SocketFactory() {
public Socket createSocket(String server, int port) {
return mockSocket;
}
};
SocketPublisher socketPublisher = new SocketPublisher(factory);
socketPublisher.setSocketServer("localhost");
socketPublisher.setPort("1555");
socketPublisher.writeToSocket("Success");
assertEquals("Success", mockSocket.toString());
}
private static class MockSocket extends Socket {
private final ByteArrayOutputStream out = new ByteArrayOutputStream();
public OutputStream getOutputStream() throws IOException {
return out;
}
public synchronized void close() throws IOException {
}
public String toString() {
return new String(out.toByteArray());
}
}
}