aboutsummaryrefslogtreecommitdiffstats
path: root/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java')
-rw-r--r--rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java61
1 files changed, 39 insertions, 22 deletions
diff --git a/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java b/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java
index 6fd22007..9d670c65 100644
--- a/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java
+++ b/rest-services/dmaap-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/dmaap/client/service/consumer/DMaaPReactiveWebClientFactoryTest.java
@@ -20,17 +20,21 @@
package org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.service.consumer;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import io.netty.handler.ssl.SslContext;
-import javax.net.ssl.SSLException;
-import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapConsumerConfiguration;
-import org.onap.dcaegen2.services.sdk.rest.services.ssl.SslFactory;
import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.CloudHttpClient;
+import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.utlis.SecurityKeysUtil;
+import org.onap.dcaegen2.services.sdk.security.ssl.SecurityKeys;
+import org.onap.dcaegen2.services.sdk.security.ssl.SslFactory;
/**
@@ -38,16 +42,18 @@ import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.CloudHttpClien
*/
class DMaaPReactiveWebClientFactoryTest {
- private static final String KEY_STORE = "keyStore";
- private static final String KEY_STORE_PASS = "keyStorePass";
- private static final String TRUST_STORE = "trustStore";
- private static final String TRUST_STORE_PASS = "trustStorePass";
+ private static final String KEY_STORE_RESOURCE_PATH = "/org.onap.dcae.jks";
+ private static final String KEY_STORE_PASS_RESOURCE_PATH = "/keystore.password";
+ private static final String TRUST_STORE_RESOURCE_PATH = "/org.onap.dcae.trust.jks";
+ private static final String TRUST_STORE_PASS_RESOURCE_PATH = "/truststore.password";
private SslFactory sslFactory = mock(SslFactory.class);
private SslContext dummySslContext = mock(SslContext.class);
private DMaaPReactiveWebClientFactory webClientFactory = new DMaaPReactiveWebClientFactory(sslFactory);
+ private ArgumentCaptor<SecurityKeys> securityKeysArgumentCaptor = ArgumentCaptor
+ .forClass(SecurityKeys.class);
@Test
- void builder_shouldBuildDMaaPReactiveWebClientwithInsecureSslContext() throws Exception {
+ void builder_shouldBuildDMaaPReactiveWebClientwithInsecureSslContext(){
//given
DmaapConsumerConfiguration dmaapConsumerConfiguration = givenDmaapConfigurationWithSslDisabled();
@@ -55,39 +61,50 @@ class DMaaPReactiveWebClientFactoryTest {
CloudHttpClient dmaapReactiveWebClient = webClientFactory.build(dmaapConsumerConfiguration);
//then
- Assertions.assertNotNull(dmaapReactiveWebClient);
- verify(sslFactory).createInsecureContext();
+ assertNotNull(dmaapReactiveWebClient);
+ verify(sslFactory).createInsecureClientContext();
}
@Test
- void builder_shouldBuildDMaaPReactiveWebClientwithSecureSslContext() throws Exception {
+ void builder_shouldBuildDMaaPReactiveWebClientwithSecureSslContext(){
//given
DmaapConsumerConfiguration dmaapConsumerConfiguration = givenDmaapConfigurationWithSslEnabled();
+ SecurityKeys givenKeys = SecurityKeysUtil.fromDmappCustomConfig(dmaapConsumerConfiguration);
//when
CloudHttpClient dmaapReactiveWebClient = webClientFactory.build(dmaapConsumerConfiguration);
//then
- Assertions.assertNotNull(dmaapReactiveWebClient);
- verify(sslFactory).createSecureContext(KEY_STORE, KEY_STORE_PASS, TRUST_STORE, TRUST_STORE_PASS);
+ assertNotNull(dmaapReactiveWebClient);
+
+ verify(sslFactory).createSecureClientContext(securityKeysArgumentCaptor.capture());
+
+ SecurityKeys capturedKeys = securityKeysArgumentCaptor.getValue();
+
+ assertEquals(capturedKeys.keyStore().path(), givenKeys.keyStore().path());
+ assertEquals(capturedKeys.keyStorePassword().toString(), givenKeys.keyStorePassword().toString());
+ assertEquals(capturedKeys.trustStore().path(), givenKeys.trustStore().path());
+ assertEquals(capturedKeys.trustStorePassword().toString(), givenKeys.trustStorePassword().toString());
}
- private DmaapConsumerConfiguration givenDmaapConfigurationWithSslDisabled() throws SSLException {
+ private DmaapConsumerConfiguration givenDmaapConfigurationWithSslDisabled(){
DmaapConsumerConfiguration dmaapConsumerConfiguration = mock(DmaapConsumerConfiguration.class);
when(dmaapConsumerConfiguration.enableDmaapCertAuth()).thenReturn(false);
- when(sslFactory.createInsecureContext()).thenReturn(dummySslContext);
+ when(sslFactory.createInsecureClientContext()).thenReturn(dummySslContext);
return dmaapConsumerConfiguration;
}
- private DmaapConsumerConfiguration givenDmaapConfigurationWithSslEnabled() throws SSLException {
+ private DmaapConsumerConfiguration givenDmaapConfigurationWithSslEnabled(){
DmaapConsumerConfiguration dmaapConsumerConfiguration = mock(DmaapConsumerConfiguration.class);
+
when(dmaapConsumerConfiguration.enableDmaapCertAuth()).thenReturn(true);
- when(dmaapConsumerConfiguration.keyStorePath()).thenReturn(KEY_STORE);
- when(dmaapConsumerConfiguration.keyStorePasswordPath()).thenReturn(KEY_STORE_PASS);
- when(dmaapConsumerConfiguration.trustStorePath()).thenReturn(TRUST_STORE);
- when(dmaapConsumerConfiguration.trustStorePasswordPath()).thenReturn(TRUST_STORE_PASS);
- when(sslFactory.createSecureContext(KEY_STORE, KEY_STORE_PASS, TRUST_STORE, TRUST_STORE_PASS))
- .thenReturn(dummySslContext);
+ when(dmaapConsumerConfiguration.keyStorePath()).thenReturn(KEY_STORE_RESOURCE_PATH);
+ when(dmaapConsumerConfiguration.keyStorePasswordPath()).thenReturn(KEY_STORE_PASS_RESOURCE_PATH);
+ when(dmaapConsumerConfiguration.trustStorePath()).thenReturn(TRUST_STORE_RESOURCE_PATH);
+ when(dmaapConsumerConfiguration.trustStorePasswordPath()).thenReturn(TRUST_STORE_PASS_RESOURCE_PATH);
+
+ when(sslFactory.createSecureClientContext(any(SecurityKeys.class))).thenReturn(dummySslContext);
+
return dmaapConsumerConfiguration;
}
} \ No newline at end of file