Устранить уязвимости backend-образа
Some checks failed
Проверка, сборка и развёртывание Magistr / Обязательные проверки (push) Successful in 1m12s
Проверка, сборка и развёртывание Magistr / Собрать backend image (push) Successful in 6m31s
Проверка, сборка и развёртывание Magistr / Собрать frontend image (push) Successful in 25s
Проверка, сборка и развёртывание Magistr / Проверить опубликованные образы (push) Failing after 6m40s
Проверка, сборка и развёртывание Magistr / Развернуть проверенные digests (push) Has been skipped

This commit is contained in:
Zuev
2026-07-30 00:28:02 +03:00
parent 7b5053f42a
commit c3f477788e
13 changed files with 226 additions and 65 deletions

View File

@@ -15,6 +15,7 @@ import com.magistr.app.repository.DepartmentRepository;
import com.magistr.app.repository.TeacherCreationRequestRepository;
import com.magistr.app.repository.TeacherDepartmentAssignmentRepository;
import com.magistr.app.repository.UserRepository;
import com.magistr.app.service.BusinessTimeService;
import com.magistr.app.service.ScheduleQueryService;
import com.magistr.app.service.SubjectImportService;
import com.magistr.app.service.TeacherDepartmentService;
@@ -22,7 +23,10 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import java.time.Clock;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneOffset;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -34,6 +38,12 @@ import static org.mockito.Mockito.when;
class DepartmentWorkspaceControllerTest {
private static final LocalDate TODAY = LocalDate.of(2026, 7, 29);
private static final BusinessTimeService BUSINESS_TIME = new BusinessTimeService(
Clock.fixed(Instant.parse("2026-07-29T09:00:00Z"), ZoneOffset.UTC),
ZoneOffset.UTC
);
@AfterEach
void clearAuthContext() {
AuthContext.clear();
@@ -71,7 +81,7 @@ class DepartmentWorkspaceControllerTest {
TeacherDepartmentService teacherDepartmentService = mock(TeacherDepartmentService.class);
User assignedTeacher = user(10L, "assigned", "Петров Препод Петрович", 2L);
User directTeacher = user(11L, "direct", "Препод Тест Тестович", 1L);
when(teacherDepartmentService.findTeachersForDepartmentAtDate(1L, LocalDate.now()))
when(teacherDepartmentService.findTeachersForDepartmentAtDate(1L, TODAY))
.thenReturn(List.of(directTeacher, assignedTeacher));
DepartmentWorkspaceController controller = new DepartmentWorkspaceController(
mock(SubjectRepository.class),
@@ -82,7 +92,8 @@ class DepartmentWorkspaceControllerTest {
mock(TeacherCreationRequestRepository.class),
mock(ScheduleQueryService.class),
teacherDepartmentService,
mock(SubjectImportService.class)
mock(SubjectImportService.class),
BUSINESS_TIME
);
List<UserResponse> teachers = controller.getTeachers(1L);

View File

@@ -9,12 +9,15 @@ import com.magistr.app.model.User;
import com.magistr.app.repository.SubjectRepository;
import com.magistr.app.repository.TeacherSubjectRepository;
import com.magistr.app.repository.UserRepository;
import com.magistr.app.service.BusinessTimeService;
import com.magistr.app.service.TeacherDepartmentService;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import java.time.LocalDate;
import java.time.Clock;
import java.time.Instant;
import java.time.ZoneOffset;
import java.util.Map;
import java.util.Optional;
@@ -25,6 +28,11 @@ import static org.mockito.Mockito.when;
class TeacherSubjectControllerTest {
private static final BusinessTimeService BUSINESS_TIME = new BusinessTimeService(
Clock.fixed(Instant.parse("2026-07-29T09:00:00Z"), ZoneOffset.UTC),
ZoneOffset.UTC
);
@AfterEach
void clearAuthContext() {
AuthContext.clear();
@@ -46,13 +54,14 @@ class TeacherSubjectControllerTest {
when(teacherDepartmentService.hasAssignmentAtDate(
teacher.getId(),
1L,
LocalDate.now()
BUSINESS_TIME.today()
)).thenReturn(true);
TeacherSubjectController controller = new TeacherSubjectController(
teacherSubjectRepository,
userRepository,
subjectRepository,
teacherDepartmentService
teacherDepartmentService,
BUSINESS_TIME
);
AuthContext.setCurrentUser(new AuthenticatedUser(1L, "кафедра", Role.DEPARTMENT, 1L));