aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdyta Krukowska <edyta.krukowska@nokia.com>2020-12-03 13:34:09 +0100
committerEdyta Krukowska <edyta.krukowska@nokia.com>2020-12-03 14:12:55 +0100
commit12c56819dae5e28396ad192e07c87029bd9977f4 (patch)
tree928e4fd6fa6708cf79ac5f45e26eeb018fc12d93
parentda39a4cd6d73278a8be6e48602f2acb5af1dc1c3 (diff)
Increase code coverage
Issue-ID: SDC-3388 Signed-off-by: Edyta Krukowska <edyta.krukowska@nokia.com> Change-Id: I4cf8c47bc05e550edb29399b25aa87d8f1d93ecf
-rw-r--r--sdc-distribution-client/src/test/java/org/onap/sdc/http/HttpClientFactoryTest.java86
-rw-r--r--sdc-distribution-client/src/test/resources/asdc-client.jksbin0 -> 1177 bytes
2 files changed, 86 insertions, 0 deletions
diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/http/HttpClientFactoryTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/http/HttpClientFactoryTest.java
new file mode 100644
index 0000000..4594fb9
--- /dev/null
+++ b/sdc-distribution-client/src/test/java/org/onap/sdc/http/HttpClientFactoryTest.java
@@ -0,0 +1,86 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdc-distribution-client
+ * ================================================================================
+ * Copyright (C) 2020 Nokia. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.sdc.http;
+
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.junit.Test;
+import org.onap.sdc.utils.Pair;
+import org.onap.sdc.utils.TestConfiguration;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+
+public class HttpClientFactoryTest {
+
+ @Test
+ public void shouldReturnSSLConnection(){
+ TestConfiguration config = spy(new TestConfiguration());
+ HttpClientFactory httpClientFactory = new HttpClientFactory(config);
+ when(config.activateServerTLSAuth()).thenReturn(true);
+ when(config.getKeyStorePath()).thenReturn("src/test/resources/asdc-client.jks");
+ when(config.getKeyStorePassword()).thenReturn("Aa123456");
+ Pair<String, CloseableHttpClient> client = httpClientFactory.createInstance();
+ SSLConnectionSocketFactory sslsf = spy(SSLConnectionSocketFactory.getSocketFactory());
+ CredentialsProvider credsProvider = new BasicCredentialsProvider();
+ CloseableHttpClient expectedHttpClient = HttpClientBuilder.create().
+ setDefaultCredentialsProvider(credsProvider).
+ setSSLSocketFactory(sslsf).
+ build();
+ Pair<String, CloseableHttpClient> expectedClient = new Pair<>("https://", expectedHttpClient);
+ assertNotNull(client);
+ assertEquals(expectedClient.getFirst(), client.getFirst());
+ }
+
+ @Test
+ public void shouldReturnSSLConnectionWithHttp(){
+ TestConfiguration config = spy(new TestConfiguration());
+ HttpClientFactory httpClientFactory = new HttpClientFactory(config);
+ when(config.activateServerTLSAuth()).thenReturn(false);
+ when(config.isUseHttpsWithSDC()).thenReturn(false);
+ Pair<String, CloseableHttpClient> client = httpClientFactory.createInstance();
+ SSLConnectionSocketFactory sslsf = spy(SSLConnectionSocketFactory.getSocketFactory());
+ CredentialsProvider credsProvider = new BasicCredentialsProvider();
+ CloseableHttpClient expectedHttpClient = HttpClientBuilder.create().
+ setDefaultCredentialsProvider(credsProvider).
+ setSSLSocketFactory(sslsf).
+ build();
+ Pair<String, CloseableHttpClient> expectedClient = new Pair<>("http://", expectedHttpClient);
+ assertNotNull(client);
+ assertEquals(expectedClient.getFirst(), client.getFirst());
+ }
+
+ @Test (expected = HttpAsdcClientException.class)
+ public void shouldReturnSSLConnectionError() throws HttpAsdcClientException{
+ TestConfiguration config = spy(new TestConfiguration());
+ HttpClientFactory httpClientFactory = new HttpClientFactory(config);
+ when(config.activateServerTLSAuth()).thenReturn(true);
+ when(config.getKeyStorePath()).thenReturn("src/test/resources/dummy.jks");
+ when(config.getKeyStorePassword()).thenReturn("Aa123456");
+ httpClientFactory.createInstance();
+ }
+
+} \ No newline at end of file
diff --git a/sdc-distribution-client/src/test/resources/asdc-client.jks b/sdc-distribution-client/src/test/resources/asdc-client.jks
new file mode 100644
index 0000000..eb0a0d3
--- /dev/null
+++ b/sdc-distribution-client/src/test/resources/asdc-client.jks
Binary files differ