Java 从1.3.2升级到1.5.3后,SpringBootTest集成测试失败(403禁止)
我正在使用springCloudVersion='Dalston.RELEASE'将几个应用程序从SpringBoot 1.3.2.RELEASE升级到1.5.3 作为此升级过程的一部分,现有集成测试中的注释发生了更改: 老办法: 新的升级方式:Java 从1.3.2升级到1.5.3后,SpringBootTest集成测试失败(403禁止),java,spring-boot,groovy,integration-testing,spring-cloud,Java,Spring Boot,Groovy,Integration Testing,Spring Cloud,我正在使用springCloudVersion='Dalston.RELEASE'将几个应用程序从SpringBoot 1.3.2.RELEASE升级到1.5.3 作为此升级过程的一部分,现有集成测试中的注释发生了更改: 老办法: 新的升级方式: @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TokenServer
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TokenServerApplication)
@EnableWebSecurity
@Unroll
这看起来很好,但我注意到我的各种测试开始中断,给出了403禁止响应
这些失败的测试应要求发送带有有效“x-auth-token”头的请求。来自我的服务的响应应该给出一个403“Not authenticated”,但是我得到的消息不包含“Not authenticated”消息(它更通用),而且,应该通过有效令牌的测试也得到403'd
我使用以下内容来构造我的请求:
@Autowired TestRestTemplate restTemplate
所有测试的设置大致相同:
@Test
void "test valid token"() {
HttpHeaders headers = new HttpHeaders()
headers.set("x-auth-token", tokenIngestExternal)
HttpEntity<String> entity = new HttpEntity<String>(headers)
ResponseEntity<Map> result = restTemplate.exchange("/authenticate", HttpMethod.GET, entity, Map.class)
assertTrue(result.getStatusCode() == HttpStatus.OK)
Map map = result.getBody()
assertTrue map.get('iss').equals("A")
assertTrue map.get('sub').equals("B")
assertTrue map.get('aud').equals("C")
assertTrue map.get('roles').equals("D")
}
@测试
无效“测试有效令牌”(){
HttpHeaders=新的HttpHeaders()
headers.set(“x-auth-token”,外部标记)
HttpEntity=新的HttpEntity(标题)
ResponseEntity result=restemplate.exchange(“/authenticate”,HttpMethod.GET,entity,Map.class)
assertTrue(result.getStatusCode()==HttpStatus.OK)
Map=result.getBody()
assertTrue map.get('iss').equals('A”)
assertTrue map.get('sub').equals('B”)
assertTrue map.get('aud').equals('C”)
assertTrue map.get('roles').equals('D”)
}
在升级到1.5.3并使用最新的集成测试注释之前,同样的基本方法工作得很好
我是否缺少注释、参数或其他内容?怎么回事
@Test
void "test valid token"() {
HttpHeaders headers = new HttpHeaders()
headers.set("x-auth-token", tokenIngestExternal)
HttpEntity<String> entity = new HttpEntity<String>(headers)
ResponseEntity<Map> result = restTemplate.exchange("/authenticate", HttpMethod.GET, entity, Map.class)
assertTrue(result.getStatusCode() == HttpStatus.OK)
Map map = result.getBody()
assertTrue map.get('iss').equals("A")
assertTrue map.get('sub').equals("B")
assertTrue map.get('aud').equals("C")
assertTrue map.get('roles').equals("D")
}