2017-06-15 40 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; 
    } 
    } 
}