我们有一个securityconfig类,它的方法是我们从WebSecurityConfigureAdapter获得的
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers(ignorePatterns);
}
我们使用的忽略模式是用于url的,我们不希望应用任何身份验证(我们使用承载令牌),我正在尝试为此编写一个单元测试,以确保行为按预期进行
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SecurityConfig.class)
@WebAppConfiguration
public class Test {
private MockMvc mockMvc;
@Autowired
private WebApplicationContext webApplicationContext;
@Autowired
private FilterChainProxy springSecurityFilterChain;
@Before
public void setup() throws Exception {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).addFilter(springSecurityFilterChain).build();
}
@Test
public void testAuthenticationAtWhiteListedURL() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/api/swagger-ui/index.html?url=/v3/api-docs")
.header("Authorization", "Bearer: foo"))
.andExpect(status().isOk());
}
@Test
public void testAuthenticationAtNonWhiteListedURL() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/needs-authentication")
.header("Authorization", "Bearer: foo"))
.andExpect(status().isOk());
}
}
但是这两个测试都很正常,这是不可预料的,以前有人测试过类似的东西吗?最好的方法是什么?
暂无答案!
目前还没有任何答案,快来回答吧!