@Test public void testDefaultSslConfiguration() { AmqpAppender appender = new AmqpAppender(); appender.setUseSsl(true); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verifyDefaultHostProperties(bean); verify(bean).setUseSSL(eq(true)); verify(bean, never()).setSslAlgorithm(anyString()); }
@Test public void testSslConfigurationWithSslPropertiesResource() { AmqpAppender appender = new AmqpAppender(); appender.setUseSsl(true); String path = "ssl.properties"; appender.setSslPropertiesLocation("classpath:" + path); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verifyDefaultHostProperties(bean); verify(bean).setUseSSL(eq(true)); verify(bean).setSslPropertiesLocation(eq(new ClassPathResource(path))); verify(bean, never()).setKeyStore(anyString()); verify(bean, never()).setKeyStorePassphrase(anyString()); verify(bean, never()).setKeyStoreType(anyString()); verify(bean, never()).setTrustStore(anyString()); verify(bean, never()).setTrustStorePassphrase(anyString()); verify(bean, never()).setTrustStoreType(anyString()); }
@Test public void testDefaultConfiguration() { AmqpAppender appender = new AmqpAppender(); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verifyDefaultHostProperties(bean); verify(bean, never()).setUseSSL(anyBoolean()); }
@Test public void testSslConfigurationWithAlgorithm() { AmqpAppender appender = new AmqpAppender(); appender.setUseSsl(true); String sslAlgorithm = "TLSv2"; appender.setSslAlgorithm(sslAlgorithm); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verifyDefaultHostProperties(bean); verify(bean).setUseSSL(eq(true)); verify(bean).setSslAlgorithm(eq(sslAlgorithm)); }
@Test public void testSslConfigurationWithKeyAndTrustStoreDefaultTypes() { AmqpAppender appender = new AmqpAppender(); appender.setUseSsl(true); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verifyDefaultHostProperties(bean); verify(bean).setUseSSL(eq(true)); verify(bean).setKeyStoreType("JKS"); verify(bean).setTrustStoreType("JKS"); }
@Test public void testSslConfigurationWithKeyAndTrustStore() { AmqpAppender appender = new AmqpAppender(); appender.setUseSsl(true); String keyStore = "file:/path/to/client/keycert.p12"; String keyStorePassphrase = "secret"; String keyStoreType = "foo"; String trustStore = "file:/path/to/client/truststore"; String trustStorePassphrase = "secret2"; String trustStoreType = "bar"; appender.setKeyStore(keyStore); appender.setKeyStorePassphrase(keyStorePassphrase); appender.setKeyStoreType(keyStoreType); appender.setTrustStore(trustStore); appender.setTrustStorePassphrase(trustStorePassphrase); appender.setTrustStoreType(trustStoreType); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verifyDefaultHostProperties(bean); verify(bean).setUseSSL(eq(true)); verify(bean, never()).setSslPropertiesLocation(any()); verify(bean).setKeyStore(keyStore); verify(bean).setKeyStorePassphrase(keyStorePassphrase); verify(bean).setKeyStoreType(keyStoreType); verify(bean).setTrustStore(trustStore); verify(bean).setTrustStorePassphrase(trustStorePassphrase); verify(bean).setTrustStoreType(trustStoreType); }
@Test public void testCustomHostInformation() throws URISyntaxException { AmqpAppender appender = new AmqpAppender(); String host = "rabbitmq.com"; int port = 5671; String username = "user"; String password = "password"; String virtualHost = "vhost"; URI uri = new URI("amqps://user:password@rabbitmq.com/vhost"); appender.setHost(host); appender.setPassword(password); appender.setPort(port); appender.setUsername(username); appender.setVirtualHost(virtualHost); appender.setUri(uri); RabbitConnectionFactoryBean bean = mock(RabbitConnectionFactoryBean.class); appender.configureRabbitConnectionFactory(bean); verify(bean).setHost(host); verify(bean).setPort(port); verify(bean).setUsername(username); verify(bean).setPassword(password); verify(bean).setVirtualHost(virtualHost); verify(bean).setUri(uri); }
@Test public void testStartWithInvalidConnectionConfiguration() { AmqpAppender appender = new AmqpAppender(); appender.setUseSsl(true); appender.setKeyStore("foo"); appender.start(); assertFalse((boolean) ReflectionTestUtils.getField(appender, "started")); }