Provide a default value for the AMQP port if not provided in the URI.
This commit is contained in:
@@ -86,6 +86,7 @@ public class CloudFoundryConnectorAmqpServiceTest extends AbstractCloudFoundryCo
|
||||
assertNotNull(amqpServiceInfo.getUri());
|
||||
assertTrue(amqpServiceInfo.getUri().contains(hostname));
|
||||
assertEquals("v/host1", amqpServiceInfo.getVirtualHost());
|
||||
assertEquals(5672, amqpServiceInfo.getPort());
|
||||
assertNotNull(amqpServiceInfo.getManagementUri());
|
||||
assertTrue(amqpServiceInfo.getManagementUri().contains(hostname));
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ import java.util.List;
|
||||
*/
|
||||
@ServiceLabel("rabbitmq")
|
||||
public class AmqpServiceInfo extends UriBasedServiceInfo {
|
||||
private static final Integer DEFAULT_AMQP_PORT = 5672;
|
||||
private static final Integer DEFAULT_AMQPS_PORT = 5671;
|
||||
|
||||
public static final String AMQP_SCHEME = "amqp";
|
||||
public static final String AMQPS_SCHEME = "amqps";
|
||||
@@ -87,6 +89,18 @@ public class AmqpServiceInfo extends UriBasedServiceInfo {
|
||||
return managementUris;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPort() {
|
||||
if (super.getPort() == -1) {
|
||||
if (getScheme().equals(AMQP_SCHEME)) {
|
||||
return DEFAULT_AMQP_PORT;
|
||||
} else if (getScheme().equals(AMQPS_SCHEME)) {
|
||||
return DEFAULT_AMQPS_PORT;
|
||||
}
|
||||
}
|
||||
return super.getPort();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UriInfo validateAndCleanUriInfo(UriInfo uriInfo) {
|
||||
if (uriInfo.getScheme() == null) {
|
||||
|
||||
@@ -55,6 +55,39 @@ public class AmqpServiceInfoTest {
|
||||
assertEquals("myvhost", serviceInfo.getVirtualHost());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void uriBasedParsingAmqpDefaultPort() {
|
||||
AmqpServiceInfo serviceInfo = new AmqpServiceInfo("id", "amqp://myuser:mypass@myhost/myvhost");
|
||||
|
||||
assertEquals("myhost", serviceInfo.getHost());
|
||||
assertEquals(5672, serviceInfo.getPort());
|
||||
assertEquals("myuser", serviceInfo.getUserName());
|
||||
assertEquals("mypass", serviceInfo.getPassword());
|
||||
assertEquals("myvhost", serviceInfo.getVirtualHost());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void uriBasedParsingAmqpsDefaultPort() {
|
||||
AmqpServiceInfo serviceInfo = new AmqpServiceInfo("id", "amqps://myuser:mypass@myhost/myvhost");
|
||||
|
||||
assertEquals("myhost", serviceInfo.getHost());
|
||||
assertEquals(5671, serviceInfo.getPort());
|
||||
assertEquals("myuser", serviceInfo.getUserName());
|
||||
assertEquals("mypass", serviceInfo.getPassword());
|
||||
assertEquals("myvhost", serviceInfo.getVirtualHost());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void uriBasedParsingUnknownSchemeDefaultPort() {
|
||||
AmqpServiceInfo serviceInfo = new AmqpServiceInfo("id", "amqpx://myuser:mypass@myhost/myvhost");
|
||||
|
||||
assertEquals("myhost", serviceInfo.getHost());
|
||||
assertEquals(-1, serviceInfo.getPort());
|
||||
assertEquals("myuser", serviceInfo.getUserName());
|
||||
assertEquals("mypass", serviceInfo.getPassword());
|
||||
assertEquals("myvhost", serviceInfo.getVirtualHost());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void uriBasedParsingEncodedVhost() {
|
||||
AmqpServiceInfo serviceInfo = new AmqpServiceInfo("id", "amqp://myuser:mypass@myhost:12345/my%2Fvhost");
|
||||
|
||||
Reference in New Issue
Block a user