From 5431a7cfb786bec46554891ced5df40c9037c593 Mon Sep 17 00:00:00 2001 From: maciejrusek Date: Tue, 7 Apr 2026 21:05:38 +0200 Subject: [PATCH] Added simple logging, first test --- pom.xml | 21 +++++++++++++++++++++ src/main/java/ChatServer.java | 16 ++++++++++++++-- src/main/java/Main.java | 1 + src/main/resources/log4j2.xml | 17 +++++++++++++++++ src/test/java/ChatServerTest.java | 19 +++++++++++++++++++ 5 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/log4j2.xml create mode 100644 src/test/java/ChatServerTest.java 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()); + } +}