@Pointcut для всех запросов к серверу не работает с тестовым контекстом - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь использовать вариант @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 для всех запросов к серверу не запускается с тестовым контекстом или чем-то еще (

...