2017-06-15 82 views
1

我正在用RestAssured测试API。
方法我打电话使用的是下一个注释:RestAssured:如何禁用PreAuthorize时

@PreAuthorize("hasAnyRole('ROLE1', 'ROLE2', 'ROLE3')") 

我的测试类包含用于测试的情景模式。
对于测试配置,我们使用.yaml文件。
是否可以在.yaml文件中放入某些东西,以便我们在运行测试时不需要授权?

或者是否有其他方法,以便PreAuthorize在我运行测试时未处于活动状态?

回答

0

您可以在代码中拥有test配置文件,然后在对代码运行测试时激活该配置文件。然后,您可以在测试中使用预定义的用户和密码。

@Configuration 
public class TestConfig { 

    @EnableWebSecurity 
    @Profile("test") 
    class WebSecurityConfig extends WebSecurityConfigurerAdapter { 

    @Bean 
    public UserDetailsService userDetailsService() { 
     InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager(); 
     manager.createUser(User.withUsername("user").password("password").roles("ROLE1", "ROLE2", "ROLE3").build()); 
     return manager; 
    } 
    } 
}