@Test
  public void testGetProperties() throws Exception {
    String clientID = getTestName();
    String queuePrefix = "q:";
    String jmsOptionPrefix = "jms.";
    String clientIDprop = "clientID";
    String baseUri = "amqp://localhost:1234";
    String uri = baseUri + "?" + jmsOptionPrefix + clientIDprop + "=" + clientID;

    JmsConnectionFactory cf = new JmsConnectionFactory();

    // Set the URI property, itself containing a property option in its query
    cf.setRemoteURI(uri);
    // Set another property directly
    cf.setQueuePrefix(queuePrefix);

    // Get the properties
    Map<String, String> props = cf.getProperties();

    // Verify the clientID property option from the URI was applied.
    assertTrue(CLIENT_ID_PROP + " property not found", props.containsKey(CLIENT_ID_PROP));
    assertEquals(
        "clientID uri property query option not applied as expected",
        clientID,
        props.get(CLIENT_ID_PROP));
    assertTrue(QUEUE_PREFIX_PROP + " property not found", props.containsKey(QUEUE_PREFIX_PROP));
    assertEquals(
        "queue prefix property not applied as expected", queuePrefix, props.get(QUEUE_PREFIX_PROP));
  }