Coverage Summary for Class: GlobalExceptionHandler (dev.karlkadak.backend.exception)

Class Class, % Method, % Line, %
GlobalExceptionHandler 100% (1/1) 100% (7/7) 100% (7/7)


 package dev.karlkadak.backend.exception;
 
 import dev.karlkadak.backend.dto.ErrorResponse;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 
 /**
  * Allows for handling exceptions globally and returning specific HTTP response codes
  */
 @ControllerAdvice
 public class GlobalExceptionHandler {
 
     @ExceptionHandler(CityAlreadyBeingTrackedException.class)
     public ResponseEntity<ErrorResponse> handleCityAlreadyBeingTrackedException(CityAlreadyBeingTrackedException ex) {
         return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(ex.getMessage()));
     }
 
     @ExceptionHandler(CityAlreadyNotBeingTrackedException.class)
     public ResponseEntity<ErrorResponse> handleCityAlreadyNotBeingTrackedException(
             CityAlreadyNotBeingTrackedException ex) {
         return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(ex.getMessage()));
     }
 
     @ExceptionHandler(CityNotFoundException.class)
     public ResponseEntity<ErrorResponse> handleCityNotFoundException(CityNotFoundException ex) {
         return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new ErrorResponse(ex.getMessage()));
     }
 
     @ExceptionHandler(FailedCityDataImportException.class)
     public ResponseEntity<ErrorResponse> handleFailedCityDataImportException(FailedCityDataImportException ex) {
         return ResponseEntity.status(HttpStatus.FAILED_DEPENDENCY).body(new ErrorResponse(ex.getMessage()));
     }
 
     @ExceptionHandler(MalformedCityNameException.class)
     public ResponseEntity<ErrorResponse> handleMalformedCityNameException(MalformedCityNameException ex) {
         return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ErrorResponse(ex.getMessage()));
     }
 
     @ExceptionHandler(WeatherDataMissingException.class)
     public ResponseEntity<ErrorResponse> handleWeatherDataMissingException(WeatherDataMissingException ex) {
         return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new ErrorResponse(ex.getMessage()));
     }
 }