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>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</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>
|
</project>
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
@@ -9,8 +12,11 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
public class ChatServer implements Runnable {
|
public class ChatServer implements Runnable {
|
||||||
private int port = 9000;
|
private int port = 9000;
|
||||||
|
private ServerSocket serverSocket;
|
||||||
private ArrayList<Socket> clientSockets = new ArrayList<Socket>();
|
private ArrayList<Socket> clientSockets = new ArrayList<Socket>();
|
||||||
|
|
||||||
|
private static final Logger logger = LogManager.getLogger();
|
||||||
|
|
||||||
public ChatServer() {
|
public ChatServer() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,6 +24,10 @@ public class ChatServer implements Runnable {
|
|||||||
this.port = port;
|
this.port = port;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ServerSocket getServerSocket() {
|
||||||
|
return serverSocket;
|
||||||
|
}
|
||||||
|
|
||||||
private User getOrCreateUser(String username) {
|
private User getOrCreateUser(String username) {
|
||||||
return new User(username);
|
return new User(username);
|
||||||
}
|
}
|
||||||
@@ -36,7 +46,6 @@ public class ChatServer implements Runnable {
|
|||||||
|
|
||||||
private void handleClient(Socket socket) {
|
private void handleClient(Socket socket) {
|
||||||
try {
|
try {
|
||||||
clientSockets.add(socket);
|
|
||||||
|
|
||||||
String msg;
|
String msg;
|
||||||
User user = null;
|
User user = null;
|
||||||
@@ -54,6 +63,8 @@ public class ChatServer implements Runnable {
|
|||||||
if (msg.toLowerCase().startsWith("/login")) {
|
if (msg.toLowerCase().startsWith("/login")) {
|
||||||
String username = msg.substring(6).strip();
|
String username = msg.substring(6).strip();
|
||||||
user = getOrCreateUser(username);
|
user = getOrCreateUser(username);
|
||||||
|
clientSockets.add(socket);
|
||||||
|
logger.info("Client sie połączył");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -68,7 +79,8 @@ public class ChatServer implements Runnable {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
ServerSocket serverSocket = new ServerSocket(port);
|
serverSocket = new ServerSocket(port);
|
||||||
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
Socket clientSocket = serverSocket.accept();
|
Socket clientSocket = serverSocket.accept();
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ public class Main {
|
|||||||
ChatServer chatServer = new ChatServer(9000);
|
ChatServer chatServer = new ChatServer(9000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Thread serverThread = new Thread(chatServer);
|
Thread serverThread = new Thread(chatServer);
|
||||||
serverThread.start();
|
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