Polish 'Add @WebServiceClientTest slice test support'
See gh-17274
This commit is contained in:
@@ -39,7 +39,7 @@ import org.springframework.ws.test.client.MockWebServiceServer;
|
||||
@Documented
|
||||
@Inherited
|
||||
@ImportAutoConfiguration
|
||||
@PropertyMapping("spring.test.webservice.client.mock-server")
|
||||
@PropertyMapping("spring.test.webservice.client.mockserver")
|
||||
public @interface AutoConfigureMockWebServiceServer {
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.springframework.ws.test.client.MockWebServiceServer;
|
||||
* @since 2.3.0
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ConditionalOnProperty(prefix = "spring.test.webservice.client.mock-server", name = "enabled")
|
||||
@ConditionalOnProperty(prefix = "spring.test.webservice.client.mockserver", name = "enabled")
|
||||
@ConditionalOnClass({ MockWebServiceServer.class, WebServiceTemplate.class })
|
||||
public class MockWebServiceServerAutoConfiguration {
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.springframework.boot.webservices.client.WebServiceTemplateBuilder;
|
||||
import org.springframework.boot.webservices.client.WebServiceTemplateCustomizer;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.ws.client.core.WebServiceTemplate;
|
||||
import org.springframework.ws.test.client.MockWebServiceServer;
|
||||
|
||||
@@ -32,7 +33,7 @@ import org.springframework.ws.test.client.MockWebServiceServer;
|
||||
*/
|
||||
class MockWebServiceServerWebServiceTemplateCustomizer implements WebServiceTemplateCustomizer {
|
||||
|
||||
private final AtomicBoolean alreadySet = new AtomicBoolean();
|
||||
private final AtomicBoolean applied = new AtomicBoolean();
|
||||
|
||||
private final TestMockWebServiceServer mockServer;
|
||||
|
||||
@@ -42,12 +43,8 @@ class MockWebServiceServerWebServiceTemplateCustomizer implements WebServiceTemp
|
||||
|
||||
@Override
|
||||
public void customize(WebServiceTemplate webServiceTemplate) {
|
||||
if (this.alreadySet.compareAndSet(false, true)) {
|
||||
webServiceTemplate.setMessageSender(this.mockServer.getMockMessageSender());
|
||||
}
|
||||
else {
|
||||
throw new IllegalStateException("@WebServiceClientTest supports only a single WebServiceTemplate");
|
||||
}
|
||||
Assert.state(!this.applied.getAndSet(true), "@WebServiceClientTest supports only a single WebServiceTemplate");
|
||||
webServiceTemplate.setMessageSender(this.mockServer.getMockMessageSender());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user