Skip to content

Commit

Permalink
Development: Refactor programming tests (#9506)
Browse files Browse the repository at this point in the history
  • Loading branch information
ole-ve authored Oct 22, 2024
1 parent 456b7c9 commit bdf7396
Show file tree
Hide file tree
Showing 81 changed files with 1,000 additions and 1,732 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package de.tum.cit.aet.artemis.atlas.architecture;

import java.util.Set;

import de.tum.cit.aet.artemis.atlas.AbstractAtlasIntegrationTest;
import de.tum.cit.aet.artemis.shared.architecture.module.AbstractModuleTestArchitectureTest;

class AtlasTestArchitectureTest extends AbstractModuleTestArchitectureTest<AbstractAtlasIntegrationTest> {
class AtlasTestArchitectureTest extends AbstractModuleTestArchitectureTest {

@Override
public String getModulePackage() {
return ARTEMIS_PACKAGE + ".atlas";
}

@Override
protected Class<AbstractAtlasIntegrationTest> getAbstractModuleIntegrationTestClass() {
return AbstractAtlasIntegrationTest.class;
protected Set<Class<?>> getAbstractModuleIntegrationTestClasses() {
return Set.of(AbstractAtlasIntegrationTest.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ void testUpdateLearningPathProgress() throws Exception {
* This only tests if the end point successfully retrieves the health status. The correctness of the health status is tested in LearningPathServiceTest.
*
* @throws Exception the request failed
* @see de.tum.cit.aet.artemis.service.LearningPathServiceTest
* @see de.tum.cit.aet.artemis.atlas.service.LearningPathServiceTest
*/
@Test
@WithMockUser(username = INSTRUCTOR_OF_COURSE, roles = "INSTRUCTOR")
Expand Down Expand Up @@ -468,7 +468,7 @@ void testGetLearningPathNgxForOtherStudent(LearningPathResource.NgxRequestType t
* This only tests if the end point successfully retrieves the graph representation. The correctness of the response is tested in LearningPathServiceTest.
*
* @throws Exception the request failed
* @see de.tum.cit.aet.artemis.service.LearningPathServiceTest
* @see de.tum.cit.aet.artemis.atlas.service.LearningPathServiceTest
*/
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@EnumSource(LearningPathResource.NgxRequestType.class)
Expand All @@ -484,7 +484,7 @@ void testGetLearningPathNgxAsStudent(LearningPathResource.NgxRequestType type) t
* This only tests if the end point successfully retrieves the graph representation. The correctness of the response is tested in LearningPathServiceTest.
*
* @throws Exception the request failed
* @see de.tum.cit.aet.artemis.service.LearningPathServiceTest
* @see de.tum.cit.aet.artemis.atlas.service.LearningPathServiceTest
*/
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@EnumSource(LearningPathResource.NgxRequestType.class)
Expand All @@ -500,7 +500,7 @@ void testGetLearningPathNgxAsTutor(LearningPathResource.NgxRequestType type) thr
* This only tests if the end point successfully retrieves the graph representation. The correctness of the response is tested in LearningPathServiceTest.
*
* @throws Exception the request failed
* @see de.tum.cit.aet.artemis.service.LearningPathServiceTest
* @see de.tum.cit.aet.artemis.atlas.service.LearningPathServiceTest
*/
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@EnumSource(LearningPathResource.NgxRequestType.class)
Expand All @@ -516,7 +516,7 @@ void testGetLearningPathNgxAsEditor(LearningPathResource.NgxRequestType type) th
* This only tests if the end point successfully retrieves the graph representation. The correctness of the response is tested in LearningPathServiceTest.
*
* @throws Exception the request failed
* @see de.tum.cit.aet.artemis.service.LearningPathServiceTest
* @see de.tum.cit.aet.artemis.atlas.service.LearningPathServiceTest
*/
@ParameterizedTest(name = "{displayName} [{index}] {argumentsWithNames}")
@EnumSource(LearningPathResource.NgxRequestType.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import de.tum.cit.aet.artemis.modeling.util.ModelingExerciseUtilService;
import de.tum.cit.aet.artemis.shared.base.AbstractSpringIntegrationIndependentTest;

public class AbstractFileUploadIntegrationTest extends AbstractSpringIntegrationIndependentTest {
public abstract class AbstractFileUploadIntegrationTest extends AbstractSpringIntegrationIndependentTest {

// Repositories
@Autowired
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package de.tum.cit.aet.artemis.fileupload.architecture;

import java.util.Set;

import de.tum.cit.aet.artemis.fileupload.AbstractFileUploadIntegrationTest;
import de.tum.cit.aet.artemis.shared.architecture.module.AbstractModuleTestArchitectureTest;

class FileUploadTestArchitectureTest extends AbstractModuleTestArchitectureTest<AbstractFileUploadIntegrationTest> {
class FileUploadTestArchitectureTest extends AbstractModuleTestArchitectureTest {

@Override
public String getModulePackage() {
return ARTEMIS_PACKAGE + ".fileupload";
}

@Override
protected Class<AbstractFileUploadIntegrationTest> getAbstractModuleIntegrationTestClass() {
return AbstractFileUploadIntegrationTest.class;
protected Set<Class<?>> getAbstractModuleIntegrationTestClasses() {
return Set.of(AbstractFileUploadIntegrationTest.class);
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package de.tum.cit.aet.artemis.lti.architecture;

import java.util.Set;

import de.tum.cit.aet.artemis.lti.AbstractLtiIntegrationTest;
import de.tum.cit.aet.artemis.shared.architecture.module.AbstractModuleTestArchitectureTest;

class LtiTestArchitectureTest extends AbstractModuleTestArchitectureTest<AbstractLtiIntegrationTest> {
class LtiTestArchitectureTest extends AbstractModuleTestArchitectureTest {

@Override
public String getModulePackage() {
return ARTEMIS_PACKAGE + ".lti";
}

@Override
protected Class<AbstractLtiIntegrationTest> getAbstractModuleIntegrationTestClass() {
return AbstractLtiIntegrationTest.class;
protected Set<Class<?>> getAbstractModuleIntegrationTestClasses() {
return Set.of(AbstractLtiIntegrationTest.class);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package de.tum.cit.aet.artemis.programming;

import java.net.URL;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;

import de.tum.cit.aet.artemis.core.service.messaging.InstanceMessageReceiveService;
import de.tum.cit.aet.artemis.core.user.util.UserUtilService;
import de.tum.cit.aet.artemis.exam.repository.ExamRepository;
import de.tum.cit.aet.artemis.exam.test_repository.StudentExamTestRepository;
import de.tum.cit.aet.artemis.exam.util.ExamUtilService;
import de.tum.cit.aet.artemis.exercise.participation.util.ParticipationUtilService;
import de.tum.cit.aet.artemis.exercise.test_repository.ParticipationTestRepository;
import de.tum.cit.aet.artemis.exercise.util.ExerciseUtilService;
import de.tum.cit.aet.artemis.programming.repository.BuildLogStatisticsEntryRepository;
import de.tum.cit.aet.artemis.programming.repository.BuildPlanRepository;
import de.tum.cit.aet.artemis.programming.repository.ProgrammingExerciseBuildConfigRepository;
import de.tum.cit.aet.artemis.programming.service.gitlabci.GitLabCIResultService;
import de.tum.cit.aet.artemis.programming.test_repository.ProgrammingExerciseTestCaseTestRepository;
import de.tum.cit.aet.artemis.programming.test_repository.ProgrammingExerciseTestRepository;
import de.tum.cit.aet.artemis.programming.util.ProgrammingExerciseUtilService;
import de.tum.cit.aet.artemis.shared.base.AbstractSpringIntegrationGitlabCIGitlabSamlTest;

public abstract class AbstractProgrammingIntegrationGitlabCIGitlabSamlTest extends AbstractSpringIntegrationGitlabCIGitlabSamlTest {

// Config
@Value("${artemis.version-control.url}")
protected URL gitlabServerUrl;

// Repositories
@Autowired
protected BuildLogStatisticsEntryRepository buildLogStatisticsEntryRepository;

@Autowired
protected BuildPlanRepository buildPlanRepository;

@Autowired
protected ParticipationTestRepository participationRepository;

@Autowired
protected ProgrammingExerciseBuildConfigRepository programmingExerciseBuildConfigRepository;

@Autowired
protected ProgrammingExerciseTestCaseTestRepository programmingExerciseTestCaseRepository;

@Autowired
protected ProgrammingExerciseTestRepository programmingExerciseRepository;

// External Repositories
@Autowired
protected ExamRepository examRepository;

@Autowired
protected StudentExamTestRepository studentExamRepository;

// Services
@Autowired
protected GitLabCIResultService gitLabCIResultService;

// External Services
@Autowired
protected InstanceMessageReceiveService instanceMessageReceiveService;

// Util Services
@Autowired
protected ProgrammingExerciseUtilService programmingExerciseUtilService;

// External Util Services
@Autowired
protected ExamUtilService examUtilService;

@Autowired
protected ExerciseUtilService exerciseUtilService;

@Autowired
protected ParticipationUtilService participationUtilService;

@Autowired
protected UserUtilService userUtilService;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
package de.tum.cit.aet.artemis.programming;

import org.springframework.beans.factory.annotation.Autowired;

import de.tum.cit.aet.artemis.assessment.repository.ComplaintRepository;
import de.tum.cit.aet.artemis.assessment.util.ComplaintUtilService;
import de.tum.cit.aet.artemis.core.test_repository.UserTestRepository;
import de.tum.cit.aet.artemis.core.user.util.UserUtilService;
import de.tum.cit.aet.artemis.core.util.CourseUtilService;
import de.tum.cit.aet.artemis.exam.repository.ExamRepository;
import de.tum.cit.aet.artemis.exam.util.ExamUtilService;
import de.tum.cit.aet.artemis.exercise.participation.util.ParticipationUtilService;
import de.tum.cit.aet.artemis.exercise.repository.ExerciseTestRepository;
import de.tum.cit.aet.artemis.exercise.test_repository.ParticipationTestRepository;
import de.tum.cit.aet.artemis.exercise.test_repository.StudentParticipationTestRepository;
import de.tum.cit.aet.artemis.exercise.test_repository.SubmissionTestRepository;
import de.tum.cit.aet.artemis.exercise.util.ExerciseUtilService;
import de.tum.cit.aet.artemis.programming.repository.AuxiliaryRepositoryRepository;
import de.tum.cit.aet.artemis.programming.repository.ProgrammingExerciseBuildConfigRepository;
import de.tum.cit.aet.artemis.programming.repository.SolutionProgrammingExerciseParticipationRepository;
import de.tum.cit.aet.artemis.programming.repository.StaticCodeAnalysisCategoryRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.CodeHintRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.CoverageFileReportRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.CoverageReportRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.ExerciseHintActivationRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.ExerciseHintRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.ProgrammingExerciseSolutionEntryRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.ProgrammingExerciseTaskRepository;
import de.tum.cit.aet.artemis.programming.repository.hestia.TestwiseCoverageReportEntryRepository;
import de.tum.cit.aet.artemis.programming.repository.settings.IdeRepository;
import de.tum.cit.aet.artemis.programming.repository.settings.UserIdeMappingRepository;
import de.tum.cit.aet.artemis.programming.service.AuxiliaryRepositoryService;
import de.tum.cit.aet.artemis.programming.service.BuildLogEntryService;
import de.tum.cit.aet.artemis.programming.service.ProgrammingExerciseFeedbackCreationService;
import de.tum.cit.aet.artemis.programming.service.ProgrammingExerciseGradingService;
import de.tum.cit.aet.artemis.programming.service.ProgrammingExerciseRepositoryService;
import de.tum.cit.aet.artemis.programming.service.hestia.CodeHintService;
import de.tum.cit.aet.artemis.programming.service.hestia.ExerciseHintService;
import de.tum.cit.aet.artemis.programming.service.hestia.ProgrammingExerciseTaskService;
import de.tum.cit.aet.artemis.programming.test_repository.ProgrammingExerciseStudentParticipationTestRepository;
import de.tum.cit.aet.artemis.programming.test_repository.ProgrammingExerciseTestCaseTestRepository;
import de.tum.cit.aet.artemis.programming.test_repository.ProgrammingExerciseTestRepository;
import de.tum.cit.aet.artemis.programming.test_repository.ProgrammingSubmissionTestRepository;
import de.tum.cit.aet.artemis.programming.util.GitUtilService;
import de.tum.cit.aet.artemis.programming.util.ProgrammingExerciseUtilService;
import de.tum.cit.aet.artemis.shared.base.AbstractSpringIntegrationIndependentTest;

public abstract class AbstractProgrammingIntegrationIndependentTest extends AbstractSpringIntegrationIndependentTest {

// Repositories
@Autowired
protected AuxiliaryRepositoryRepository auxiliaryRepositoryRepository;

@Autowired
protected CodeHintRepository codeHintRepository;

@Autowired
protected CoverageFileReportRepository coverageFileReportRepository;

@Autowired
protected CoverageReportRepository coverageReportRepository;

@Autowired
protected ExerciseHintActivationRepository exerciseHintActivationRepository;

@Autowired
protected ExerciseHintRepository exerciseHintRepository;

@Autowired
protected IdeRepository ideRepository;

@Autowired
protected ProgrammingExerciseBuildConfigRepository programmingExerciseBuildConfigRepository;

@Autowired
protected ProgrammingExerciseSolutionEntryRepository programmingExerciseSolutionEntryRepository;

@Autowired
protected ProgrammingExerciseStudentParticipationTestRepository programmingExerciseStudentParticipationRepository;

@Autowired
protected ProgrammingExerciseTaskRepository taskRepository;

@Autowired
protected ProgrammingExerciseTestCaseTestRepository testCaseRepository;

@Autowired
protected ProgrammingExerciseTestRepository programmingExerciseRepository;

@Autowired
protected ProgrammingSubmissionTestRepository programmingSubmissionRepository;

@Autowired
protected SolutionProgrammingExerciseParticipationRepository solutionEntryRepository;

@Autowired
protected StaticCodeAnalysisCategoryRepository staticCodeAnalysisCategoryRepository;

@Autowired
protected TestwiseCoverageReportEntryRepository testwiseCoverageReportEntryRepository;

@Autowired
protected UserIdeMappingRepository userIdeMappingRepository;

// External Repositories
@Autowired
protected ComplaintRepository complaintRepo;

@Autowired
protected ExamRepository examRepository;

@Autowired
protected ExerciseTestRepository exerciseRepository;

@Autowired
protected ParticipationTestRepository participationRepository;

@Autowired
protected StudentParticipationTestRepository studentParticipationRepository;

@Autowired
protected SubmissionTestRepository submissionRepository;

@Autowired
protected UserTestRepository userRepository;

// Services
@Autowired
protected AuxiliaryRepositoryService auxiliaryRepositoryService;

@Autowired
protected BuildLogEntryService buildLogEntryService;

@Autowired
protected CodeHintService codeHintService;

@Autowired
protected ExerciseHintService exerciseHintService;

@Autowired
protected GitUtilService gitUtilService;

@Autowired
protected ProgrammingExerciseFeedbackCreationService feedbackCreationService;

@Autowired
protected ProgrammingExerciseGradingService gradingService;

@Autowired
protected ProgrammingExerciseRepositoryService programmingExerciseRepositoryService;

@Autowired
protected ProgrammingExerciseTaskService programmingExerciseTaskService;

// External Services

// Util Services
@Autowired
protected ProgrammingExerciseIntegrationTestService programmingExerciseIntegrationTestService;

@Autowired
protected ProgrammingExerciseUtilService programmingExerciseUtilService;

// External Util Services
@Autowired
protected ComplaintUtilService complaintUtilService;

@Autowired
protected CourseUtilService courseUtilService;

@Autowired
protected ExamUtilService examUtilService;

@Autowired
protected ExerciseUtilService exerciseUtilService;

@Autowired
protected ParticipationUtilService participationUtilService;

@Autowired
protected UserUtilService userUtilService;

}
Loading

0 comments on commit bdf7396

Please sign in to comment.