Java_2/src/test/java/de/joethei/hs/java2/tests/KlausurenServerTest.java

99 lines
3.2 KiB
Java

package de.joethei.hs.java2.tests;
import de.joethei.hs.java2.praktikum.praktikum4.KlausurenServer;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.*;
import java.net.Socket;
import static org.junit.Assert.assertEquals;
@RunWith(OrderedRunner.class)
public class KlausurenServerTest {
private static KlausurenServer server;
@BeforeClass
public static void before() throws InterruptedException {
server = new KlausurenServer(6767);
Thread.sleep(500L);
}
@Test
@Order(order = 1)
public void test() {
sendRequest("delall");
assertEquals("Hallo Welt", sendRequest("test"));
assertEquals("0", sendRequest("getall"));
}
@Test(timeout = 120L)
@Order(order = 2)
public void put() {
assertEquals("1 ", sendRequest("put max@maier 6, 5"));
assertEquals("1 5,6", sendRequest("put max@maier 7,8"));
assertEquals("0", sendRequest("put max@maier"));
}
@Test(timeout = 60L)
@Order(order = 3)
public void getall() {
assertEquals("1 ", sendRequest("put max@baum 5, 6"));
assertEquals("1 [5,6],[7,8]", sendRequest("getall"));
}
@Test(timeout = 500L)
@Order(order = 4)
public void get() {
assertEquals("1 7,8", sendRequest("get max@maier"));
assertEquals("0", sendRequest("get max@müller"));
assertEquals("0", sendRequest("get"));
assertEquals("0", sendRequest("get max@müller 42"));
}
@Test(timeout = 500L)
@Order(order = 5)
public void del() {
assertEquals("0", sendRequest("del max@maier baum"));
assertEquals("1 7,8", sendRequest("del max@maier"));
assertEquals("0", sendRequest("del max@maier"));
assertEquals("0", sendRequest("get max@maier"));
}
@Test(timeout = 2000L)
@Order(order = 6)
public void saved() throws InterruptedException {
assertEquals("1 ", sendRequest("put max@maier 5, 6, 7, 8"));
assertEquals("1", sendRequest("stop"));
//Thread.sleep(1000L);
KlausurenServer.main(new String[]{"6768"});
Thread.sleep(100L);
assertEquals("1 [5,6,7,8]", sendRequest("getall", 6768));
assertEquals("1 5,6,7,8", sendRequest("del max@maier", 6768));
assertEquals("1 5,6", sendRequest("del max@baum", 6768));
assertEquals("1", sendRequest("stop", 6768));
}
private String sendRequest(String command, int port) {
try {
Socket socket = new Socket("localhost", port);
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(command);
writer.newLine();
writer.flush();
String result = reader.readLine();
socket.close();
return result;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private String sendRequest(String command) {
return sendRequest(command, 6767);
}
}