@Override public String getConnectionDetails( JmsDelegate meta ) {
    StringBuilder connDetails = new StringBuilder();
    MQUrlResolver resolver = new MQUrlResolver( meta );
    connDetails.append( "Hostname: " ).append( resolver.host );
    connDetails.append( "\nPort: " ).append( resolver.port );
    connDetails.append( "\nChannel: " ).append( resolver.channel );
    connDetails.append( "\nQueueManager: " ).append( resolver.queueManager );
    connDetails.append( "\nUser Name: " ).append( meta.ibmUsername );
    connDetails.append( "\nPassword: " ).append( PW_DEBUG_MASK );

    if ( meta.sslEnabled ) {
      connDetails.append( "\nSSL Enabled: true" );
      connDetails.append( "\nKey Store: " ).append( meta.sslKeystorePath );
      connDetails.append( "\nKey Store Pass: " ).append( PW_DEBUG_MASK );
      connDetails.append( "\nKey Store Type: " ).append( meta.sslKeystoreType );
      connDetails.append( "\nTrust Store: " ).append( meta.sslTruststorePath );
      connDetails.append( "\nTrust Store Pass: " ).append( PW_DEBUG_MASK );
      connDetails.append( "\nTrust Store Type: " ).append( meta.sslTruststoreType );
      connDetails.append( "\nSSL Context Algorithm: " ).append( meta.sslContextAlgorithm );
      connDetails.append( "\nCipher Suite: " ).append( meta.sslCipherSuite );
      connDetails.append( "\nFIPS Required: " ).append( meta.ibmSslFipsRequired );
      connDetails.append( "\nUse Default SSL Context:" ).append( meta.sslUseDefaultContext );
    }

    return connDetails.toString();
  }
@Test
  public void getConnectionParams() {
    jmsDelegate.ibmUrl = IBM_URL_BASE;
    jmsDelegate.ibmUsername = IBM_USERNAME_VAL;
    jmsDelegate.ibmPassword = IBM_PASSWORD_VAL;

    jmsDelegate.sslEnabled = true;

    jmsDelegate.sslTruststorePath = TRUST_STORE_PATH_VAL;
    jmsDelegate.sslTruststorePassword = TRUST_STORE_PASS_VAL;
    jmsDelegate.sslTruststoreType = TRUST_STORE_TYPE_VAL;

    jmsDelegate.sslKeystorePath = KEY_STORE_PATH_VAL;
    jmsDelegate.sslKeystorePassword = KEY_STORE_PASS_VAL;
    jmsDelegate.sslKeystoreType = KEY_STORE_TYPE_VAL;

    jmsDelegate.sslCipherSuite = ENABLED_CIPHER_SUITES_VAL;
    jmsDelegate.sslContextAlgorithm = ENABLED_PROTOCOLS_VAL;
    jmsDelegate.ibmSslFipsRequired = FIPS_REQUIRED_VAL;
    jmsDelegate.sslUseDefaultContext = USE_DEFAULT_SSL_CONTEXT_VAL;

    String debugString = jmsProvider.getConnectionDetails( jmsDelegate );

    assertTrue( "Missing trust store path", debugString.contains( "Trust Store: " + TRUST_STORE_PATH_VAL ) );
    assertTrue( "Missing trust store password", debugString.contains( "Trust Store Pass: " + PASSWORD_MASK ) );
    assertTrue( "Missing trust store type", debugString.contains( "Trust Store Type: " + TRUST_STORE_TYPE_VAL ) );

    assertTrue( "Missing key store path", debugString.contains( "Key Store: " + KEY_STORE_PATH_VAL ) );
    assertTrue( "Missing key store password", debugString.contains( "Key Store Pass: " + PASSWORD_MASK ) );
    assertTrue( "Missing key store type", debugString.contains( "Key Store Type: " + KEY_STORE_TYPE_VAL ) );

    assertTrue( "Missing cipher suite", debugString.contains( "Cipher Suite: " + ENABLED_CIPHER_SUITES_VAL ) );
    assertTrue( "Missing protocols", debugString.contains( "SSL Context Algorithm: " + ENABLED_PROTOCOLS_VAL ) );

    assertTrue( "Missing host name", debugString.contains( "Hostname: " + HOST_NAME_VAL ) );
    assertTrue( "Missing port", debugString.contains( "Port: " + PORT_VAL ) );
    assertTrue( "Missing channel", debugString.contains( "Channel: " + CHANNEL_VAL ) );
    assertTrue( "Missing queue manager", debugString.contains( "QueueManager: " + QUEUE_MANAGER_VAL ) );
    assertTrue( "Missing username", debugString.contains( "User Name: " + IBM_USERNAME_VAL ) );
    assertTrue( "Missing password", debugString.contains( "Password: " + PASSWORD_MASK ) );
    assertTrue( "Missing use default SSL context",
      debugString.contains( "Use Default SSL Context:" + USE_DEFAULT_SSL_CONTEXT_VAL ) );


  }