From bcbd2f6333af7191790fcc6fcc6b99163f33af51 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Fri, 31 Oct 2014 09:51:45 -0400 Subject: [PATCH] Remove strict check for 'amqp' scheme in AmqpServiceInfo --- .../cloud/service/common/AmqpServiceInfo.java | 4 ++-- .../cloud/service/rabbit/RabbitServiceInfoTest.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/spring-cloud-core/src/main/java/org/springframework/cloud/service/common/AmqpServiceInfo.java b/spring-cloud-core/src/main/java/org/springframework/cloud/service/common/AmqpServiceInfo.java index aa7bb98..23982c2 100644 --- a/spring-cloud-core/src/main/java/org/springframework/cloud/service/common/AmqpServiceInfo.java +++ b/spring-cloud-core/src/main/java/org/springframework/cloud/service/common/AmqpServiceInfo.java @@ -31,8 +31,8 @@ public class AmqpServiceInfo extends UriBasedServiceInfo { @Override protected UriInfo validateAndCleanUriInfo(UriInfo uriInfo) { - if (!URI_SCHEME.equals(uriInfo.getScheme())) { - throw new IllegalArgumentException("wrong scheme in amqp URI: " + uriInfo); + if (uriInfo.getScheme() == null) { + throw new IllegalArgumentException("missing scheme in amqp URI: " + uriInfo); } if (uriInfo.getHost() == null) { diff --git a/spring-cloud-spring-service-connector/src/test/java/org/springframework/cloud/service/rabbit/RabbitServiceInfoTest.java b/spring-cloud-spring-service-connector/src/test/java/org/springframework/cloud/service/rabbit/RabbitServiceInfoTest.java index f6d33e2..7a3cdbf 100644 --- a/spring-cloud-spring-service-connector/src/test/java/org/springframework/cloud/service/rabbit/RabbitServiceInfoTest.java +++ b/spring-cloud-spring-service-connector/src/test/java/org/springframework/cloud/service/rabbit/RabbitServiceInfoTest.java @@ -21,10 +21,15 @@ public class RabbitServiceInfoTest { assertEquals("mypass", serviceInfo.getPassword()); assertEquals("myvhost", serviceInfo.getVirtualHost()); } - + @Test(expected=IllegalArgumentException.class) - public void badProtocol() { - new AmqpServiceInfo("id", "XX://myuser:mypass@myhost:12345/myvhost"); + public void missingScheme() { + new AmqpServiceInfo("id", "://myuser:mypass@:12345/myvhost"); + } + + public void amqpsSchemeAccepted() { + AmqpServiceInfo serviceInfo = new AmqpServiceInfo("id", "amqps://myuser:mypass@myhost:12345/myvhost"); + assertEquals("amqps", serviceInfo.getScheme()); } @Test(expected=IllegalArgumentException.class)