向 MockWebServiceClient 添加基本的 http 身份验证
Add basic http authentication to MockWebServiceClient
我有一些旧的测试正在调用一些网络服务。之前网络服务没有安全性。现在已经添加了基本的 http 身份验证,因此测试失败了。测试正在使用 org.springframework.ws.test.server.MockWebServiceClient
测试示例:
@Autowired
MockWebServiceClient mockClient
def "import valid entity"() {
setup:
def request = loadEntitesToRequest(validEntityFile)
Source requestPayload = createStringSourceFromObject(request)
when: 'Endpoint is requested to import valid entity'
mockClient.sendRequest(withPayload(requestPayload)).andExpect(new ResponseMatcher() {
void match(WebServiceMessage req, WebServiceMessage resp) {
EntityImportResponse response = marshaller.unmarshal(resp.payloadSource)
assert response.errorMessage.isEmpty()
assert response.isSuccess()
}
})
then: 'Entity is successfully imported'
noExceptionThrown()
}
有什么方法可以为这个客户端添加基本的 http 身份验证吗?我知道如何将它添加到 WebServiceTemplate 但为此我还没有找到任何方法。
好吧,这个问题其实是一个不好的问题,MockWebserviceClient根本不处理http,你需要在这个客户端之外的http请求中设置你需要的东西
我有一些旧的测试正在调用一些网络服务。之前网络服务没有安全性。现在已经添加了基本的 http 身份验证,因此测试失败了。测试正在使用 org.springframework.ws.test.server.MockWebServiceClient
测试示例:
@Autowired
MockWebServiceClient mockClient
def "import valid entity"() {
setup:
def request = loadEntitesToRequest(validEntityFile)
Source requestPayload = createStringSourceFromObject(request)
when: 'Endpoint is requested to import valid entity'
mockClient.sendRequest(withPayload(requestPayload)).andExpect(new ResponseMatcher() {
void match(WebServiceMessage req, WebServiceMessage resp) {
EntityImportResponse response = marshaller.unmarshal(resp.payloadSource)
assert response.errorMessage.isEmpty()
assert response.isSuccess()
}
})
then: 'Entity is successfully imported'
noExceptionThrown()
}
有什么方法可以为这个客户端添加基本的 http 身份验证吗?我知道如何将它添加到 WebServiceTemplate 但为此我还没有找到任何方法。
好吧,这个问题其实是一个不好的问题,MockWebserviceClient根本不处理http,你需要在这个客户端之外的http请求中设置你需要的东西