From fac210b761cd132dce05392325123b67aec10b23 Mon Sep 17 00:00:00 2001 From: Tomasz Golabek Date: Tue, 3 Sep 2019 12:13:54 +0200 Subject: unit tests - common-app-api Additional junit tests for common Change-Id: I79dd83e4de767652c019db292bdf7a23d9dca8a4 Issue-ID: SDC-2326 Signed-off-by: Tomasz Golabek --- .../sdc/common/http/client/api/HttpClientTest.java | 85 ++++++++++++++++++++++ .../http/config/ExternalServiceConfigTest.java | 38 ++++++++++ .../common/http/config/HttpRequestConfigTest.java | 38 ++++++++++ .../common/jsongraph/util/CommonUtilityTest.java | 75 +++++++++++++++++++ 4 files changed, 236 insertions(+) create mode 100644 common-app-api/src/test/java/org/openecomp/sdc/common/http/client/api/HttpClientTest.java create mode 100644 common-app-api/src/test/java/org/openecomp/sdc/common/http/config/ExternalServiceConfigTest.java create mode 100644 common-app-api/src/test/java/org/openecomp/sdc/common/http/config/HttpRequestConfigTest.java create mode 100644 common-app-api/src/test/java/org/openecomp/sdc/common/jsongraph/util/CommonUtilityTest.java diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/http/client/api/HttpClientTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/http/client/api/HttpClientTest.java new file mode 100644 index 0000000000..1b480acd46 --- /dev/null +++ b/common-app-api/src/test/java/org/openecomp/sdc/common/http/client/api/HttpClientTest.java @@ -0,0 +1,85 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2019 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.openecomp.sdc.common.http.client.api; + +import java.io.IOException; +import java.util.Properties; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPatch; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.entity.BasicHttpEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.protocol.HttpContext; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.openecomp.sdc.common.datastructure.FunctionalInterfaces.FunctionThrows; +import org.openecomp.sdc.common.http.config.HttpClientConfig; + +@RunWith(MockitoJUnitRunner.class) +public class HttpClientTest { + + public static final String URL = "URL"; + @Mock + private CloseableHttpClient closeableHttpClient; + @Mock + private FunctionThrows, Exception> responseBuilder; + @Mock + private HttpClientConfig config; + + private HttpClientConfigImmutable configImmutable; + private HttpClient httpClient; + + @Before + public void setUp() throws Exception { + configImmutable = new HttpClientConfigImmutable(config); + httpClient = new HttpClient(closeableHttpClient, configImmutable); + } + + @Test + public void shouldSendPutRequest() throws HttpExecuteException, IOException { + httpClient.put(URL, new Properties(), new BasicHttpEntity(), responseBuilder); + Mockito.verify(closeableHttpClient).execute(Mockito.any(HttpPut.class), Mockito.isNull()); + } + + @Test + public void shouldSendPostRequest() throws HttpExecuteException, IOException { + httpClient.post(URL, new Properties(), new BasicHttpEntity(), responseBuilder); + Mockito.verify(closeableHttpClient).execute(Mockito.any(HttpPost.class), Mockito.isNull()); + } + + @Test + public void shouldSendPatchRequest() throws HttpExecuteException, IOException { + httpClient.patch(URL, new Properties(), new BasicHttpEntity(), responseBuilder); + Mockito.verify(closeableHttpClient).execute(Mockito.any(HttpPatch.class), Mockito.isNull()); + } + + @Test + public void shouldSendGetRequest() throws HttpExecuteException, IOException { + httpClient.get(URL, new Properties(), responseBuilder); + Mockito.verify(closeableHttpClient).execute(Mockito.any(HttpGet.class), Mockito.isNull()); + } + +} \ No newline at end of file diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/http/config/ExternalServiceConfigTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/http/config/ExternalServiceConfigTest.java new file mode 100644 index 0000000000..c9f86c9b34 --- /dev/null +++ b/common-app-api/src/test/java/org/openecomp/sdc/common/http/config/ExternalServiceConfigTest.java @@ -0,0 +1,38 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2019 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.openecomp.sdc.common.http.config; + +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToString; +import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +public class ExternalServiceConfigTest { + @Test + public void shouldHaveValidGettersAndSetters() { + assertThat(ExternalServiceConfig.class, hasValidGettersAndSetters()); + } + + @Test + public void shouldHaveValidToString() { + assertThat(ExternalServiceConfig.class, hasValidBeanToString()); + } +} \ No newline at end of file diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/http/config/HttpRequestConfigTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/http/config/HttpRequestConfigTest.java new file mode 100644 index 0000000000..13f7e4df98 --- /dev/null +++ b/common-app-api/src/test/java/org/openecomp/sdc/common/http/config/HttpRequestConfigTest.java @@ -0,0 +1,38 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2019 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.openecomp.sdc.common.http.config; + +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToString; +import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +public class HttpRequestConfigTest { + @Test + public void shouldHaveValidGettersAndSetters() { + assertThat(HttpRequestConfig.class, hasValidGettersAndSetters()); + } + + @Test + public void shouldHaveValidToString() { + assertThat(HttpRequestConfig.class, hasValidBeanToString()); + } +} \ No newline at end of file diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/jsongraph/util/CommonUtilityTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/jsongraph/util/CommonUtilityTest.java new file mode 100644 index 0000000000..83206d6f79 --- /dev/null +++ b/common-app-api/src/test/java/org/openecomp/sdc/common/jsongraph/util/CommonUtilityTest.java @@ -0,0 +1,75 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2019 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.openecomp.sdc.common.jsongraph.util; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.openecomp.sdc.common.jsongraph.util.CommonUtility.LogLevelEnum; +import org.openecomp.sdc.common.log.wrappers.Logger; + +@RunWith(MockitoJUnitRunner.class) +public class CommonUtilityTest { + + @Mock + private Logger logger; + + private static final String ARGUMENT1 = "ARGUMENT1"; + private static final String ARGUMENT2 = "ARGUMENT2"; + private static final String ARGUMENT3 = "ARGUMENT3"; + private static final String FORMAT = "FORMAT"; + + @Test + public void shouldLogError() { + Mockito.when(logger.isErrorEnabled()).thenReturn(true); + CommonUtility.addRecordToLog(logger, LogLevelEnum.ERROR, FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + Mockito.verify(logger).error(FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + } + + @Test + public void shouldLogDebug() { + Mockito.when(logger.isDebugEnabled()).thenReturn(true); + CommonUtility.addRecordToLog(logger, LogLevelEnum.DEBUG, FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + Mockito.verify(logger).debug(FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + } + + @Test + public void shouldLogInfo() { + Mockito.when(logger.isInfoEnabled()).thenReturn(true); + CommonUtility.addRecordToLog(logger, LogLevelEnum.INFO, FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + Mockito.verify(logger).info(FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + } + + @Test + public void shouldLogTrace() { + Mockito.when(logger.isTraceEnabled()).thenReturn(true); + CommonUtility.addRecordToLog(logger, LogLevelEnum.TRACE, FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + Mockito.verify(logger).trace(FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + } + + @Test + public void shouldLogWarning() { + Mockito.when(logger.isWarnEnabled()).thenReturn(true); + CommonUtility.addRecordToLog(logger, LogLevelEnum.WARNING, FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + Mockito.verify(logger).warn(FORMAT, ARGUMENT1, ARGUMENT2, ARGUMENT3); + } +} \ No newline at end of file -- cgit 1.2.3-korg