SyncCourseWithPlRepoJobFactory.java

1
package edu.ucsb.cs.scaffold.jobs;
2
3
import edu.ucsb.cs.scaffold.entity.Course;
4
import edu.ucsb.cs.scaffold.repository.PatCredentialRepository;
5
import edu.ucsb.cs.scaffold.repository.PlAssessmentQuestionRepository;
6
import edu.ucsb.cs.scaffold.repository.PlAssessmentRepository;
7
import edu.ucsb.cs.scaffold.repository.PlAssessmentSetRepository;
8
import edu.ucsb.cs.scaffold.repository.PlInstanceRepository;
9
import edu.ucsb.cs.scaffold.repository.PlQuestionRepository;
10
import edu.ucsb.cs.scaffold.repository.PlRepoRepository;
11
import edu.ucsb.cs.scaffold.repository.PlScaffoldAssessmentRepository;
12
import edu.ucsb.cs.scaffold.services.GithubService;
13
import edu.ucsb.cs.scaffold.services.PatEncryptionService;
14
import edu.ucsb.cs.scaffold.services.PrairieLearnService;
15
import org.springframework.beans.factory.annotation.Autowired;
16
import org.springframework.stereotype.Component;
17
18
/**
19
 * Assembles a {@link SyncCourseWithPlRepoJob} with its many repository/service dependencies, so the
20
 * two launch sites (the JobsController endpoint and the automatic launch after a successful PUT
21
 * /api/courses/updatePLInstance) don't each duplicate the wiring.
22
 */
23
@Component
24
public class SyncCourseWithPlRepoJobFactory {
25
26
  @Autowired private PatCredentialRepository patCredentialRepository;
27
28
  @Autowired private PatEncryptionService patEncryptionService;
29
30
  @Autowired private PlRepoRepository plRepoRepository;
31
32
  @Autowired private PlInstanceRepository plInstanceRepository;
33
34
  @Autowired private PlQuestionRepository plQuestionRepository;
35
36
  @Autowired private PlScaffoldAssessmentRepository plScaffoldAssessmentRepository;
37
38
  @Autowired private PlAssessmentRepository plAssessmentRepository;
39
40
  @Autowired private PlAssessmentQuestionRepository plAssessmentQuestionRepository;
41
42
  @Autowired private PlAssessmentSetRepository plAssessmentSetRepository;
43
44
  @Autowired private GithubService githubService;
45
46
  @Autowired private PrairieLearnService prairieLearnService;
47
48
  public SyncCourseWithPlRepoJob create(long userId, Course course) {
49 1 1. create : replaced return value with null for edu/ucsb/cs/scaffold/jobs/SyncCourseWithPlRepoJobFactory::create → KILLED
    return SyncCourseWithPlRepoJob.builder()
50
        .userId(userId)
51
        .course(course)
52
        .patCredentialRepository(patCredentialRepository)
53
        .patEncryptionService(patEncryptionService)
54
        .plRepoRepository(plRepoRepository)
55
        .plInstanceRepository(plInstanceRepository)
56
        .plQuestionRepository(plQuestionRepository)
57
        .plScaffoldAssessmentRepository(plScaffoldAssessmentRepository)
58
        .plAssessmentRepository(plAssessmentRepository)
59
        .plAssessmentQuestionRepository(plAssessmentQuestionRepository)
60
        .plAssessmentSetRepository(plAssessmentSetRepository)
61
        .githubService(githubService)
62
        .prairieLearnService(prairieLearnService)
63
        .build();
64
  }
65
}

Mutations

49

1.1
Location : create
Killed by : edu.ucsb.cs.scaffold.jobs.SyncCourseWithPlRepoJobFactoryTests.[engine:junit-jupiter]/[class:edu.ucsb.cs.scaffold.jobs.SyncCourseWithPlRepoJobFactoryTests]/[method:create_wires_every_dependency_and_the_user_and_course_into_the_job()]
replaced return value with null for edu/ucsb/cs/scaffold/jobs/SyncCourseWithPlRepoJobFactory::create → KILLED

Active mutators

Tests examined


Report generated by PIT 1.17.0