16 changed files with 2378 additions and 2 deletions
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.autoconfigure.webservices.client; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
import org.springframework.beans.factory.ObjectProvider; |
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; |
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
||||
import org.springframework.boot.webservices.client.WebServiceTemplateBuilder; |
||||
import org.springframework.boot.webservices.client.WebServiceTemplateCustomizer; |
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.core.annotation.AnnotationAwareOrderComparator; |
||||
import org.springframework.oxm.Marshaller; |
||||
import org.springframework.oxm.Unmarshaller; |
||||
import org.springframework.util.CollectionUtils; |
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
|
||||
/** |
||||
* {@link EnableAutoConfiguration Auto-configuration} for {@link WebServiceTemplate}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
@Configuration |
||||
@ConditionalOnClass({ WebServiceTemplateBuilder.class, WebServiceTemplate.class, |
||||
Unmarshaller.class, Marshaller.class }) |
||||
public class WebServiceTemplateAutoConfiguration { |
||||
|
||||
private final ObjectProvider<List<WebServiceTemplateCustomizer>> webServiceTemplateCustomizers; |
||||
|
||||
public WebServiceTemplateAutoConfiguration( |
||||
ObjectProvider<List<WebServiceTemplateCustomizer>> webServiceTemplateCustomizers) { |
||||
this.webServiceTemplateCustomizers = webServiceTemplateCustomizers; |
||||
} |
||||
|
||||
@Bean |
||||
@ConditionalOnMissingBean |
||||
public WebServiceTemplateBuilder webServiceTemplateBuilder() { |
||||
WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
List<WebServiceTemplateCustomizer> customizers = this.webServiceTemplateCustomizers |
||||
.getIfAvailable(); |
||||
if (!CollectionUtils.isEmpty(customizers)) { |
||||
customizers = new ArrayList<>(customizers); |
||||
AnnotationAwareOrderComparator.sort(customizers); |
||||
builder = builder.setCustomizers(customizers); |
||||
} |
||||
return builder; |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
/** |
||||
* Auto-configuration for Spring Web Services Clients. |
||||
*/ |
||||
package org.springframework.boot.autoconfigure.webservices.client; |
||||
@ -0,0 +1,150 @@
@@ -0,0 +1,150 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.autoconfigure.webservices.client; |
||||
|
||||
import org.junit.After; |
||||
import org.junit.Test; |
||||
|
||||
import org.springframework.boot.webservices.client.WebServiceTemplateBuilder; |
||||
import org.springframework.boot.webservices.client.WebServiceTemplateCustomizer; |
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext; |
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import org.springframework.oxm.jaxb.Jaxb2Marshaller; |
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link WebServiceTemplateAutoConfiguration |
||||
* WebServiceTemplateAutoConfiguration}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
public class WebServiceTemplateAutoConfigurationTests { |
||||
|
||||
private AnnotationConfigApplicationContext context; |
||||
|
||||
@After |
||||
public void close() { |
||||
if (this.context != null) { |
||||
this.context.close(); |
||||
} |
||||
} |
||||
|
||||
@Test |
||||
public void webServiceTemplateShouldNotHaveMarshallerAndUnmarshaller() { |
||||
load(WebServiceTemplateConfig.class); |
||||
WebServiceTemplate webServiceTemplate = this.context |
||||
.getBean(WebServiceTemplate.class); |
||||
assertThat(webServiceTemplate.getUnmarshaller()).isNull(); |
||||
assertThat(webServiceTemplate.getMarshaller()).isNull(); |
||||
} |
||||
|
||||
@Test |
||||
public void webServiceTemplateShouldUserCustomBuilder() { |
||||
load(CustomWebServiceTemplateBuilderConfig.class, WebServiceTemplateConfig.class); |
||||
WebServiceTemplate webServiceTemplate = this.context |
||||
.getBean(WebServiceTemplate.class); |
||||
assertThat(webServiceTemplate.getMarshaller()).isNotNull(); |
||||
} |
||||
|
||||
@Test |
||||
public void webServiceTemplateShouldApplyCustomizer() { |
||||
load(WebServiceTemplateCustomizerConfig.class, WebServiceTemplateConfig.class); |
||||
WebServiceTemplate webServiceTemplate = this.context |
||||
.getBean(WebServiceTemplate.class); |
||||
assertThat(webServiceTemplate.getUnmarshaller()).isNotNull(); |
||||
} |
||||
|
||||
@Test |
||||
public void builderShouldBeFreshForEachUse() { |
||||
load(DirtyWebServiceTemplateConfig.class); |
||||
} |
||||
|
||||
private void load(Class<?>... config) { |
||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); |
||||
ctx.register(config); |
||||
ctx.register(WebServiceTemplateAutoConfiguration.class); |
||||
ctx.refresh(); |
||||
this.context = ctx; |
||||
} |
||||
|
||||
@Configuration |
||||
static class WebServiceTemplateConfig { |
||||
|
||||
@Bean |
||||
public WebServiceTemplate webServiceTemplate(WebServiceTemplateBuilder builder) { |
||||
return builder.build(); |
||||
} |
||||
|
||||
} |
||||
|
||||
@Configuration |
||||
static class DirtyWebServiceTemplateConfig { |
||||
|
||||
@Bean |
||||
public WebServiceTemplate webServiceTemplateOne( |
||||
WebServiceTemplateBuilder builder) { |
||||
try { |
||||
return builder.build(); |
||||
} |
||||
finally { |
||||
breakBuilderOnNextCall(builder); |
||||
} |
||||
} |
||||
|
||||
@Bean |
||||
public WebServiceTemplate webServiceTemplateTwo( |
||||
WebServiceTemplateBuilder builder) { |
||||
try { |
||||
return builder.build(); |
||||
} |
||||
finally { |
||||
breakBuilderOnNextCall(builder); |
||||
} |
||||
} |
||||
|
||||
private void breakBuilderOnNextCall(WebServiceTemplateBuilder builder) { |
||||
builder.addCustomizers((webServiceTemplate) -> { |
||||
throw new IllegalStateException(); |
||||
}); |
||||
} |
||||
|
||||
} |
||||
|
||||
@Configuration |
||||
static class CustomWebServiceTemplateBuilderConfig { |
||||
|
||||
@Bean |
||||
public WebServiceTemplateBuilder webServiceTemplateBuilder() { |
||||
return new WebServiceTemplateBuilder().setMarshaller(new Jaxb2Marshaller()); |
||||
} |
||||
|
||||
} |
||||
|
||||
@Configuration |
||||
static class WebServiceTemplateCustomizerConfig { |
||||
|
||||
@Bean |
||||
public WebServiceTemplateCustomizer webServiceTemplateCustomizer() { |
||||
return (ws) -> ws.setUnmarshaller(new Jaxb2Marshaller()); |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
|
||||
/** |
||||
* Callback interface that can be used to customize a {@link WebServiceTemplate}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
public interface WebServiceTemplateCustomizer { |
||||
|
||||
/** |
||||
* Callback to customize a {@link WebServiceTemplate} instance. |
||||
* @param webServiceTemplate the template to customize |
||||
*/ |
||||
void customize(WebServiceTemplate webServiceTemplate); |
||||
|
||||
} |
||||
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
/** |
||||
* Web Services client utilities. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
@ -0,0 +1,93 @@
@@ -0,0 +1,93 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import org.junit.Rule; |
||||
import org.junit.Test; |
||||
import org.junit.rules.ExpectedException; |
||||
import org.mockito.Mockito; |
||||
|
||||
import org.springframework.http.client.ClientHttpRequestFactory; |
||||
import org.springframework.ws.transport.WebServiceMessageSender; |
||||
import org.springframework.ws.transport.http.ClientHttpRequestMessageSender; |
||||
|
||||
/** |
||||
* Tests for |
||||
* {@link org.springframework.boot.webservices.client.WebServiceTemplateBuilder}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
public class WebServiceTemplateBuilderCustomsMessageSenderTests { |
||||
|
||||
@Rule |
||||
public ExpectedException thrown = ExpectedException.none(); |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void unknownSenderReadTimeout() { |
||||
this.thrown.expect(IllegalStateException.class); |
||||
this.thrown.expectMessage("with 'readTimeout'. Please use a custom customizer."); |
||||
this.thrown.expectMessage("There is no way to customize"); |
||||
|
||||
this.builder.setReadTimeout(3000).setWebServiceMessageSender( |
||||
() -> Mockito.mock(WebServiceMessageSender.class)).build(); |
||||
} |
||||
|
||||
@Test |
||||
public void unknownSenderConnectionTimeout() { |
||||
this.thrown.expect(IllegalStateException.class); |
||||
this.thrown.expectMessage( |
||||
"with 'connectionTimeout'. Please use a custom customizer."); |
||||
this.thrown.expectMessage("There is no way to customize"); |
||||
|
||||
this.builder.setConnectionTimeout(3000).setWebServiceMessageSender( |
||||
() -> Mockito.mock(WebServiceMessageSender.class)).build(); |
||||
} |
||||
|
||||
@Test |
||||
public void unknownRequestFactoryReadTimeout() { |
||||
this.thrown.expect(IllegalStateException.class); |
||||
this.thrown.expectMessage("with 'readTimeout'. Please use a custom customizer."); |
||||
this.thrown.expectMessage("There is no way to customize"); |
||||
|
||||
this.builder.setReadTimeout(3000) |
||||
.setWebServiceMessageSender(() -> new ClientHttpRequestMessageSender( |
||||
Mockito.mock(ClientHttpRequestFactory.class))) |
||||
.build(); |
||||
} |
||||
|
||||
@Test |
||||
public void unknownRequestFactoryConnectionTimeout() { |
||||
this.thrown.expect(IllegalStateException.class); |
||||
this.thrown.expectMessage( |
||||
"with 'connectionTimeout'. Please use a custom customizer."); |
||||
this.thrown.expectMessage("There is no way to customize"); |
||||
|
||||
this.builder.setConnectionTimeout(3000) |
||||
.setWebServiceMessageSender(() -> new ClientHttpRequestMessageSender( |
||||
Mockito.mock(ClientHttpRequestFactory.class))) |
||||
.build(); |
||||
} |
||||
|
||||
@Test |
||||
public void shouldBuildWithoutTimeouts() { |
||||
this.builder.setWebServiceMessageSender( |
||||
() -> Mockito.mock(WebServiceMessageSender.class)).build(); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import org.apache.http.client.config.RequestConfig; |
||||
import org.junit.Test; |
||||
|
||||
import org.springframework.http.client.BufferingClientHttpRequestFactory; |
||||
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; |
||||
import org.springframework.test.util.ReflectionTestUtils; |
||||
import org.springframework.ws.transport.http.ClientHttpRequestMessageSender; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link WebServiceTemplateBuilder}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
public class WebServiceTemplateBuilderHttpComponentsClientHttpRequestFactoryTests { |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void setTimeout() { |
||||
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); |
||||
ClientHttpRequestMessageSender sender = new ClientHttpRequestMessageSender( |
||||
new BufferingClientHttpRequestFactory(factory)); |
||||
|
||||
this.builder.setConnectionTimeout(5000).setReadTimeout(2000) |
||||
.setWebServiceMessageSender(() -> sender).build(); |
||||
|
||||
RequestConfig requestConfig = (RequestConfig) ReflectionTestUtils |
||||
.getField(factory, "requestConfig"); |
||||
assertThat(requestConfig).isNotNull(); |
||||
assertThat(requestConfig.getConnectTimeout()).isEqualTo(5000); |
||||
assertThat(requestConfig.getSocketTimeout()).isEqualTo(2000); |
||||
|
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import org.apache.http.client.HttpClient; |
||||
import org.apache.http.params.HttpConnectionParams; |
||||
import org.junit.Test; |
||||
|
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
import org.springframework.ws.transport.http.HttpComponentsMessageSender; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for |
||||
* {@link org.springframework.boot.webservices.client.WebServiceTemplateBuilder}. This |
||||
* test class check that builder will create HttpComponents by default if apache client is |
||||
* present in the classpath. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
@SuppressWarnings("deprecation") |
||||
public class WebServiceTemplateBuilderHttpComponentsMessageSenderTests { |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void build() { |
||||
WebServiceTemplate webServiceTemplate = new WebServiceTemplateBuilder().build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).hasSize(1); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()[0]) |
||||
.isInstanceOf(HttpComponentsMessageSender.class); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setTimeout() { |
||||
HttpComponentsMessageSender sender = new HttpComponentsMessageSender(); |
||||
HttpClient httpClient = sender.getHttpClient(); |
||||
|
||||
this.builder.setConnectionTimeout(5000).setReadTimeout(2000) |
||||
.setWebServiceMessageSender(() -> sender).build(); |
||||
|
||||
assertThat(HttpConnectionParams.getConnectionTimeout(httpClient.getParams())) |
||||
.isEqualTo(5000); |
||||
assertThat(HttpConnectionParams.getSoTimeout(httpClient.getParams())) |
||||
.isEqualTo(2000); |
||||
|
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,70 @@
@@ -0,0 +1,70 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import java.time.Duration; |
||||
|
||||
import org.junit.Test; |
||||
import org.junit.runner.RunWith; |
||||
|
||||
import org.springframework.boot.testsupport.runner.classpath.ClassPathExclusions; |
||||
import org.springframework.boot.testsupport.runner.classpath.ModifiedClassPathRunner; |
||||
import org.springframework.test.util.ReflectionTestUtils; |
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
import org.springframework.ws.transport.http.HttpUrlConnectionMessageSender; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link WebServiceTemplateBuilder}. This test class check that builder will |
||||
* create HttpUrlConnectionMessageSender If Ok-http and Apache client are not present in |
||||
* the classpath. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
@RunWith(ModifiedClassPathRunner.class) |
||||
@ClassPathExclusions({ "httpclient-*.jar", "okhttp-*.jar" }) |
||||
public class WebServiceTemplateBuilderHttpUrlConnectionMessageSenderTests { |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void build() { |
||||
WebServiceTemplate webServiceTemplate = this.builder.build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).hasSize(1); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()[0]) |
||||
.isInstanceOf(HttpUrlConnectionMessageSender.class); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setTimeout() { |
||||
HttpUrlConnectionMessageSender sender = new HttpUrlConnectionMessageSender(); |
||||
|
||||
this.builder.setConnectionTimeout(5000).setReadTimeout(2000) |
||||
.setWebServiceMessageSender(() -> sender).build(); |
||||
|
||||
assertThat(ReflectionTestUtils.getField(sender, "connectionTimeout")) |
||||
.isEqualTo(Duration.ofMillis(5000)); |
||||
assertThat(ReflectionTestUtils.getField(sender, "readTimeout")) |
||||
.isEqualTo(Duration.ofMillis(2000)); |
||||
|
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,82 @@
@@ -0,0 +1,82 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import okhttp3.OkHttpClient; |
||||
import org.junit.Test; |
||||
import org.junit.runner.RunWith; |
||||
|
||||
import org.springframework.boot.testsupport.runner.classpath.ClassPathExclusions; |
||||
import org.springframework.boot.testsupport.runner.classpath.ModifiedClassPathRunner; |
||||
import org.springframework.http.client.BufferingClientHttpRequestFactory; |
||||
import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; |
||||
import org.springframework.test.util.ReflectionTestUtils; |
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
import org.springframework.ws.transport.http.ClientHttpRequestMessageSender; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link WebServiceTemplateBuilder}. This test class check that builder will |
||||
* create ClientHttpRequestMessageSender (OkHttp3ClientHttpRequestFactory) if apache |
||||
* client is not present in the classpath |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
@RunWith(ModifiedClassPathRunner.class) |
||||
@ClassPathExclusions("httpclient-*.jar") |
||||
public class WebServiceTemplateBuilderOkHttp3ClientHttpRequestFactoryTests { |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void build() { |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder.build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).hasSize(1); |
||||
assertThat(webServiceTemplate.getMessageSenders()[0]) |
||||
.isInstanceOf(ClientHttpRequestMessageSender.class); |
||||
|
||||
ClientHttpRequestMessageSender sender = (ClientHttpRequestMessageSender) webServiceTemplate |
||||
.getMessageSenders()[0]; |
||||
|
||||
assertThat(sender.getRequestFactory()) |
||||
.isInstanceOf(OkHttp3ClientHttpRequestFactory.class); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setTimeout() { |
||||
OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(); |
||||
ClientHttpRequestMessageSender sender = new ClientHttpRequestMessageSender( |
||||
new BufferingClientHttpRequestFactory(factory)); |
||||
|
||||
this.builder.setConnectionTimeout(5000).setReadTimeout(2000) |
||||
.setWebServiceMessageSender(() -> sender).build(); |
||||
|
||||
OkHttpClient client = (OkHttpClient) ReflectionTestUtils.getField(factory, |
||||
"client"); |
||||
|
||||
assertThat(client).isNotNull(); |
||||
|
||||
assertThat(client.connectTimeoutMillis()).isEqualTo(5000); |
||||
assertThat(client.readTimeoutMillis()).isEqualTo(2000); |
||||
|
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,52 @@
@@ -0,0 +1,52 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import org.junit.Test; |
||||
|
||||
import org.springframework.http.client.BufferingClientHttpRequestFactory; |
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory; |
||||
import org.springframework.test.util.ReflectionTestUtils; |
||||
import org.springframework.ws.transport.http.ClientHttpRequestMessageSender; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link WebServiceTemplateBuilder}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
public class WebServiceTemplateBuilderSimpleClientHttpRequestFactoryTests { |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void setTimeout() { |
||||
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); |
||||
ClientHttpRequestMessageSender sender = new ClientHttpRequestMessageSender( |
||||
new BufferingClientHttpRequestFactory(factory)); |
||||
|
||||
this.builder.setConnectionTimeout(5000).setReadTimeout(2000) |
||||
.setWebServiceMessageSender(() -> sender).build(); |
||||
|
||||
assertThat(ReflectionTestUtils.getField(factory, "connectTimeout")) |
||||
.isEqualTo(5000); |
||||
assertThat(ReflectionTestUtils.getField(factory, "readTimeout")).isEqualTo(2000); |
||||
|
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,520 @@
@@ -0,0 +1,520 @@
|
||||
/* |
||||
* Copyright 2012-2018 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.webservices.client; |
||||
|
||||
import java.net.URI; |
||||
import java.util.Collection; |
||||
import java.util.Collections; |
||||
import java.util.function.Supplier; |
||||
|
||||
import javax.xml.transform.TransformerFactory; |
||||
import javax.xml.transform.sax.SAXTransformerFactory; |
||||
|
||||
import org.junit.Test; |
||||
import org.mockito.Mockito; |
||||
|
||||
import org.springframework.oxm.jaxb.Jaxb2Marshaller; |
||||
import org.springframework.ws.client.core.FaultMessageResolver; |
||||
import org.springframework.ws.client.core.WebServiceTemplate; |
||||
import org.springframework.ws.client.support.interceptor.ClientInterceptor; |
||||
import org.springframework.ws.soap.client.core.SoapFaultMessageResolver; |
||||
import org.springframework.ws.soap.saaj.SaajSoapMessageFactory; |
||||
import org.springframework.ws.transport.WebServiceMessageSender; |
||||
import org.springframework.ws.transport.http.ClientHttpRequestMessageSender; |
||||
import org.springframework.ws.transport.http.HttpUrlConnectionMessageSender; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link WebServiceTemplateBuilder}. |
||||
* |
||||
* @author Dmytro Nosan |
||||
*/ |
||||
public class WebServiceTemplateBuilderTests { |
||||
|
||||
private WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); |
||||
|
||||
@Test |
||||
public void addInterceptors() { |
||||
ClientInterceptor f1 = Mockito.mock(ClientInterceptor.class); |
||||
ClientInterceptor f2 = Mockito.mock(ClientInterceptor.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder.addInterceptors(f1) |
||||
.addInterceptors(f2).build(); |
||||
|
||||
assertThat(webServiceTemplate.getInterceptors()).containsExactlyInAnyOrder(f1, |
||||
f2); |
||||
} |
||||
|
||||
@Test |
||||
public void addInterceptorsCollection() { |
||||
ClientInterceptor f1 = Mockito.mock(ClientInterceptor.class); |
||||
ClientInterceptor f2 = Mockito.mock(ClientInterceptor.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.addInterceptors(Collections.singletonList(f1)) |
||||
.addInterceptors(Collections.singleton(f2)).build(); |
||||
|
||||
assertThat(webServiceTemplate.getInterceptors()).containsExactlyInAnyOrder(f1, |
||||
f2); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setInterceptors() { |
||||
ClientInterceptor f1 = Mockito.mock(ClientInterceptor.class); |
||||
ClientInterceptor f2 = Mockito.mock(ClientInterceptor.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder.setInterceptors(f1) |
||||
.setInterceptors(f2).build(); |
||||
|
||||
assertThat(webServiceTemplate.getInterceptors()).doesNotContain(f1).contains(f2); |
||||
} |
||||
|
||||
@Test |
||||
public void setInterceptorsCollection() { |
||||
ClientInterceptor f1 = Mockito.mock(ClientInterceptor.class); |
||||
ClientInterceptor f2 = Mockito.mock(ClientInterceptor.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setInterceptors(Collections.singletonList(f1)) |
||||
.setInterceptors(Collections.singleton(f2)).build(); |
||||
|
||||
assertThat(webServiceTemplate.getInterceptors()).doesNotContain(f1).contains(f2); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void addCustomizers() { |
||||
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller(); |
||||
WebServiceTemplateCustomizer customizer = (ws) -> ws |
||||
.setMarshaller(jaxb2Marshaller); |
||||
WebServiceTemplateCustomizer customizer1 = (ws) -> ws |
||||
.setUnmarshaller(jaxb2Marshaller); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder.addCustomizers(customizer) |
||||
.addCustomizers(customizer1).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMarshaller()).isEqualTo(jaxb2Marshaller); |
||||
assertThat(webServiceTemplate.getUnmarshaller()).isEqualTo(jaxb2Marshaller); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void addCustomizersCollection() { |
||||
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller(); |
||||
WebServiceTemplateCustomizer customizer = (ws) -> ws |
||||
.setMarshaller(jaxb2Marshaller); |
||||
WebServiceTemplateCustomizer customizer1 = (ws) -> ws |
||||
.setUnmarshaller(jaxb2Marshaller); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.addCustomizers(Collections.singleton(customizer)) |
||||
.addCustomizers(Collections.singletonList(customizer1)).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMarshaller()).isEqualTo(jaxb2Marshaller); |
||||
assertThat(webServiceTemplate.getUnmarshaller()).isEqualTo(jaxb2Marshaller); |
||||
} |
||||
|
||||
@Test |
||||
public void setCustomizers() { |
||||
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller(); |
||||
WebServiceTemplateCustomizer customizer = (ws) -> ws |
||||
.setMarshaller(jaxb2Marshaller); |
||||
WebServiceTemplateCustomizer customizer1 = (ws) -> ws |
||||
.setUnmarshaller(jaxb2Marshaller); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder.setCustomizers(customizer) |
||||
.setCustomizers(customizer1).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMarshaller()).isNull(); |
||||
assertThat(webServiceTemplate.getUnmarshaller()).isEqualTo(jaxb2Marshaller); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setCustomizersCollection() { |
||||
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller(); |
||||
WebServiceTemplateCustomizer customizer = (ws) -> ws |
||||
.setMarshaller(jaxb2Marshaller); |
||||
WebServiceTemplateCustomizer customizer1 = (ws) -> ws |
||||
.setUnmarshaller(jaxb2Marshaller); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setCustomizers(Collections.singleton(customizer)) |
||||
.setCustomizers(Collections.singletonList(customizer1)).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMarshaller()).isNull(); |
||||
assertThat(webServiceTemplate.getUnmarshaller()).isEqualTo(jaxb2Marshaller); |
||||
} |
||||
|
||||
@Test |
||||
public void addWebServiceMessageSenders() { |
||||
WebServiceMessageSender sender = Mockito.mock(WebServiceMessageSender.class); |
||||
WebServiceMessageSender sender1 = Mockito.mock(WebServiceMessageSender.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.addWebServiceMessageSenders(Collections.singleton(() -> sender)) |
||||
.addWebServiceMessageSenders(Collections.singletonList(() -> sender1)) |
||||
.build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()) |
||||
.containsExactlyInAnyOrder(sender, sender1); |
||||
} |
||||
|
||||
@Test |
||||
public void setWebServiceMessageSenders() { |
||||
WebServiceMessageSender sender = Mockito.mock(WebServiceMessageSender.class); |
||||
WebServiceMessageSender sender1 = Mockito.mock(WebServiceMessageSender.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setWebServiceMessageSenders(Collections.singleton(() -> sender)) |
||||
.setWebServiceMessageSenders(Collections.singletonList(() -> sender1)) |
||||
.build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).doesNotContain(sender) |
||||
.contains(sender1); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void addWebServiceMessageSenderClass() { |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.addWebServiceMessageSender(ClientHttpRequestMessageSender.class) |
||||
.addWebServiceMessageSender(HttpUrlConnectionMessageSender.class).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).hasSize(2); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()[0]) |
||||
.isInstanceOf(ClientHttpRequestMessageSender.class); |
||||
assertThat(webServiceTemplate.getMessageSenders()[1]) |
||||
.isInstanceOf(HttpUrlConnectionMessageSender.class); |
||||
} |
||||
|
||||
@Test |
||||
public void setWebServiceMessageSenderClass() { |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setWebServiceMessageSender(ClientHttpRequestMessageSender.class) |
||||
.setWebServiceMessageSender(HttpUrlConnectionMessageSender.class).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).hasSize(1); |
||||
assertThat(webServiceTemplate.getMessageSenders()[0]) |
||||
.isInstanceOf(HttpUrlConnectionMessageSender.class); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void addWebServiceMessageSender() { |
||||
WebServiceMessageSender sender = Mockito.mock(WebServiceMessageSender.class); |
||||
WebServiceMessageSender sender1 = Mockito.mock(WebServiceMessageSender.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.addWebServiceMessageSender(() -> sender) |
||||
.addWebServiceMessageSender(() -> sender1).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()) |
||||
.containsExactlyInAnyOrder(sender, sender1); |
||||
} |
||||
|
||||
@Test |
||||
public void setWebServiceMessageSender() { |
||||
WebServiceMessageSender sender = Mockito.mock(WebServiceMessageSender.class); |
||||
WebServiceMessageSender sender1 = Mockito.mock(WebServiceMessageSender.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setWebServiceMessageSender(() -> sender) |
||||
.setWebServiceMessageSender(() -> sender1).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).doesNotContain(sender) |
||||
.contains(sender1); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setCheckConnectionForFault() { |
||||
MockWebServiceTemplate webServiceTemplate = this.builder |
||||
.setCheckConnectionForFault(false).build(MockWebServiceTemplate.class); |
||||
|
||||
assertThat(webServiceTemplate.isCheckConnectionForFault()).isFalse(); |
||||
} |
||||
|
||||
@Test |
||||
public void setCheckConnectionForError() { |
||||
|
||||
MockWebServiceTemplate webServiceTemplate = this.builder |
||||
.setCheckConnectionForError(false).build(MockWebServiceTemplate.class); |
||||
|
||||
assertThat(webServiceTemplate.isCheckConnectionForError()).isFalse(); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setTransformerFactoryClass() { |
||||
MockWebServiceTemplate webServiceTemplate = this.builder |
||||
.setTransformerFactoryClass(SAXTransformerFactory.class) |
||||
.build(MockWebServiceTemplate.class); |
||||
|
||||
assertThat(webServiceTemplate.getTransformerFactoryClass()) |
||||
.isEqualTo(SAXTransformerFactory.class); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setWebServiceMessageFactory() { |
||||
|
||||
SaajSoapMessageFactory messageFactory = new SaajSoapMessageFactory(); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setWebServiceMessageFactory(messageFactory).build(); |
||||
|
||||
assertThat(webServiceTemplate.getMessageFactory()).isEqualTo(messageFactory); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setMarshaller() { |
||||
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller(); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setMarshaller(jaxb2Marshaller).build(); |
||||
assertThat(webServiceTemplate.getMarshaller()).isEqualTo(jaxb2Marshaller); |
||||
} |
||||
|
||||
@Test |
||||
public void setUnmarshaller() { |
||||
Jaxb2Marshaller jaxb2Unmarshaller = new Jaxb2Marshaller(); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setUnmarshaller(jaxb2Unmarshaller).build(); |
||||
|
||||
assertThat(webServiceTemplate.getUnmarshaller()).isEqualTo(jaxb2Unmarshaller); |
||||
} |
||||
|
||||
@Test |
||||
public void setFaultMessageResolver() { |
||||
|
||||
FaultMessageResolver faultMessageResolver = new SoapFaultMessageResolver(); |
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setFaultMessageResolver(faultMessageResolver).build(); |
||||
|
||||
assertThat(webServiceTemplate.getFaultMessageResolver()) |
||||
.isEqualTo(faultMessageResolver); |
||||
} |
||||
|
||||
@Test |
||||
public void setDefaultUri() { |
||||
URI uri = URI.create("http://localhost:8080"); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder.setDefaultUri(uri.toString()) |
||||
.build(); |
||||
|
||||
assertThat(webServiceTemplate.getDestinationProvider().getDestination()) |
||||
.isEqualTo(uri); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void setDestinationProvider() { |
||||
URI uri = URI.create("http://localhost:8080"); |
||||
|
||||
WebServiceTemplate webServiceTemplate = this.builder |
||||
.setDestinationProvider(() -> uri).build(); |
||||
|
||||
assertThat(webServiceTemplate.getDestinationProvider().getDestination()) |
||||
.isEqualTo(uri); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void shouldNotOverrideDefaultSender() { |
||||
WebServiceMessageSender sender = Mockito.mock(WebServiceMessageSender.class); |
||||
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(); |
||||
webServiceTemplate.setMessageSender(sender); |
||||
|
||||
this.builder.detectWebServiceMessageSender(false).configure(webServiceTemplate); |
||||
|
||||
assertThat(webServiceTemplate.getMessageSenders()).hasSize(1).contains(sender); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void addInterceptorsToExistingWebServiceTemplate() { |
||||
ClientInterceptor f1 = Mockito.mock(ClientInterceptor.class); |
||||
ClientInterceptor f2 = Mockito.mock(ClientInterceptor.class); |
||||
|
||||
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(); |
||||
webServiceTemplate.setInterceptors(new ClientInterceptor[] { f1 }); |
||||
|
||||
this.builder.addInterceptors(f2).configure(webServiceTemplate); |
||||
|
||||
assertThat(webServiceTemplate.getInterceptors()).containsExactlyInAnyOrder(f2, |
||||
f1); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setInterceptorsArrayNull() { |
||||
this.builder.setInterceptors((ClientInterceptor[]) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setInterceptorsCollectionNull() { |
||||
this.builder.setInterceptors((Collection<? extends ClientInterceptor>) null) |
||||
.build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addInterceptorsArrayNull() { |
||||
this.builder.addInterceptors((ClientInterceptor[]) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addInterceptorsCollectionNull() { |
||||
this.builder.addInterceptors((Collection<? extends ClientInterceptor>) null) |
||||
.build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setCustomizersArrayNull() { |
||||
this.builder.setCustomizers((WebServiceTemplateCustomizer[]) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setCustomizersCollectionNull() { |
||||
this.builder |
||||
.setCustomizers((Collection<? extends WebServiceTemplateCustomizer>) null) |
||||
.build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addCustomizersArrayNull() { |
||||
this.builder |
||||
.addCustomizers((Collection<? extends WebServiceTemplateCustomizer>) null) |
||||
.build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addCustomizersCollectionNull() { |
||||
this.builder |
||||
.addCustomizers((Collection<? extends WebServiceTemplateCustomizer>) null) |
||||
.build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setWebServiceMessageSendersNull() { |
||||
this.builder.setWebServiceMessageSenders(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addWebServiceMessageSendersNull() { |
||||
this.builder.addWebServiceMessageSenders(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setWebServiceMessageSenderClassNull() { |
||||
this.builder.setWebServiceMessageSender( |
||||
(Class<? extends WebServiceMessageSender>) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addWebServiceMessageSenderClassNull() { |
||||
this.builder.addWebServiceMessageSender( |
||||
(Class<? extends WebServiceMessageSender>) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setWebServiceMessageSenderSupplierNull() { |
||||
this.builder.setWebServiceMessageSender( |
||||
(Supplier<? extends WebServiceMessageSender>) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void addWebServiceMessageSenderSupplierNull() { |
||||
this.builder.addWebServiceMessageSender( |
||||
(Supplier<? extends WebServiceMessageSender>) null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setWebServiceMessageFactoryNull() { |
||||
this.builder.setWebServiceMessageFactory(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setUnmarshallerNull() { |
||||
this.builder.setUnmarshaller(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setMarshallerNull() { |
||||
this.builder.setMarshaller(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setTransformerFactoryClassNull() { |
||||
this.builder.setTransformerFactoryClass(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setDefaultUriNull() { |
||||
this.builder.setDefaultUri(null).build(); |
||||
} |
||||
|
||||
@Test(expected = IllegalArgumentException.class) |
||||
public void setDestinationProviderNull() { |
||||
this.builder.setDestinationProvider(null).build(); |
||||
} |
||||
|
||||
private static class MockWebServiceTemplate extends WebServiceTemplate { |
||||
|
||||
private boolean checkConnectionForError; |
||||
|
||||
private boolean checkConnectionForFault; |
||||
|
||||
private Class<? extends TransformerFactory> transformerFactoryClass; |
||||
|
||||
boolean isCheckConnectionForError() { |
||||
return this.checkConnectionForError; |
||||
} |
||||
|
||||
@Override |
||||
public void setCheckConnectionForError(boolean checkConnectionForError) { |
||||
this.checkConnectionForError = checkConnectionForError; |
||||
} |
||||
|
||||
boolean isCheckConnectionForFault() { |
||||
return this.checkConnectionForFault; |
||||
} |
||||
|
||||
@Override |
||||
public void setCheckConnectionForFault(boolean checkConnectionForFault) { |
||||
this.checkConnectionForFault = checkConnectionForFault; |
||||
} |
||||
|
||||
Class<? extends TransformerFactory> getTransformerFactoryClass() { |
||||
return this.transformerFactoryClass; |
||||
} |
||||
|
||||
@Override |
||||
public void setTransformerFactoryClass( |
||||
Class<? extends TransformerFactory> transformerFactoryClass) { |
||||
this.transformerFactoryClass = transformerFactoryClass; |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue