ConnectionFactory getConnectionFactory() {
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(this.config.getHost());
        factory.setPort(this.config.getPort());
        factory.setVirtualHost(this.config.getVirtualHost());
        factory.setUsername(this.config.getUsername());
        factory.setPassword(this.config.getPassword());
        factory.setAutomaticRecoveryEnabled(this.config.isAutomaticRecoveryEnabled());
        factory.setConnectionTimeout(this.config.getConnectionTimeout());
        factory.setHandshakeTimeout(this.config.getHandshakeTimeout());
        this.config.getClientProperties().forEach((k, v) -> factory.getClientProperties().put(k, v));
        return factory;
    }
@Test
    public void verifyGetConnectionFactoryMethod() {
        ReflectionTestUtils.setField(node, "config", config);

        ConnectionFactory connectionFactory = node.getConnectionFactory();
        assertThat(connectionFactory).isNotNull();
        assertThat(connectionFactory.getHost()).isEqualTo(config.getHost());
        assertThat(connectionFactory.getPort()).isEqualTo(config.getPort());
        assertThat(connectionFactory.getVirtualHost()).isEqualTo(config.getVirtualHost());
        assertThat(connectionFactory.getUsername()).isEqualTo(config.getUsername());
        assertThat(connectionFactory.getPassword()).isEqualTo(config.getPassword());
        assertThat(connectionFactory.isAutomaticRecoveryEnabled()).isEqualTo(config.isAutomaticRecoveryEnabled());
        assertThat(connectionFactory.getConnectionTimeout()).isEqualTo(config.getConnectionTimeout());
        assertThat(connectionFactory.getHandshakeTimeout()).isEqualTo(config.getHandshakeTimeout());
        Map<String, Object> expectedClientProperties = new ConnectionFactory().getClientProperties();
        expectedClientProperties.putAll(config.getClientProperties());
        assertThat(connectionFactory.getClientProperties()).isEqualTo(expectedClientProperties);
    }