CreateStudentOrStaffRepositoriesJob.java

1
package edu.ucsb.cs156.frontiers.jobs;
2
3
import edu.ucsb.cs156.frontiers.entities.Course;
4
import edu.ucsb.cs156.frontiers.entities.CourseStaff;
5
import edu.ucsb.cs156.frontiers.entities.RosterStudent;
6
import edu.ucsb.cs156.frontiers.enums.OrgStatus;
7
import edu.ucsb.cs156.frontiers.enums.RepositoryCreationOption;
8
import edu.ucsb.cs156.frontiers.enums.RepositoryPermissions;
9
import edu.ucsb.cs156.frontiers.services.RepositoryService;
10
import edu.ucsb.cs156.frontiers.services.jobs.JobContext;
11
import edu.ucsb.cs156.frontiers.services.jobs.JobContextConsumer;
12
import lombok.Builder;
13
14
@Builder
15
public class CreateStudentOrStaffRepositoriesJob implements JobContextConsumer {
16
  Course course;
17
  RepositoryService repositoryService;
18
  String repositoryPrefix;
19
  Boolean isPrivate;
20
  RepositoryPermissions permissions;
21
22
  @Builder.Default RepositoryCreationOption creationOption = RepositoryCreationOption.STUDENTS_ONLY;
23
24
  @Override
25
  public void accept(JobContext ctx) throws Exception {
26
    ctx.log("Processing...");
27
28 2 1. accept : negated conditional → KILLED
2. accept : negated conditional → KILLED
    if (creationOption == RepositoryCreationOption.STUDENTS_ONLY
29
        || creationOption == RepositoryCreationOption.STUDENTS_AND_STAFF) {
30
      for (RosterStudent student : course.getRosterStudents()) {
31 1 1. accept : negated conditional → KILLED
        if (student.getGithubLogin() != null
32 1 1. accept : negated conditional → KILLED
            && (student.getOrgStatus() == OrgStatus.MEMBER
33 1 1. accept : negated conditional → KILLED
                || student.getOrgStatus() == OrgStatus.OWNER)) {
34 1 1. accept : removed call to edu/ucsb/cs156/frontiers/services/RepositoryService::createStudentRepository → KILLED
          repositoryService.createStudentRepository(
35
              course, student, repositoryPrefix, isPrivate, permissions);
36
        }
37
      }
38
    }
39
40 2 1. accept : negated conditional → KILLED
2. accept : negated conditional → KILLED
    if (creationOption == RepositoryCreationOption.STAFF_ONLY
41
        || creationOption == RepositoryCreationOption.STUDENTS_AND_STAFF) {
42
      for (CourseStaff staff : course.getCourseStaff()) {
43 1 1. accept : negated conditional → KILLED
        if (staff.getGithubLogin() != null
44 1 1. accept : negated conditional → KILLED
            && (staff.getOrgStatus() == OrgStatus.MEMBER
45 1 1. accept : negated conditional → KILLED
                || staff.getOrgStatus() == OrgStatus.OWNER)) {
46 1 1. accept : removed call to edu/ucsb/cs156/frontiers/services/RepositoryService::createStaffRepository → KILLED
          repositoryService.createStaffRepository(
47
              course, staff, repositoryPrefix, isPrivate, permissions);
48
        }
49
      }
50
    }
51
52
    ctx.log("Done");
53
  }
54
}

Mutations

28

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:testCreateStudentRepository_owner()]
negated conditional → KILLED

2.2
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:expectDoesntCallForStaffNoLogin()]
negated conditional → KILLED

31

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:testCreateStudentRepository_owner()]
negated conditional → KILLED

32

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:expectDoesntCallForNotMember()]
negated conditional → KILLED

33

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:expectDoesntCallForNotMember()]
negated conditional → KILLED

34

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:testCreateStudentRepository_owner()]
removed call to edu/ucsb/cs156/frontiers/services/RepositoryService::createStudentRepository → KILLED

40

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:expectDoesntCallForNoLogin()]
negated conditional → KILLED

2.2
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:expectDoesntCallForNoLogin()]
negated conditional → KILLED

43

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:expectDoesntCallForStaffNoLogin()]
negated conditional → KILLED

44

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:testCreateStaffRepository_staffOnly()]
negated conditional → KILLED

45

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:testCreateStaffRepository_owner()]
negated conditional → KILLED

46

1.1
Location : accept
Killed by : edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest.[engine:junit-jupiter]/[class:edu.ucsb.cs156.frontiers.jobs.CreateStudentOrStaffRepositoriesJobTest]/[method:testCreateStaffRepository_owner()]
removed call to edu/ucsb/cs156/frontiers/services/RepositoryService::createStaffRepository → KILLED

Active mutators

Tests examined


Report generated by PIT 1.17.0