ApiController.java

1
package edu.ucsb.cs156.happiercows.controllers;
2
3
import edu.ucsb.cs156.happiercows.errors.EntityNotFoundException;
4
import edu.ucsb.cs156.happiercows.errors.CommonsHiddenException;
5
import edu.ucsb.cs156.happiercows.errors.NoCowsException;
6
import edu.ucsb.cs156.happiercows.errors.NotEnoughMoneyException;
7
import org.springframework.beans.factory.annotation.Autowired;
8
9
import edu.ucsb.cs156.happiercows.models.CurrentUser;
10
import edu.ucsb.cs156.happiercows.services.CurrentUserService;
11
import org.springframework.http.HttpStatus;
12
import org.springframework.web.bind.annotation.ExceptionHandler;
13
import org.springframework.web.bind.annotation.ResponseStatus;
14
15
import java.util.Map;
16
17
public abstract class ApiController {
18
  @Autowired
19
  private CurrentUserService currentUserService;
20
21
  protected CurrentUser getCurrentUser() {
22 1 1. getCurrentUser : replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::getCurrentUser → KILLED
    return currentUserService.getCurrentUser();
23
  }
24
  
25
  protected Object genericMessage(String message) {
26 1 1. genericMessage : replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::genericMessage → KILLED
    return Map.of("message", message);
27
  }
28
29
  @ExceptionHandler({ EntityNotFoundException.class })
30
  @ResponseStatus(HttpStatus.NOT_FOUND)
31
  public Object handleGenericException(Throwable e) {
32 1 1. handleGenericException : replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::handleGenericException → KILLED
    return Map.of(
33
      "type", e.getClass().getSimpleName(),
34
      "message", e.getMessage()
35
    );
36
  }
37
38
  @ExceptionHandler({ NoCowsException.class, NotEnoughMoneyException.class})
39
  @ResponseStatus(HttpStatus.BAD_REQUEST)
40
  public Object handleBadRequest(Throwable e) {
41 1 1. handleBadRequest : replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::handleBadRequest → KILLED
    return Map.of(
42
      "type", e.getClass().getSimpleName(),
43
      "message", e.getMessage()
44
    );
45
  }
46
47
  @ExceptionHandler({ CommonsHiddenException.class })
48
  @ResponseStatus(HttpStatus.FORBIDDEN)
49
  public Object handleForbidden(Throwable e) {
50 1 1. handleForbidden : replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::handleForbidden → KILLED
    return Map.of(
51
      "type", e.getClass().getSimpleName(),
52
      "message", e.getMessage()
53
    );
54
  }
55
}

Mutations

22

1.1
Location : getCurrentUser
Killed by : edu.ucsb.cs156.happiercows.controllers.UserCommonsControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.happiercows.controllers.UserCommonsControllerTests]/[method:test_sellCow_for_user_not_in_commons()]
replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::getCurrentUser → KILLED

26

1.1
Location : genericMessage
Killed by : edu.ucsb.cs156.happiercows.controllers.CourseControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.happiercows.controllers.CourseControllerTests]/[method:admin_can_delete_existing_course()]
replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::genericMessage → KILLED

32

1.1
Location : handleGenericException
Killed by : edu.ucsb.cs156.happiercows.controllers.CommonsControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.happiercows.controllers.CommonsControllerTests]/[method:deleteCommons_test_admin_nonexists()]
replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::handleGenericException → KILLED

41

1.1
Location : handleBadRequest
Killed by : edu.ucsb.cs156.happiercows.controllers.UserCommonsControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.happiercows.controllers.UserCommonsControllerTests]/[method:test_BuyCow_not_enough_money()]
replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::handleBadRequest → KILLED

50

1.1
Location : handleForbidden
Killed by : edu.ucsb.cs156.happiercows.controllers.CommonsControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.happiercows.controllers.CommonsControllerTests]/[method:joinHiddenCommonsThrowsHiddenCommonsException()]
replaced return value with null for edu/ucsb/cs156/happiercows/controllers/ApiController::handleForbidden → KILLED

Active mutators

Tests examined


Report generated by PIT 1.17.0