我有一个自定义的restemplate类,它扩展了restemplate类。它的目的是向其附加一个访问令牌,供用户在发出api请求时使用。
这个班看起来像这样:
public class ModifiedRestTemplate extends RestTemplate {
private String token;
private void setInterceptorWithAuthorizationHeaders() {
super.getInterceptors().clear();
super.getInterceptors().add((request, body, execution) -> {
request.getHeaders().add("Authorization", "Bearer "+ this.token);
return execution.execute(request, body);
});
}
我想对这个类进行单元测试,并检查定制restemplate中的头是否确实包含模拟的访问令牌( this.token
以防你仍然对我的目标感到困惑)。原因是这个类中有另一个方法触发了自定义restemplate中所述访问令牌的更新。所以我想测试一下更新过程是否成功。我不知道该怎么做。
resttemplate api具有 headForHeaders
方法,但此方法返回一个空标头(应为空,因为我的mockserver安装程序包含一个空的 success()
无论如何阻止)。
代码示例如下:
mockServer.expect(ExpectedCount.once(), requestTo("http://localhost:8080/test/mock")).andExpect(method(HttpMethod.HEAD)).andRespond(withSuccess());
HttpHeaders httpHeaders = modifiedRestTemplate.headForHeaders("http://localhost:8080/test/mock");
有没有一种方法可以访问自定义restemplate对象/示例,并用其访问令牌提取头?
暂无答案!
目前还没有任何答案,快来回答吧!