From 2fad0921d9dd9f99230a8a79dca0931f2e365663 Mon Sep 17 00:00:00 2001 From: pwielebs Date: Sat, 31 Mar 2018 13:12:34 +0200 Subject: UT added, project structure corrected Change-Id: I4695f56471e67e4519569bf8d72be1effe9f7015 Issue-ID: DCAEGEN2-407 Signed-off-by: pwielebs --- .../services/service/AAIExtendedHttpClient.java | 2 +- .../service/AAIExtendedHttpClientImpl.java | 2 +- .../main/java/services/service/AAIHttpClient.java | 2 +- .../java/services/service/AAIHttpClientImpl.java | 2 +- .../src/main/java/services/utils/HttpUtils.java | 12 ++-- .../service/AAIExtendedHttpClientImplTest.java | 84 ---------------------- .../service/AAIExtendedHttpClientImplTest.java | 84 ++++++++++++++++++++++ .../services/service/AAIHttpClientImplTest.java | 56 +++++++++++++++ .../services/service/utils/HTTPConfiguration.java | 62 ++++++++++++++++ .../java/services/service/utils/HttpUtilsTest.java | 42 +++++++++++ 10 files changed, 252 insertions(+), 96 deletions(-) delete mode 100644 prh-aai-client/src/main/test/java/services/service/AAIExtendedHttpClientImplTest.java create mode 100644 prh-aai-client/src/test/java/services/service/AAIExtendedHttpClientImplTest.java create mode 100644 prh-aai-client/src/test/java/services/service/AAIHttpClientImplTest.java create mode 100644 prh-aai-client/src/test/java/services/service/utils/HTTPConfiguration.java create mode 100644 prh-aai-client/src/test/java/services/service/utils/HttpUtilsTest.java diff --git a/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClient.java b/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClient.java index 8b7db1ba..41cf87e5 100644 --- a/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClient.java +++ b/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClient.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClientImpl.java b/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClientImpl.java index c7f7b0db..7a5a9f8b 100644 --- a/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClientImpl.java +++ b/prh-aai-client/src/main/java/services/service/AAIExtendedHttpClientImpl.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-aai-client/src/main/java/services/service/AAIHttpClient.java b/prh-aai-client/src/main/java/services/service/AAIHttpClient.java index 3dd17fc2..c1054d7b 100644 --- a/prh-aai-client/src/main/java/services/service/AAIHttpClient.java +++ b/prh-aai-client/src/main/java/services/service/AAIHttpClient.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-aai-client/src/main/java/services/service/AAIHttpClientImpl.java b/prh-aai-client/src/main/java/services/service/AAIHttpClientImpl.java index 76d090d6..39c91ddc 100644 --- a/prh-aai-client/src/main/java/services/service/AAIHttpClientImpl.java +++ b/prh-aai-client/src/main/java/services/service/AAIHttpClientImpl.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-aai-client/src/main/java/services/utils/HttpUtils.java b/prh-aai-client/src/main/java/services/utils/HttpUtils.java index f752d145..d4d5c880 100644 --- a/prh-aai-client/src/main/java/services/utils/HttpUtils.java +++ b/prh-aai-client/src/main/java/services/utils/HttpUtils.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ @@ -19,16 +19,12 @@ */ package services.utils; -public class HttpUtils { +import org.apache.http.HttpStatus; + +public class HttpUtils implements HttpStatus { private HttpUtils() {} - public static final Integer HTTP_OK_RESPONSE_CODE = 200; - public static final Integer HTTP_ACCEPTED_RESPONSE_CODE = 200; - public static final Integer HTTP_NONAUTHORATIVE_INFORMATION_RESPONSE_CODE = 203; - public static final Integer HTTP_NO_CONTENT_RESPONSE_CODE = 204; - public static final Integer HTTP_RESET_CONTENT_RESPONSE_CODE = 205; - public static final Integer HTTP_PARTIAL_CONTENT_RESPONSE_CODE = 206; public static final String JSON_APPLICATION_TYPE = "application/json"; public static boolean isSuccessfulResponseCode(Integer statusCode) { diff --git a/prh-aai-client/src/main/test/java/services/service/AAIExtendedHttpClientImplTest.java b/prh-aai-client/src/main/test/java/services/service/AAIExtendedHttpClientImplTest.java deleted file mode 100644 index 5932528b..00000000 --- a/prh-aai-client/src/main/test/java/services/service/AAIExtendedHttpClientImplTest.java +++ /dev/null @@ -1,84 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * PROJECT - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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 services.service; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import java.io.IOException; -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; -import org.apache.http.client.ResponseHandler; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import services.config.AAIHttpClientConfiguration; - -public class AAIExtendedHttpClientImplTest { - - private AAIExtendedHttpClientImpl testedObject; - private AAIHttpClientConfiguration aaiHttpClientConfigurationMock = mock(AAIHttpClientConfiguration.class); - private CloseableHttpClient closeableHttpClientMock = mock(CloseableHttpClient.class); - - @Before - public void init() throws NoSuchFieldException, IllegalAccessException { - when(aaiHttpClientConfigurationMock.aaiHost()).thenReturn("hostTest"); - when(aaiHttpClientConfigurationMock.aaiProtocol()).thenReturn("https"); - when(aaiHttpClientConfigurationMock.aaiHostPortNumber()).thenReturn(1234); - testedObject = new AAIExtendedHttpClientImpl(aaiHttpClientConfigurationMock); - setField(); - } - - @Test - public void getExtendedDetails_success() throws IOException { - String expectedResult = "getExtendedDetailsOK"; - Map queryParams = new HashMap<>(); - queryParams.put("key1", "value1"); - Map headers = new HashMap<>(); - headers.put("headerKey", "headerValue"); - - when(closeableHttpClientMock.execute(any(HttpGet.class), any(ResponseHandler.class))). - thenReturn(Optional.of(expectedResult)); - String actualResult = testedObject.getExtendedDetails("testPath", queryParams, headers); - Assert.assertEquals(expectedResult, actualResult); - } - - @Test - public void getExtendedDetails_returnsNull() throws IOException { - when(closeableHttpClientMock.execute(any(HttpGet.class), any(ResponseHandler.class))). - thenReturn(Optional.empty()); - String actualResult = testedObject.getExtendedDetails("testPath", new HashMap<>(), new HashMap<>()); - Assert.assertNull(actualResult); - } - - private void setField() throws NoSuchFieldException, IllegalAccessException { - Field field = testedObject.getClass().getDeclaredField("closeableHttpClient"); - field.setAccessible(true); - field.set(testedObject, closeableHttpClientMock); - } - - -} diff --git a/prh-aai-client/src/test/java/services/service/AAIExtendedHttpClientImplTest.java b/prh-aai-client/src/test/java/services/service/AAIExtendedHttpClientImplTest.java new file mode 100644 index 00000000..c46e034c --- /dev/null +++ b/prh-aai-client/src/test/java/services/service/AAIExtendedHttpClientImplTest.java @@ -0,0 +1,84 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. 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 services.service; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import org.apache.http.client.ResponseHandler; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import services.config.AAIHttpClientConfiguration; + +public class AAIExtendedHttpClientImplTest { + + private AAIExtendedHttpClientImpl testedObject; + private AAIHttpClientConfiguration aaiHttpClientConfigurationMock = mock(AAIHttpClientConfiguration.class); + private CloseableHttpClient closeableHttpClientMock = mock(CloseableHttpClient.class); + + @Before + public void init() throws NoSuchFieldException, IllegalAccessException { + when(aaiHttpClientConfigurationMock.aaiHost()).thenReturn("hostTest"); + when(aaiHttpClientConfigurationMock.aaiProtocol()).thenReturn("https"); + when(aaiHttpClientConfigurationMock.aaiHostPortNumber()).thenReturn(1234); + testedObject = new AAIExtendedHttpClientImpl(aaiHttpClientConfigurationMock); + setField(); + } + + @Test + public void getExtendedDetails_success() throws IOException { + String expectedResult = "getExtendedDetailsOK"; + Map queryParams = new HashMap<>(); + queryParams.put("key1", "value1"); + Map headers = new HashMap<>(); + headers.put("headerKey", "headerValue"); + + when(closeableHttpClientMock.execute(any(HttpGet.class), any(ResponseHandler.class))). + thenReturn(Optional.of(expectedResult)); + String actualResult = testedObject.getExtendedDetails("testPath", queryParams, headers); + Assert.assertEquals(expectedResult, actualResult); + } + + @Test + public void getExtendedDetails_returnsNull() throws IOException { + when(closeableHttpClientMock.execute(any(HttpGet.class), any(ResponseHandler.class))). + thenReturn(Optional.empty()); + String actualResult = testedObject.getExtendedDetails("testPath", new HashMap<>(), new HashMap<>()); + Assert.assertNull(actualResult); + } + + private void setField() throws NoSuchFieldException, IllegalAccessException { + Field field = testedObject.getClass().getDeclaredField("closeableHttpClient"); + field.setAccessible(true); + field.set(testedObject, closeableHttpClientMock); + } + + +} diff --git a/prh-aai-client/src/test/java/services/service/AAIHttpClientImplTest.java b/prh-aai-client/src/test/java/services/service/AAIHttpClientImplTest.java new file mode 100644 index 00000000..242e56d4 --- /dev/null +++ b/prh-aai-client/src/test/java/services/service/AAIHttpClientImplTest.java @@ -0,0 +1,56 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. 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 services.service; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import services.config.AAIHttpClientConfiguration; +import services.service.utils.HTTPConfiguration; + +import static org.junit.Assert.assertNotNull; + + +public class AAIHttpClientImplTest { + + private AAIHttpClientImpl aaiHttpClientImpl; + private AAIHttpClientConfiguration aaiHttpClientConfiguration; + + + @Before + public void setup() { + aaiHttpClientConfiguration = new HTTPConfiguration(); + aaiHttpClientImpl = new AAIHttpClientImpl(aaiHttpClientConfiguration); + } + + @After + public void teaDown() { + aaiHttpClientImpl = null; + } + + @Test + public void getAAIHttpClientObject_shouldNotBeNull() { + aaiHttpClientImpl.getAAIHttpClient(); + assertNotNull(aaiHttpClientImpl.getAAIHttpClient()); + } + +} + diff --git a/prh-aai-client/src/test/java/services/service/utils/HTTPConfiguration.java b/prh-aai-client/src/test/java/services/service/utils/HTTPConfiguration.java new file mode 100644 index 00000000..fb7b204a --- /dev/null +++ b/prh-aai-client/src/test/java/services/service/utils/HTTPConfiguration.java @@ -0,0 +1,62 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. 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 services.service.utils; + +import services.config.AAIHttpClientConfiguration; + +public class HTTPConfiguration extends AAIHttpClientConfiguration { + + private static final String AAI_HOST_NAME = "1.2.3.4"; + private static final Integer AAI_HOST_PORT_NUMBER = 1234; + private static final String AAI_HOST_PROTOCOL = "https"; + private static final String AAI_USER_NAME = "PRH"; + private static final String AAI_USER_PASS = "PRH"; + + @Override + public String aaiHost() { + return AAI_HOST_NAME; + } + + @Override + public Integer aaiHostPortNumber() { + return AAI_HOST_PORT_NUMBER; + } + + @Override + public String aaiProtocol() { + return AAI_HOST_PROTOCOL; + } + + @Override + public String aaiUserName() { + return AAI_USER_NAME; + } + + @Override + public String aaiUserPassword() { + return AAI_USER_PASS; + } + + @Override + public boolean aaiIgnoreSSLCertificateErrors() { + return true; + } +} \ No newline at end of file diff --git a/prh-aai-client/src/test/java/services/service/utils/HttpUtilsTest.java b/prh-aai-client/src/test/java/services/service/utils/HttpUtilsTest.java new file mode 100644 index 00000000..d54b335b --- /dev/null +++ b/prh-aai-client/src/test/java/services/service/utils/HttpUtilsTest.java @@ -0,0 +1,42 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. 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 services.service.utils; + +import org.apache.http.HttpStatus; +import org.junit.Test; +import services.utils.HttpUtils; + +import static junit.framework.TestCase.assertFalse; +import static junit.framework.TestCase.assertTrue; + + +public class HttpUtilsTest { + + @Test + public void isSuccessfulResponseCode_shouldReturnTrue() { + assertTrue(HttpUtils.isSuccessfulResponseCode(HttpUtils.SC_ACCEPTED)); + } + + @Test + public void isSuccessfulResponseCode_shouldReturnFalse() { + assertFalse(HttpUtils.isSuccessfulResponseCode(HttpStatus.SC_BAD_GATEWAY)); + } +} \ No newline at end of file -- cgit 1.2.3-korg