Skip to content

Commit

Permalink
Improve test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
andrei-punko committed Jan 16, 2024
1 parent b630cb4 commit 85b14b8
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import by.andd3dfx.templateapp.error.dto.ExceptionResponse;
import by.andd3dfx.templateapp.error.exception.NotFoundException;
import by.andd3dfx.templateapp.error.exception.UnauthorizedException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
Expand All @@ -17,14 +16,6 @@
@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {

/**
* 401.
*/
@ExceptionHandler(UnauthorizedException.class)
public ResponseEntity<ExceptionResponse> handleUnauthorizedException(UnauthorizedException ex) {
return buildResponseEntity(ex, HttpStatus.UNAUTHORIZED);
}

/**
* 404.
*/
Expand Down

This file was deleted.

17 changes: 17 additions & 0 deletions src/test/java/by/andd3dfx/templateapp/util/MemoryAppender.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package by.andd3dfx.templateapp.util;

import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.read.ListAppender;

import java.util.Collections;
import java.util.List;

/**
* Class for testing purposes to catch logs.
*/
public class MemoryAppender extends ListAppender<ILoggingEvent> {

public List<ILoggingEvent> getLoggedEvents() {
return Collections.unmodifiableList(this.list);
}
}
44 changes: 44 additions & 0 deletions src/test/java/by/andd3dfx/templateapp/util/StartupHelperTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package by.andd3dfx.templateapp.util;

import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.spi.ILoggingEvent;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.StandardEnvironment;

import java.util.List;

import static org.junit.jupiter.api.Assertions.assertEquals;

class StartupHelperTest {

private MemoryAppender memoryAppender;

@BeforeEach
public void clearLoggingStatements() {
memoryAppender = new MemoryAppender();
memoryAppender.setContext((LoggerContext) LoggerFactory.getILoggerFactory());
Logger logger = (Logger) LoggerFactory.getLogger(StartupHelper.class.getCanonicalName());
logger.addAppender(memoryAppender);
memoryAppender.start();
}

@Test
void logApplicationStartup() {
final StandardEnvironment env = new StandardEnvironment();

StartupHelper.logApplicationStartup(env);

List<ILoggingEvent> loggedEvents = memoryAppender.getLoggedEvents();
assertEquals(loggedEvents.size(), 1);
assertEquals(loggedEvents.get(0).getMessage(), "\n"
+ "----------------------------------------------------------\n"
+ "\tApplication '{}' is running! Access URLs:\n"
+ "\tLocal: \t\t{}://localhost:{}{}\n"
+ "\tExternal: \t{}://{}:{}{}\n"
+ "\tProfile(s): \t{}\n"
+ "----------------------------------------------------------");
}
}

0 comments on commit 85b14b8

Please sign in to comment.