Я пытаюсь использовать вариант @pointcut для перехвата всех запросов к серверу, но они не работают с тестовым контекстом.
Мои примеры
@Pointcut("execution (public * example.server.web.rest..*(..))")
@Pointcut("within(example.server.web.rest..*)")
@Pointcut("within(@org.springframework.web.bind.annotation.RestController *)")
Я просто хочу перехватить весь запросс тестовым контекстом.Как установить необходимый контекст?
Обновлено
@Aspect
public class UsersAspect {
@Pointcut("execution (public * example.server.web.rest..*(..))")
public void allServerRequests() {
}
@Around(value = "allServerRequests()")
public Object allServerRequest(final ProceedingJoinPoint pjp) throws Throwable {
//some code
return pjp.proceed();
}
}
класс конфигурации
@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class UserAspectConfiguration {
private final UserService userService;
public UserAspectConfiguration(UserService userService) {
this.userService = userService;
}
@Bean
public UsersAspect userAspect(Environment env) {
return new UsersAspect(userService, env);
}
}
Пример теста
@Test
@Transactional
public void checkAllServerRequestAspect() throws Exception {
UserDTO userDTO = new UserDTO();
userDTO.setSomething()
userService.updateUser(userDTO);
restUserMockMvc.perform(get("/api/any-rout")
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isForbidden());
}
Теперь я могу пойматьмой тестовый запрос только с вот таким pointcut
@Pointcut("execution (public * example.server.service.UserService.*(..))")
Но @pointcut для всех запросов к серверу не запускается с тестовым контекстом или чем-то еще (