package org.stokesdrift;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.net.URL;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class ServerTest {
boolean failed = false;
Server server;
@Before
public void before() throws Exception {
URL configRuFile = this.getClass().getClassLoader().getResource("examples/config.ru");
File file = new File(configRuFile.toURI());
String directoryName = file.getParent();
String[] args = new String[] { "-r", directoryName };
server = new Server(args);
}
@Test
public void testStartup() throws Exception {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
server.start();
} catch (Exception e) {
e.printStackTrace();
failed = true;
}
}
});
t.start();
Thread.sleep(4000);
URL serverUrl = new URL("http://127.0.0.1:8888/");
BufferedReader in = new BufferedReader(new InputStreamReader(serverUrl.openStream()));
StringBuilder sb = new StringBuilder();
String inputLine;
while ((inputLine = in.readLine()) != null)
sb.append(inputLine);
in.close();
Assert.assertEquals("hello world",sb.toString());
}
@After
public void after() throws Exception {
if (server != null) server.stop();
}
}