Added simple logging, first test
This commit is contained in:
21
pom.xml
21
pom.xml
@@ -14,4 +14,25 @@
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>2.25.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>2.25.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<version>6.0.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -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<Socket> clientSockets = new ArrayList<Socket>();
|
||||
|
||||
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();
|
||||
|
||||
@@ -3,6 +3,7 @@ public class Main {
|
||||
ChatServer chatServer = new ChatServer(9000);
|
||||
|
||||
|
||||
|
||||
Thread serverThread = new Thread(chatServer);
|
||||
serverThread.start();
|
||||
|
||||
|
||||
17
src/main/resources/log4j2.xml
Normal file
17
src/main/resources/log4j2.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration status="WARN">
|
||||
<Appenders>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
|
||||
</Console>
|
||||
<File name="File" fileName="all.log" immediateFlush="true" append="true" >
|
||||
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
|
||||
</File>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Root level="info">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="File"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
19
src/test/java/ChatServerTest.java
Normal file
19
src/test/java/ChatServerTest.java
Normal file
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user