From 7d54eda6f15476d0082796f923e8a0da17e56a22 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 7 Sep 2018 10:47:20 +0200 Subject: [PATCH] Fix tests --- ...itAutoConfigurationCompatibilityTests.java | 49 +++++++++++++++++++ .../amqp/RabbitAutoConfigurationTests.java | 11 ++--- 2 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationCompatibilityTests.java diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationCompatibilityTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationCompatibilityTests.java new file mode 100644 index 00000000000..9da7d5cd828 --- /dev/null +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationCompatibilityTests.java @@ -0,0 +1,49 @@ +/* + * 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.amqp; + +import javax.net.ssl.TrustManager; + +import com.rabbitmq.client.NullTrustManager; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.springframework.boot.junit.runner.classpath.ClassPathOverrides; +import org.springframework.boot.junit.runner.classpath.ModifiedClassPathRunner; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Compatibility tests for RabbitMQ with amqp-client 4.0.x + * + * @author Stephane Nicoll + */ +@RunWith(ModifiedClassPathRunner.class) +@ClassPathOverrides("com.rabbitmq:amqp-client:4.0.3") +public class RabbitAutoConfigurationCompatibilityTests + extends RabbitAutoConfigurationTests { + + @Test + public void enableSslWithValidateServerCertificateFalse() { + load(TestConfiguration.class, "spring.rabbitmq.ssl.enabled:true", + "spring.rabbitmq.ssl.validateServerCertificate=false"); + com.rabbitmq.client.ConnectionFactory rabbitConnectionFactory = getTargetConnectionFactory(); + TrustManager trustManager = getTrustManager(rabbitConnectionFactory); + assertThat(trustManager).isInstanceOf(NullTrustManager.class); + } + +} diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationTests.java index 9866f52cafb..087f035bad4 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfigurationTests.java @@ -22,6 +22,7 @@ import javax.net.ssl.TrustManager; import com.rabbitmq.client.Address; import com.rabbitmq.client.NullTrustManager; +import com.rabbitmq.client.TrustEverythingTrustManager; import org.aopalliance.aop.Advice; import org.junit.After; import org.junit.Rule; @@ -66,8 +67,6 @@ import static org.mockito.Mockito.verify; * * @author Greg Turnquist * @author Stephane Nicoll - * @author Gary Russell - * @author Stephane Nicoll */ public class RabbitAutoConfigurationTests { @@ -438,7 +437,7 @@ public class RabbitAutoConfigurationTests { "spring.rabbitmq.ssl.validateServerCertificate=false"); com.rabbitmq.client.ConnectionFactory rabbitConnectionFactory = getTargetConnectionFactory(); TrustManager trustManager = getTrustManager(rabbitConnectionFactory); - assertThat(trustManager).isInstanceOf(NullTrustManager.class); + assertThat(trustManager).isInstanceOf(TrustEverythingTrustManager.class); } @Test @@ -449,7 +448,7 @@ public class RabbitAutoConfigurationTests { assertThat(trustManager).isNotInstanceOf(NullTrustManager.class); } - private TrustManager getTrustManager( + protected TrustManager getTrustManager( com.rabbitmq.client.ConnectionFactory rabbitConnectionFactory) { Object sslContext = ReflectionTestUtils.getField(rabbitConnectionFactory, "sslContext"); @@ -461,7 +460,7 @@ public class RabbitAutoConfigurationTests { return (TrustManager) trustManager; } - private com.rabbitmq.client.ConnectionFactory getTargetConnectionFactory() { + protected com.rabbitmq.client.ConnectionFactory getTargetConnectionFactory() { CachingConnectionFactory connectionFactory = this.context .getBean(CachingConnectionFactory.class); return (com.rabbitmq.client.ConnectionFactory) new DirectFieldAccessor( @@ -475,7 +474,7 @@ public class RabbitAutoConfigurationTests { return expression.getValue(); } - private void load(Class config, String... environment) { + protected void load(Class config, String... environment) { load(new Class[] { config }, environment); }