UCSBCurriculumController.java

1
package edu.ucsb.cs156.courses.controllers;
2
3
import edu.ucsb.cs156.courses.repositories.UserRepository;
4
import edu.ucsb.cs156.courses.services.UCSBCurriculumService;
5
import io.swagger.v3.oas.annotations.Operation;
6
import io.swagger.v3.oas.annotations.tags.Tag;
7
import lombok.extern.slf4j.Slf4j;
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.http.ResponseEntity;
10
import org.springframework.web.bind.annotation.GetMapping;
11
import org.springframework.web.bind.annotation.RequestMapping;
12
import org.springframework.web.bind.annotation.RequestParam;
13
import org.springframework.web.bind.annotation.RestController;
14
15
@Tag(name = "UCSBCurriculumController")
16
@RestController
17
@RequestMapping("/api/public")
18
@Slf4j
19
public class UCSBCurriculumController extends ApiController {
20
21
  @Autowired UserRepository userRepository;
22
  @Autowired UCSBCurriculumService ucsbCurriculumService;
23
24
  @Operation(summary = "Get course data for a given quarter, department, and level")
25
  @GetMapping(value = "/basicsearch", produces = "application/json")
26
  public ResponseEntity<String> basicsearch(
27
      @RequestParam String qtr, @RequestParam String dept, @RequestParam String level)
28
      throws Exception {
29
30
    String body = ucsbCurriculumService.getJSON(dept, qtr, level);
31
32 1 1. basicsearch : replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::basicsearch → KILLED
    return ResponseEntity.ok().body(body);
33
  }
34
35
  // Backend for final exam info, similar to the above operation:
36
  @Operation(summary = "Get final exam information for a given quarter and course enrollment code")
37
  @GetMapping(value = "/finalsInfo", produces = "application/json")
38
  public ResponseEntity<String> finalsInfo(
39
      @RequestParam String quarterYYYYQ, @RequestParam String enrollCd)
40
      throws Exception { // Looks for quarter and code
41
42
    String body = ucsbCurriculumService.getFinalsInfo(quarterYYYYQ, enrollCd);
43
44 1 1. finalsInfo : replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::finalsInfo → KILLED
    return ResponseEntity.ok().body(body);
45
  }
46
47
  // Backend for General Education Requirement Information, similar to above operation
48
49
  // This function returns a hard coded list of General Education Areas
50
  @Operation(summary = "Get static list of General Education Areas")
51
  @GetMapping(value = "/staticGeneralEducationInfo", produces = "application/json")
52
  public ResponseEntity<String[]> staticGeneralEducationInfo() throws Exception {
53
    String[] body = ucsbCurriculumService.getStaticGeInfo();
54 1 1. staticGeneralEducationInfo : replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::staticGeneralEducationInfo → KILLED
    return ResponseEntity.ok().body(body);
55
  }
56
57
  // This returns courses entirely (Need to fix)
58
  @Operation(summary = "Get list of General Education Areas")
59
  @GetMapping(value = "/generalEducationInfo", produces = "application/json")
60
  public ResponseEntity<String> generalEducationInfo() throws Exception {
61
    String body = ucsbCurriculumService.getGeInfo();
62 1 1. generalEducationInfo : replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::generalEducationInfo → KILLED
    return ResponseEntity.ok().body(body);
63
  }
64
}

Mutations

32

1.1
Location : basicsearch
Killed by : edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests]/[method:test_search()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::basicsearch → KILLED

44

1.1
Location : finalsInfo
Killed by : edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests]/[method:test_finalsInfo()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::finalsInfo → KILLED

54

1.1
Location : staticGeneralEducationInfo
Killed by : edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests]/[method:test_StaticGeInfo()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::staticGeneralEducationInfo → KILLED

62

1.1
Location : generalEducationInfo
Killed by : edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests.[engine:junit-jupiter]/[class:edu.ucsb.cs156.courses.controllers.UCSBCurriculumControllerTests]/[method:test_GeInfo()]
replaced return value with null for edu/ucsb/cs156/courses/controllers/UCSBCurriculumController::generalEducationInfo → KILLED

Active mutators

Tests examined


Report generated by PIT 1.17.0