Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development: Add check for public methods in controllers that are not endpoints #9729

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Merge branch 'develop' into chore/improve-resource-arch-tests

62d1255
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Draft

Development: Add check for public methods in controllers that are not endpoints #9729

Merge branch 'develop' into chore/improve-resource-arch-tests
62d1255
Select commit
Loading
Failed to load commit list.
GitHub Actions / Java Architecture Tests failed Nov 11, 2024 in 0s

563 passed, 2 failed and 1 skipped

Tests failed

Report Passed Failed Skipped Time
build/test-results/test/TEST-de.tum.cit.aet.artemis.assessment.architecture.AssessmentRepositoryArchitectureTest.xml 16✅ 867ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.assessment.architecture.AssessmentResourceArchitectureTest.xml 8✅ 230ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.assessment.architecture.AssessmentServiceArchitectureTest.xml 5✅ 207ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.athena.architecture.AthenaRepositoryArchitectureTest.xml 16✅ 167ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.athena.architecture.AthenaResourceArchitectureTest.xml 8✅ 149ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.athena.architecture.AthenaServiceArchitectureTest.xml 5✅ 82ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasRepositoryArchitectureTest.xml 16✅ 266ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasResourceArchitectureTest.xml 8✅ 145ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasServiceArchitectureTest.xml 5✅ 102ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasTestArchitectureTest.xml 2✅ 12ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentRepositoryArchitectureTest.xml 16✅ 140ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentResourceArchitectureTest.xml 7✅ 1❌ 133ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentServiceArchitectureTest.xml 5✅ 46ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.architecture.CommunicationRepositoryArchitectureTest.xml 16✅ 250ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.architecture.CommunicationResourceArchitectureTest.xml 8✅ 152ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.architecture.CommunicationServiceArchitectureTest.xml 5✅ 114ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.notification.NotificationPlaceholderArchitectureTest.xml 2✅ 28ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreRepositoryArchitectureTest.xml 16✅ 257ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreResourceArchitectureTest.xml 7✅ 1❌ 176ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreServiceArchitectureTest.xml 5✅ 222ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.core.authorization.AuthorizationArchitectureTest.xml 8✅ 62ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.exam.architecture.ExamRepositoryArchitectureTest.xml 16✅ 143ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.exam.architecture.ExamResourceArchitectureTest.xml 8✅ 111ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.exam.architecture.ExamServiceArchitectureTest.xml 5✅ 76ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.exercise.architecture.ExerciseRepositoryArchitectureTest.xml 16✅ 147ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.exercise.architecture.ExerciseResourceArchitectureTest.xml 8✅ 130ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.exercise.architecture.ExerciseServiceArchitectureTest.xml 5✅ 95ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadRepositoryArchitectureTest.xml 16✅ 142ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadResourceArchitectureTest.xml 8✅ 130ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadServiceArchitectureTest.xml 5✅ 36ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadTestArchitectureTest.xml 2✅ 7ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.iris.architecture.IrisRepositoryArchitectureTest.xml 16✅ 181ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.iris.architecture.IrisResourceArchitectureTest.xml 8✅ 110ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.iris.architecture.IrisServiceArchitectureTest.xml 5✅ 70ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lecture.architecture.LectureRepositoryArchitectureTest.xml 16✅ 165ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lecture.architecture.LectureResourceArchitectureTest.xml 8✅ 138ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lecture.architecture.LectureServiceArchitectureTest.xml 5✅ 61ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiRepositoryArchitectureTest.xml 16✅ 177ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiResourceArchitectureTest.xml 8✅ 132ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiServiceArchitectureTest.xml 5✅ 31ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiTestArchitectureTest.xml 2✅ 5ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.modeling.architecture.ModelingRepositoryArchitectureTest.xml 16✅ 154ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.modeling.architecture.ModelingResourceArchitectureTest.xml 8✅ 134ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.modeling.architecture.ModelingServiceArchitectureTest.xml 5✅ 99ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismRepositoryArchitectureTest.xml 16✅ 138ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismResourceArchitectureTest.xml 8✅ 115ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismServiceArchitectureTest.xml 5✅ 44ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingRepositoryArchitectureTest.xml 16✅ 171ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingResourceArchitectureTest.xml 8✅ 112ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingServiceArchitectureTest.xml 5✅ 190ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingTestArchitectureTest.xml 2✅ 14ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.quiz.architecture.QuizRepositoryArchitectureTest.xml 16✅ 101ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.quiz.architecture.QuizResourceArchitectureTest.xml 8✅ 109ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.quiz.architecture.QuizServiceArchitectureTest.xml 5✅ 49ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.shared.architecture.ArchitectureTest.xml 19✅ 1⚪ 3s
build/test-results/test/TEST-de.tum.cit.aet.artemis.shared.architecture.EnforceRoleInResourceArchitectureTest.xml 2✅ 238ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.shared.architecture.FeedbackArchitectureTest.xml 2✅ 362ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.text.architecture.TextRepositoryArchitectureTest.xml 16✅ 86ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.text.architecture.TextResourceArchitectureTest.xml 8✅ 82ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.text.architecture.TextServbiceArchitectureTest.xml 5✅ 20ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupRepositoryArchitectureTest.xml 16✅ 105ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupResourceArchitectureTest.xml 8✅ 97ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupServiceArchitectureTest.xml 5✅ 21ms
build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupTestArchitectureTest.xml 2✅ 4ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.assessment.architecture.AssessmentRepositoryArchitectureTest.xml

16 tests were completed in 867ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.assessment.architecture.AssessmentRepositoryArchitectureTest 16✅ 867ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.assessment.architecture.AssessmentResourceArchitectureTest.xml

8 tests were completed in 230ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.assessment.architecture.AssessmentResourceArchitectureTest 8✅ 230ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.assessment.architecture.AssessmentServiceArchitectureTest.xml

5 tests were completed in 207ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.assessment.architecture.AssessmentServiceArchitectureTest 5✅ 207ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.athena.architecture.AthenaRepositoryArchitectureTest.xml

16 tests were completed in 167ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.athena.architecture.AthenaRepositoryArchitectureTest 16✅ 167ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.athena.architecture.AthenaResourceArchitectureTest.xml

8 tests were completed in 149ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.athena.architecture.AthenaResourceArchitectureTest 8✅ 149ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.athena.architecture.AthenaServiceArchitectureTest.xml

5 tests were completed in 82ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.athena.architecture.AthenaServiceArchitectureTest 5✅ 82ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasRepositoryArchitectureTest.xml

16 tests were completed in 266ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.atlas.architecture.AtlasRepositoryArchitectureTest 16✅ 266ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasResourceArchitectureTest.xml

8 tests were completed in 145ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.atlas.architecture.AtlasResourceArchitectureTest 8✅ 145ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasServiceArchitectureTest.xml

5 tests were completed in 102ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.atlas.architecture.AtlasServiceArchitectureTest 5✅ 102ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.atlas.architecture.AtlasTestArchitectureTest.xml

2 tests were completed in 12ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.atlas.architecture.AtlasTestArchitectureTest 2✅ 12ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentRepositoryArchitectureTest.xml

16 tests were completed in 140ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentRepositoryArchitectureTest 16✅ 140ms

❌ build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentResourceArchitectureTest.xml

8 tests were completed in 133ms with 7 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentResourceArchitectureTest 7✅ 1❌ 133ms

❌ de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentResourceArchitectureTest

✅ testNoOverrideOfEnforceAdmin()
✅ testUseKebabCaseForRestEndpoints()
✅ allPublicMethodsShouldReturnResponseEntity()
✅ testClassWithEnforceAdminInCorrectlyNamed()
❌ shouldHaveNoPublicMethodsExceptForEndpoints()
	java.lang.AssertionError: Rule 'methods that are declared in classes that reside in a package 'de.tum.cit.aet.artemis.buildagent..' and are declared in classes that are annotated with @RestController and are public should be annotated with request mapping annotation, because all public methods should be endpoints' failed to check any classes. This means either that no classes have been passed to the rule at all, or that no classes passed to the rule matched the `that()` clause. To allow rules being evaluated without checking any classes you can either use `ArchRule.allowEmptyShould(true)` on a single rule or set the configuration property `archRule.failOnEmptyShould = false` to change the behavior globally.
✅ shouldBeNamedResource()
✅ shouldBeInResourcePackage()
✅ shouldCorrectlyUseRequestMappingAnnotations()

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentServiceArchitectureTest.xml

5 tests were completed in 46ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentServiceArchitectureTest 5✅ 46ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.architecture.CommunicationRepositoryArchitectureTest.xml

16 tests were completed in 250ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.communication.architecture.CommunicationRepositoryArchitectureTest 16✅ 250ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.architecture.CommunicationResourceArchitectureTest.xml

8 tests were completed in 152ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.communication.architecture.CommunicationResourceArchitectureTest 8✅ 152ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.architecture.CommunicationServiceArchitectureTest.xml

5 tests were completed in 114ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.communication.architecture.CommunicationServiceArchitectureTest 5✅ 114ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.communication.notification.NotificationPlaceholderArchitectureTest.xml

2 tests were completed in 28ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.communication.notification.NotificationPlaceholderArchitectureTest 2✅ 28ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreRepositoryArchitectureTest.xml

16 tests were completed in 257ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.core.architecture.CoreRepositoryArchitectureTest 16✅ 257ms

❌ build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreResourceArchitectureTest.xml

8 tests were completed in 176ms with 7 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.core.architecture.CoreResourceArchitectureTest 7✅ 1❌ 176ms

❌ de.tum.cit.aet.artemis.core.architecture.CoreResourceArchitectureTest

✅ testNoOverrideOfEnforceAdmin()
✅ testUseKebabCaseForRestEndpoints()
✅ allPublicMethodsShouldReturnResponseEntity()
✅ testClassWithEnforceAdminInCorrectlyNamed()
❌ shouldHaveNoPublicMethodsExceptForEndpoints()
	java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] - Rule 'methods that are declared in classes that reside in a package 'de.tum.cit.aet.artemis.core..' and are declared in classes that are annotated with @RestController and are public should be annotated with request mapping annotation, because all public methods should be endpoints' was violated (2 times):
✅ shouldBeNamedResource()
✅ shouldBeInResourcePackage()
✅ shouldCorrectlyUseRequestMappingAnnotations()

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreServiceArchitectureTest.xml

5 tests were completed in 222ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.core.architecture.CoreServiceArchitectureTest 5✅ 222ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.core.authorization.AuthorizationArchitectureTest.xml

8 tests were completed in 62ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.core.authorization.AuthorizationArchitectureTest 8✅ 62ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.exam.architecture.ExamRepositoryArchitectureTest.xml

16 tests were completed in 143ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.exam.architecture.ExamRepositoryArchitectureTest 16✅ 143ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.exam.architecture.ExamResourceArchitectureTest.xml

8 tests were completed in 111ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.exam.architecture.ExamResourceArchitectureTest 8✅ 111ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.exam.architecture.ExamServiceArchitectureTest.xml

5 tests were completed in 76ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.exam.architecture.ExamServiceArchitectureTest 5✅ 76ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.exercise.architecture.ExerciseRepositoryArchitectureTest.xml

16 tests were completed in 147ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.exercise.architecture.ExerciseRepositoryArchitectureTest 16✅ 147ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.exercise.architecture.ExerciseResourceArchitectureTest.xml

8 tests were completed in 130ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.exercise.architecture.ExerciseResourceArchitectureTest 8✅ 130ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.exercise.architecture.ExerciseServiceArchitectureTest.xml

5 tests were completed in 95ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.exercise.architecture.ExerciseServiceArchitectureTest 5✅ 95ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadRepositoryArchitectureTest.xml

16 tests were completed in 142ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.fileupload.architecture.FileUploadRepositoryArchitectureTest 16✅ 142ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadResourceArchitectureTest.xml

8 tests were completed in 130ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.fileupload.architecture.FileUploadResourceArchitectureTest 8✅ 130ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadServiceArchitectureTest.xml

5 tests were completed in 36ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.fileupload.architecture.FileUploadServiceArchitectureTest 5✅ 36ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.fileupload.architecture.FileUploadTestArchitectureTest.xml

2 tests were completed in 7ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.fileupload.architecture.FileUploadTestArchitectureTest 2✅ 7ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.iris.architecture.IrisRepositoryArchitectureTest.xml

16 tests were completed in 181ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.iris.architecture.IrisRepositoryArchitectureTest 16✅ 181ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.iris.architecture.IrisResourceArchitectureTest.xml

8 tests were completed in 110ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.iris.architecture.IrisResourceArchitectureTest 8✅ 110ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.iris.architecture.IrisServiceArchitectureTest.xml

5 tests were completed in 70ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.iris.architecture.IrisServiceArchitectureTest 5✅ 70ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lecture.architecture.LectureRepositoryArchitectureTest.xml

16 tests were completed in 165ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lecture.architecture.LectureRepositoryArchitectureTest 16✅ 165ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lecture.architecture.LectureResourceArchitectureTest.xml

8 tests were completed in 138ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lecture.architecture.LectureResourceArchitectureTest 8✅ 138ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lecture.architecture.LectureServiceArchitectureTest.xml

5 tests were completed in 61ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lecture.architecture.LectureServiceArchitectureTest 5✅ 61ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiRepositoryArchitectureTest.xml

16 tests were completed in 177ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lti.architecture.LtiRepositoryArchitectureTest 16✅ 177ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiResourceArchitectureTest.xml

8 tests were completed in 132ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lti.architecture.LtiResourceArchitectureTest 8✅ 132ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiServiceArchitectureTest.xml

5 tests were completed in 31ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lti.architecture.LtiServiceArchitectureTest 5✅ 31ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.lti.architecture.LtiTestArchitectureTest.xml

2 tests were completed in 5ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.lti.architecture.LtiTestArchitectureTest 2✅ 5ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.modeling.architecture.ModelingRepositoryArchitectureTest.xml

16 tests were completed in 154ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.modeling.architecture.ModelingRepositoryArchitectureTest 16✅ 154ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.modeling.architecture.ModelingResourceArchitectureTest.xml

8 tests were completed in 134ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.modeling.architecture.ModelingResourceArchitectureTest 8✅ 134ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.modeling.architecture.ModelingServiceArchitectureTest.xml

5 tests were completed in 99ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.modeling.architecture.ModelingServiceArchitectureTest 5✅ 99ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismRepositoryArchitectureTest.xml

16 tests were completed in 138ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismRepositoryArchitectureTest 16✅ 138ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismResourceArchitectureTest.xml

8 tests were completed in 115ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismResourceArchitectureTest 8✅ 115ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismServiceArchitectureTest.xml

5 tests were completed in 44ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.plagiarism.architecture.PlagiarismServiceArchitectureTest 5✅ 44ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingRepositoryArchitectureTest.xml

16 tests were completed in 171ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.programming.architecture.ProgrammingRepositoryArchitectureTest 16✅ 171ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingResourceArchitectureTest.xml

8 tests were completed in 112ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.programming.architecture.ProgrammingResourceArchitectureTest 8✅ 112ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingServiceArchitectureTest.xml

5 tests were completed in 190ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.programming.architecture.ProgrammingServiceArchitectureTest 5✅ 190ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.programming.architecture.ProgrammingTestArchitectureTest.xml

2 tests were completed in 14ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.programming.architecture.ProgrammingTestArchitectureTest 2✅ 14ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.quiz.architecture.QuizRepositoryArchitectureTest.xml

16 tests were completed in 101ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.quiz.architecture.QuizRepositoryArchitectureTest 16✅ 101ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.quiz.architecture.QuizResourceArchitectureTest.xml

8 tests were completed in 109ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.quiz.architecture.QuizResourceArchitectureTest 8✅ 109ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.quiz.architecture.QuizServiceArchitectureTest.xml

5 tests were completed in 49ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.quiz.architecture.QuizServiceArchitectureTest 5✅ 49ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.shared.architecture.ArchitectureTest.xml

20 tests were completed in 3s with 19 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.shared.architecture.ArchitectureTest 19✅ 1⚪ 3s

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.shared.architecture.EnforceRoleInResourceArchitectureTest.xml

2 tests were completed in 238ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.shared.architecture.EnforceRoleInResourceArchitectureTest 2✅ 238ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.shared.architecture.FeedbackArchitectureTest.xml

2 tests were completed in 362ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.shared.architecture.FeedbackArchitectureTest 2✅ 362ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.text.architecture.TextRepositoryArchitectureTest.xml

16 tests were completed in 86ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.text.architecture.TextRepositoryArchitectureTest 16✅ 86ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.text.architecture.TextResourceArchitectureTest.xml

8 tests were completed in 82ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.text.architecture.TextResourceArchitectureTest 8✅ 82ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.text.architecture.TextServbiceArchitectureTest.xml

5 tests were completed in 20ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.text.architecture.TextServbiceArchitectureTest 5✅ 20ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupRepositoryArchitectureTest.xml

16 tests were completed in 105ms with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupRepositoryArchitectureTest 16✅ 105ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupResourceArchitectureTest.xml

8 tests were completed in 97ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupResourceArchitectureTest 8✅ 97ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupServiceArchitectureTest.xml

5 tests were completed in 21ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupServiceArchitectureTest 5✅ 21ms

✅ build/test-results/test/TEST-de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupTestArchitectureTest.xml

2 tests were completed in 4ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
de.tum.cit.aet.artemis.tutorialgroup.architecture.TutorialGroupTestArchitectureTest 2✅ 4ms

Annotations

Check failure on line 87 in src/test/java/de/tum/cit/aet/artemis/shared/architecture/module/AbstractModuleResourceArchitectureTest.java

See this annotation in the file changed.

@github-actions github-actions / Java Architecture Tests

de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentResourceArchitectureTest ► shouldHaveNoPublicMethodsExceptForEndpoints()

Failed test found in:
  build/test-results/test/TEST-de.tum.cit.aet.artemis.buildagent.architecture.BuildAgentResourceArchitectureTest.xml
Error:
  java.lang.AssertionError: Rule 'methods that are declared in classes that reside in a package 'de.tum.cit.aet.artemis.buildagent..' and are declared in classes that are annotated with @RestController and are public should be annotated with request mapping annotation, because all public methods should be endpoints' failed to check any classes. This means either that no classes have been passed to the rule at all, or that no classes passed to the rule matched the `that()` clause. To allow rules being evaluated without checking any classes you can either use `ArchRule.allowEmptyShould(true)` on a single rule or set the configuration property `archRule.failOnEmptyShould = false` to change the behavior globally.
Raw output
java.lang.AssertionError: Rule 'methods that are declared in classes that reside in a package 'de.tum.cit.aet.artemis.buildagent..' and are declared in classes that are annotated with @RestController and are public should be annotated with request mapping annotation, because all public methods should be endpoints' failed to check any classes. This means either that no classes have been passed to the rule at all, or that no classes passed to the rule matched the `that()` clause. To allow rules being evaluated without checking any classes you can either use `ArchRule.allowEmptyShould(true)` on a single rule or set the configuration property `archRule.failOnEmptyShould = false` to change the behavior globally.
	at com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.verifyNoEmptyShouldIfEnabled(ArchRule.java:201)
	at com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.evaluate(ArchRule.java:181)
	at com.tngtech.archunit.lang.ArchRule$Assertions.check(ArchRule.java:84)
	at com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.check(ArchRule.java:165)
	at de.tum.cit.aet.artemis.shared.architecture.module.AbstractModuleResourceArchitectureTest.shouldHaveNoPublicMethodsExceptForEndpoints(AbstractModuleResourceArchitectureTest.java:87)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

Check failure on line 87 in src/test/java/de/tum/cit/aet/artemis/shared/architecture/module/AbstractModuleResourceArchitectureTest.java

See this annotation in the file changed.

@github-actions github-actions / Java Architecture Tests

de.tum.cit.aet.artemis.core.architecture.CoreResourceArchitectureTest ► shouldHaveNoPublicMethodsExceptForEndpoints()

Failed test found in:
  build/test-results/test/TEST-de.tum.cit.aet.artemis.core.architecture.CoreResourceArchitectureTest.xml
Error:
  java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] - Rule 'methods that are declared in classes that reside in a package 'de.tum.cit.aet.artemis.core..' and are declared in classes that are annotated with @RestController and are public should be annotated with request mapping annotation, because all public methods should be endpoints' was violated (2 times):
Raw output
java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] - Rule 'methods that are declared in classes that reside in a package 'de.tum.cit.aet.artemis.core..' and are declared in classes that are annotated with @RestController and are public should be annotated with request mapping annotation, because all public methods should be endpoints' was violated (2 times):
Method <de.tum.cit.aet.artemis.core.web.CourseResource.addUserToCourseGroup(java.lang.String, de.tum.cit.aet.artemis.core.domain.User, de.tum.cit.aet.artemis.core.domain.Course, java.lang.String, de.tum.cit.aet.artemis.core.security.Role)> Method should be annotated with @RequestMapping in (CourseResource.java:1272)
Method <de.tum.cit.aet.artemis.core.web.CourseResource.removeUserFromCourseGroup(java.lang.String, de.tum.cit.aet.artemis.core.domain.User, de.tum.cit.aet.artemis.core.domain.Course, java.lang.String)> Method should be annotated with @RequestMapping in (CourseResource.java:1361)
	at com.tngtech.archunit.lang.ArchRule$Assertions.assertNoViolation(ArchRule.java:94)
	at com.tngtech.archunit.lang.ArchRule$Assertions.check(ArchRule.java:86)
	at com.tngtech.archunit.lang.ArchRule$Factory$SimpleArchRule.check(ArchRule.java:165)
	at de.tum.cit.aet.artemis.shared.architecture.module.AbstractModuleResourceArchitectureTest.shouldHaveNoPublicMethodsExceptForEndpoints(AbstractModuleResourceArchitectureTest.java:87)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)