diff --git a/pom.xml b/pom.xml
index 5edfb19..bc3e524 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,4 +14,25 @@
UTF-8
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.25.3
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.25.3
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 6.0.2
+ test
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/ChatServer.java b/src/main/java/ChatServer.java
index 4ae0e2e..ab0336a 100644
--- a/src/main/java/ChatServer.java
+++ b/src/main/java/ChatServer.java
@@ -1,3 +1,6 @@
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -9,8 +12,11 @@ import java.util.ArrayList;
public class ChatServer implements Runnable {
private int port = 9000;
+ private ServerSocket serverSocket;
private ArrayList clientSockets = new ArrayList();
+ private static final Logger logger = LogManager.getLogger();
+
public ChatServer() {
}
@@ -18,6 +24,10 @@ public class ChatServer implements Runnable {
this.port = port;
}
+ public ServerSocket getServerSocket() {
+ return serverSocket;
+ }
+
private User getOrCreateUser(String username) {
return new User(username);
}
@@ -36,7 +46,6 @@ public class ChatServer implements Runnable {
private void handleClient(Socket socket) {
try {
- clientSockets.add(socket);
String msg;
User user = null;
@@ -54,6 +63,8 @@ public class ChatServer implements Runnable {
if (msg.toLowerCase().startsWith("/login")) {
String username = msg.substring(6).strip();
user = getOrCreateUser(username);
+ clientSockets.add(socket);
+ logger.info("Client sie połączył");
}
}
}
@@ -68,7 +79,8 @@ public class ChatServer implements Runnable {
@Override
public void run() {
try {
- ServerSocket serverSocket = new ServerSocket(port);
+ serverSocket = new ServerSocket(port);
+
while (true) {
Socket clientSocket = serverSocket.accept();
diff --git a/src/main/java/Main.java b/src/main/java/Main.java
index 6115892..5e19101 100644
--- a/src/main/java/Main.java
+++ b/src/main/java/Main.java
@@ -3,6 +3,7 @@ public class Main {
ChatServer chatServer = new ChatServer(9000);
+
Thread serverThread = new Thread(chatServer);
serverThread.start();
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..cca3818
--- /dev/null
+++ b/src/main/resources/log4j2.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/java/ChatServerTest.java b/src/test/java/ChatServerTest.java
new file mode 100644
index 0000000..47e5979
--- /dev/null
+++ b/src/test/java/ChatServerTest.java
@@ -0,0 +1,19 @@
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+public class ChatServerTest {
+
+ @Test
+ void checkIfServerUp() throws Exception {
+ ChatServer chatServer = new ChatServer(0);
+
+ Thread serverThread = new Thread(chatServer);
+ serverThread.start();
+
+ Thread.sleep(200);
+
+ assertNotNull(chatServer.getServerSocket());
+ assertTrue(chatServer.getServerSocket().isBound());
+ }
+}