### Question:
MQTTConsumerMeta extends BaseStreamStepMeta implements StepMetaInterface { public Map<String, String> getSslConfig() { return conf( sslKeys, sslValues ).asMap(); } MQTTConsumerMeta(); void setDefault(); @Override String getFileName(); @Override RowMeta getRowMeta( String origin, VariableSpace space ); StepInterface getStep( StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta tr,
                                Trans trans ); StepDataInterface getStepData(); @SuppressWarnings ( { "deprecation" } ) // can be removed once the new @PluginDialog annotation supports OSGi String getDialogClassName(); String getMqttServer(); void setMqttServer( String mqttServer ); List<String> getTopics(); void setTopics( List<String> topics ); String getMsgOutputName(); void setMsgOutputName( String msgOutputName ); String getTopicOutputName(); void setTopicOutputName( String topicOutputName ); String getQos(); void setQos( String qos ); String getUsername(); void setUsername( String username ); String getPassword(); void setPassword( String password ); Map<String, String> getSslConfig(); void setSslConfig( Map<String, String> sslConfig ); boolean isUseSsl(); void setUseSsl( boolean useSsl ); String getKeepAliveInterval(); void setKeepAliveInterval( String keepAliveInterval ); String getMaxInflight(); void setMaxInflight( String maxInflight ); String getConnectionTimeout(); void setConnectionTimeout( String connectionTimeout ); String getCleanSession(); void setCleanSession( String cleanSession ); String getStorageLevel(); void setStorageLevel( String storageLevel ); String getServerUris(); void setServerUris( String serverUris ); String getMqttVersion(); void setMqttVersion( String mqttVersion ); String getAutomaticReconnect(); void setAutomaticReconnect( String automaticReconnect ); List<StepOption> retrieveOptions(); @Override void check( List<CheckResultInterface> remarks, TransMeta transMeta,
                     StepMeta stepMeta, RowMetaInterface prev, String[] input, String[] output,
                     RowMetaInterface info, VariableSpace space, Repository repository,
                     IMetaStore metaStore ); @Override boolean equals( Object o ); @Override int hashCode(); @Injection ( name = SSL_KEYS, group = SSL_GROUP )
  public List<String> sslKeys; @Sensitive
  @Injection ( name = SSL_VALUES, group = SSL_GROUP )
  public List<String> sslValues; }### Answer:
@Test public void testGetSslConfig() { meta.setDefault(); meta.setTopics( Collections.singletonList( "mytopic" ) ); Map<String, String> config = meta.getSslConfig(); assertTrue( config.size() > 0 ); assertThat( meta.sslKeys.size(), equalTo( config.size() ) ); assertTrue( config.keySet().containsAll( meta.sslKeys ) ); for ( int i = 0; i < meta.sslKeys.size(); i++ ) { assertThat( config.get( meta.sslKeys.get( i ) ), equalTo( meta.sslValues.get( i ) ) ); } MQTTConsumerMeta roundTrip = fromXml( meta.getXML() ); assertTrue( meta.equals( roundTrip ) ); }