diff options
Diffstat (limited to 'common/src/test/java')
60 files changed, 1942 insertions, 1619 deletions
diff --git a/common/src/test/java/org/onap/so/BeansTest.java b/common/src/test/java/org/onap/so/BeansTest.java new file mode 100644 index 0000000000..2e825cf8c7 --- /dev/null +++ b/common/src/test/java/org/onap/so/BeansTest.java @@ -0,0 +1,97 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so; + +import static org.hamcrest.CoreMatchers.allOf; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.onap.so.openpojo.rules.HasAnnotationMatcher.hasAnnotation; +import static org.onap.so.openpojo.rules.HasAnnotationPropertyWithValueMatcher.hasAnnotationPropertyWithValue; + +import javax.persistence.Column; +import javax.persistence.Temporal; + +import org.junit.Test; +import org.onap.so.openpojo.rules.CustomSetterMustExistRule; +import org.onap.so.openpojo.rules.EqualsAndHashCodeTester; +import org.onap.so.openpojo.rules.HasEqualsAndHashCodeRule; +import org.onap.so.openpojo.rules.HasToStringRule; +import org.onap.so.openpojo.rules.ToStringTester; + +import com.openpojo.reflection.PojoClass; +import com.openpojo.reflection.PojoClassFilter; +import com.openpojo.reflection.filters.FilterEnum; +import com.openpojo.reflection.filters.FilterNonConcrete; +import com.openpojo.reflection.filters.FilterPackageInfo; +import com.openpojo.validation.Validator; +import com.openpojo.validation.ValidatorBuilder; +import com.openpojo.validation.rule.impl.BusinessKeyMustExistRule; +import com.openpojo.validation.rule.impl.GetterMustExistRule; +import com.openpojo.validation.rule.impl.NoNestedClassRule; +import com.openpojo.validation.rule.impl.NoPrimitivesRule; +import com.openpojo.validation.rule.impl.NoPublicFieldsExceptStaticFinalRule; +import com.openpojo.validation.rule.impl.NoStaticExceptFinalRule; +import com.openpojo.validation.rule.impl.SerializableMustHaveSerialVersionUIDRule; +import com.openpojo.validation.test.impl.GetterTester; +import com.openpojo.validation.test.impl.SetterTester; + + +public class BeansTest { + + private PojoClassFilter filterTestClasses = new FilterTestClasses(); + + private PojoClassFilter enumFilter = new FilterEnum(); + + + + @Test + public void pojoStructure() { + test("org.onap.so.client.aai.objects"); + test("org.onap.so.client.policy.entities"); + test("org.onap.so.client.grm.beans"); + test("org.onap.so.client.ruby.beans"); + test("org.onap.so.client.sdno.beans"); + test("org.onap.so.entity"); + test("org.onap.so.serviceinstancebeans"); + } + + private void test(String pojoPackage) { + Validator validator = ValidatorBuilder.create() + .with(new GetterMustExistRule()) + .with(new NoNestedClassRule()) + .with(new NoStaticExceptFinalRule()) + .with(new SerializableMustHaveSerialVersionUIDRule()) + .with(new NoPublicFieldsExceptStaticFinalRule()) + .with(new SetterTester()) + .with(new GetterTester()) + + + + .build(); + + + validator.validate(pojoPackage, new FilterPackageInfo(), filterTestClasses,enumFilter,new FilterNonConcrete()); + } + private static class FilterTestClasses implements PojoClassFilter { + public boolean include(PojoClass pojoClass) { + return !pojoClass.getSourcePath().contains("/test-classes/"); + } + } +} diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/CryptoTest.java b/common/src/test/java/org/onap/so/adapter_utils/tests/CryptoTest.java index 3415420c88..15368f9966 100644 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/CryptoTest.java +++ b/common/src/test/java/org/onap/so/adapter_utils/tests/CryptoTest.java @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.adapter_utils.tests; +package org.onap.so.adapter_utils.tests; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -30,7 +30,7 @@ import java.security.GeneralSecurityException; import org.junit.BeforeClass; import org.junit.Test; -import org.openecomp.mso.utils.CryptoUtils; +import org.onap.so.utils.CryptoUtils; /** * This class implements all test methods of the CryptoUtils features. @@ -74,6 +74,10 @@ public class CryptoTest { assertEquals(encodeString,encode2String); assertEquals(CryptoUtils.decrypt(encodeString, testKey),CryptoUtils.decrypt(encode2String, testKey)); + + encodeString = CryptoUtils.encryptCloudConfigPassword(testData); + + assertEquals(testData, CryptoUtils.decryptCloudConfigPassword(encodeString)); } } diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoAlarmLoggerTest.java b/common/src/test/java/org/onap/so/adapter_utils/tests/MsoAlarmLoggerTest.java index f7d27acaf3..6756bc98ad 100644 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoAlarmLoggerTest.java +++ b/common/src/test/java/org/onap/so/adapter_utils/tests/MsoAlarmLoggerTest.java @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.adapter_utils.tests; +package org.onap.so.adapter_utils.tests; import static org.junit.Assert.assertNull; @@ -31,40 +31,43 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; +import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; +import org.onap.so.logger.MsoAlarmLogger; -import org.openecomp.mso.logger.MsoAlarmLogger; -import org.openecomp.mso.properties.MsoJavaProperties; -import org.openecomp.mso.properties.MsoPropertiesException; -import org.openecomp.mso.properties.MsoPropertiesFactory; /** * This junit test very roughly the alarm logger * */ public class MsoAlarmLoggerTest { - - public static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); + public static MsoAlarmLogger msoAlarmLogger; @BeforeClass - public static final void createObjects() throws MsoPropertiesException + public static final void createObjects() throws IOException { - File outputFile = new File ("target/alarm-test.log"); + File outputFile = new File ("./target/alarm-test.log"); if (outputFile.exists()) { outputFile.delete(); + } else { + outputFile.createNewFile(); } - msoAlarmLogger = new MsoAlarmLogger("target/alarm-test.log"); + msoAlarmLogger = new MsoAlarmLogger("./target/alarm-test.log"); } + @AfterClass + public static void tearDown() { + msoAlarmLogger.resetAppender(); + } @Test - public void testAlarmConfig() throws MsoPropertiesException, IOException { + public void testAlarmConfig() throws IOException { msoAlarmLogger.sendAlarm("test", 0, "detail message"); - FileInputStream inputStream = new FileInputStream("target/alarm-test.log"); + FileInputStream inputStream = new FileInputStream("./target/alarm-test.log"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line = reader.readLine(); @@ -80,7 +83,7 @@ public class MsoAlarmLoggerTest { inputStream.close(); // Reset the file for others tests - PrintWriter writer = new PrintWriter(new File("target/alarm-test.log")); + PrintWriter writer = new PrintWriter(new File("./target/alarm-test.log")); writer.print(""); writer.close(); @@ -93,7 +96,7 @@ public class MsoAlarmLoggerTest { msoAlarmLogger.sendAlarm("test2", 1, "detail message2"); msoAlarmLogger.sendAlarm("test3", 2, "detail message3"); - FileInputStream inputStream = new FileInputStream("target/alarm-test.log"); + FileInputStream inputStream = new FileInputStream("./target/alarm-test.log"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line = reader.readLine(); @@ -123,7 +126,7 @@ public class MsoAlarmLoggerTest { inputStream.close(); // Reset the file for others tests - PrintWriter writer = new PrintWriter(new File("target/alarm-test.log")); + PrintWriter writer = new PrintWriter(new File("./target/alarm-test.log")); writer.print(""); writer.close(); diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoLoggerTest.java b/common/src/test/java/org/onap/so/adapter_utils/tests/MsoLoggerTest.java index 6ac7002101..29ac91c864 100644 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoLoggerTest.java +++ b/common/src/test/java/org/onap/so/adapter_utils/tests/MsoLoggerTest.java @@ -18,12 +18,12 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.adapter_utils.tests; +package org.onap.so.adapter_utils.tests; -import org.openecomp.mso.entity.MsoRequest; -import org.openecomp.mso.logger.MessageEnum; -import org.openecomp.mso.logger.MsoLogger; -import org.openecomp.mso.logger.MsoLogger.ErrorCode; +import org.onap.so.entity.MsoRequest; +import org.onap.so.logger.MessageEnum; +import org.onap.so.logger.MsoLogger; +import org.onap.so.logger.MsoLogger.ErrorCode; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; @@ -50,7 +50,7 @@ import java.util.List; */ public class MsoLoggerTest { - static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL); + static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL, MsoLoggerTest.class); /** * This method is called before any test occurs. It creates a fake tree from diff --git a/common/src/test/java/org/onap/so/client/RestClientTest.java b/common/src/test/java/org/onap/so/client/RestClientTest.java new file mode 100644 index 0000000000..1443f04f3a --- /dev/null +++ b/common/src/test/java/org/onap/so/client/RestClientTest.java @@ -0,0 +1,87 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 - 2018 AT&T 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 org.onap.so.client; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import java.net.MalformedURLException; +import java.net.SocketTimeoutException; + +import javax.ws.rs.NotFoundException; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.UriBuilder; +import javax.ws.rs.core.UriBuilderException; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.so.utils.TargetEntity; + +@RunWith(MockitoJUnitRunner.class) +public class RestClientTest { + + + @Mock + private RestProperties props; + + + @Test + public void retries() throws Exception { + RestClient spy = buildSpy(); + RestRequest mockCallable = mock(RestRequest.class); + when(mockCallable.call()).thenThrow(new WebApplicationException(new SocketTimeoutException())); + doReturn(mockCallable).when(spy).buildRequest(any(String.class), any(Object.class)); + try { + spy.get(); + } catch (Exception e) { + //we expect an exception, ignore it + } + verify(mockCallable, times(3)).call(); + + } + + @Test + public void exceptionDoNotRetry() throws Exception { + RestClient spy = buildSpy(); + RestRequest mockCallable = mock(RestRequest.class); + when(mockCallable.call()).thenThrow(new WebApplicationException(new NotFoundException())); + doReturn(mockCallable).when(spy).buildRequest(any(String.class), any(Object.class)); + try { + spy.get(); + } catch (Exception e) { + //we expect an exception, ignore it + } + verify(mockCallable, times(1)).call(); + + } + private RestClient buildSpy() throws MalformedURLException, IllegalArgumentException, UriBuilderException { + RestClient client = new HttpClient(UriBuilder.fromUri("http://localhost/test").build().toURL(), "application/json", TargetEntity.BPMN); + + return spy(client); + } +} diff --git a/common/src/test/java/org/onap/so/client/aai/AAIClientResponseExceptionMapperTest.java b/common/src/test/java/org/onap/so/client/aai/AAIClientResponseExceptionMapperTest.java new file mode 100644 index 0000000000..981a4ddacc --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/AAIClientResponseExceptionMapperTest.java @@ -0,0 +1,70 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai; + +import static org.junit.Assert.assertEquals; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.onap.so.client.aai.entities.AAIError; +import org.onap.so.client.aai.entities.RequestError; +import org.onap.so.client.aai.entities.ServiceException; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class AAIClientResponseExceptionMapperTest { + + AAIClientResponseExceptionMapper mapper; + String errorMsg; + + @Before + public void before() { + mapper = new AAIClientResponseExceptionMapper(); + errorMsg = "Error calling A&AI. Request-Id=" + mapper.getRequestId() + " "; + } + + @Test + public void testExtractMessageWithEntity() throws JsonProcessingException { + ServiceException svcException = new ServiceException(); + svcException.setText("test %1 message - %2"); + svcException.setVariables(Arrays.asList("error", "service exception %1 test")); + + RequestError requestError = new RequestError(); + requestError.setServiceException(svcException); + + AAIError error = new AAIError(); + error.setRequestError(requestError); + + ObjectMapper objMapper = new ObjectMapper(); + String strRequestError = objMapper.writeValueAsString(error); + + assertEquals(errorMsg + "test error message - service exception error test", mapper.extractMessage(strRequestError).get()); + } + + @Test + public void testExtractMessageWithoutEntity() { + assertEquals(errorMsg, mapper.extractMessage("").get()); + } +} diff --git a/common/src/test/java/org/onap/so/client/aai/AAIConfigurationClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAIConfigurationClientTest.java new file mode 100644 index 0000000000..40410019f0 --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/AAIConfigurationClientTest.java @@ -0,0 +1,181 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; +import static org.junit.Assert.assertEquals; +import static org.mockito.Matchers.isA; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import java.util.Optional; +import java.util.UUID; + +import org.junit.BeforeClass; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.so.client.aai.entities.Configuration; +import org.onap.so.client.aai.entities.uri.AAIResourceUri; +import org.onap.so.client.aai.entities.uri.AAIUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; +import org.onap.so.serviceinstancebeans.ModelInfo; +import org.onap.so.serviceinstancebeans.RequestDetails; + +import com.github.tomakehurst.wiremock.junit.WireMockRule; +@RunWith(MockitoJUnitRunner.class) +public class AAIConfigurationClientTest { + + @Rule + public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8443)); + + @Mock + AAIResourcesClient aaiClient; + + @InjectMocks + AAIConfigurationClient aaiConfigurationClient = new AAIConfigurationClient(); + + @Test + public void verifyCreate() { + ModelInfo modelInfo = new ModelInfo(); + modelInfo.setModelInvariantId("testInvariantID"); + modelInfo.setModelVersionId("testVersionID"); + modelInfo.setModelCustomizationId("testCustomizationID"); + + RequestDetails requestDetails = new RequestDetails(); + requestDetails.setModelInfo(modelInfo); + + String configurationId = UUID.randomUUID().toString(); + String configurationType = "test"; + String configurationSubType = "test"; + + // Test Create Configuration + doNothing().when(aaiClient).create(isA(AAIResourceUri.class), isA(Object.class)); + aaiConfigurationClient.createConfiguration(requestDetails, configurationId, configurationType, configurationSubType); + verify(aaiClient, times(1)).create(isA(AAIResourceUri.class), isA(Object.class)); + } + + @Test + public void verifyConfigurePayload() { + ModelInfo modelInfo = new ModelInfo(); + modelInfo.setModelInvariantId("testInvariantID"); + modelInfo.setModelVersionId("testVersionID"); + modelInfo.setModelCustomizationId("testCustomizationID"); + + RequestDetails requestDetails = new RequestDetails(); + requestDetails.setModelInfo(modelInfo); + + String configurationId = UUID.randomUUID().toString(); + String configurationType = "test"; + String configurationSubType = "test"; + AAIResourceUri uri = aaiConfigurationClient.getConfigurationURI(configurationId); + + Configuration payload = aaiConfigurationClient.configurePayload(requestDetails, configurationId, configurationType, configurationSubType); + + assertEquals(configurationId, payload.getConfigurationId()); + assertEquals(configurationType, payload.getConfigurationType()); + assertEquals(configurationSubType, payload.getConfigurationSubType()); + assertEquals(uri.build().getPath(), payload.getConfigurationSelflink()); + assertEquals("PreCreated", payload.getOrchestrationStatus()); + assertEquals("", payload.getOperationalStatus()); + assertEquals(modelInfo.getModelVersionId(), payload.getModelVersionId()); + assertEquals(modelInfo.getModelInvariantId(), payload.getModelInvariantId()); + assertEquals(modelInfo.getModelCustomizationId(), payload.getModelCustomizationId()); + } + + @Test + public void testDeleteConfiguration() { + String uuid = UUID.randomUUID().toString(); + doNothing().when(aaiClient).delete(isA(AAIResourceUri.class)); + aaiConfigurationClient.deleteConfiguration(uuid); + verify(aaiClient, times(1)).delete(aaiConfigurationClient.getConfigurationURI(uuid)); + } + + @Test + public void testUpdateOrchestrationStatus() { + String uuid = UUID.randomUUID().toString(); + doNothing().when(aaiClient).update(isA(AAIResourceUri.class), isA(Object.class)); + aaiConfigurationClient.updateOrchestrationStatus(uuid, "testPayload"); + verify(aaiClient, times(1)).update(aaiConfigurationClient.getConfigurationURI(uuid), "testPayload"); + } + + @SuppressWarnings("unchecked") + @Test + public void testGetConfiguration() { + String uuid = UUID.randomUUID().toString(); + Optional<Configuration> expectedConfiguration = Optional.of(new Configuration()); + expectedConfiguration.get().setConfigurationId(uuid); + + doReturn(expectedConfiguration).when(aaiClient).get(isA(Class.class), isA(AAIResourceUri.class)); + Configuration actualConfiguration = aaiConfigurationClient.getConfiguration(uuid); + verify(aaiClient, times(1)).get(Configuration.class, aaiConfigurationClient.getConfigurationURI(uuid)); + assertEquals(expectedConfiguration.get(), actualConfiguration); + } + + @Test + public void testConfigurationExists() { + String uuid = UUID.randomUUID().toString(); + AAIResourceUri uri = aaiConfigurationClient.getConfigurationURI(uuid); + boolean expectedResult; + boolean actualResult; + + expectedResult = true; + doReturn(expectedResult).when(aaiClient).exists(isA(AAIResourceUri.class)); + actualResult = aaiConfigurationClient.configurationExists(uuid); + assertEquals(expectedResult, actualResult); + + expectedResult = false; + doReturn(expectedResult).when(aaiClient).exists(isA(AAIResourceUri.class)); + actualResult = aaiConfigurationClient.configurationExists(uuid); + assertEquals(expectedResult, actualResult); + + verify(aaiClient, times(2)).exists(uri); + } + + @Test + public void testGetConfigurationURI() { + String uuid = UUID.randomUUID().toString(); + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, uuid); + assertEquals(uri, aaiConfigurationClient.getConfigurationURI(uuid)); + } + + @Test + public void verifyNotExists() { + AAIUri path = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, "test2"); + wireMockRule.stubFor(get( + urlMatching("/aai/v[0-9]+" + path.build() + ".*")) + .willReturn( + aResponse() + .withHeader("Content-Type", "text/plain") + .withBody("hello") + .withStatus(404))); + boolean result = aaiConfigurationClient.configurationExists("test2"); + assertEquals("path not found", false, result); + } +} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIExceptionMapperTest.java b/common/src/test/java/org/onap/so/client/aai/AAIErrorFormatterTest.java index 625e281792..bea927afa5 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIExceptionMapperTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIErrorFormatterTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,9 +18,10 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; import java.util.ArrayList; import java.util.Arrays; @@ -30,9 +31,11 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.openecomp.mso.client.aai.entities.AAIError; +import org.onap.so.client.aai.entities.AAIError; +import org.onap.so.client.aai.entities.RequestError; +import org.onap.so.client.aai.entities.ServiceException; -public class AAIExceptionMapperTest { +public class AAIErrorFormatterTest { @Mock private AAIError errorObj; @@ -41,7 +44,7 @@ public class AAIExceptionMapperTest { MockitoAnnotations.initMocks(this); } @Test - public void nestedReplace() { + public void testFillInTemplateWithReplace() { String error = "Error %1 on %2"; List<String> list = Arrays.asList("PUT", "hello %1"); AAIErrorFormatter formatter = new AAIErrorFormatter(errorObj); @@ -51,13 +54,35 @@ public class AAIExceptionMapperTest { } @Test - public void noReplace() { + public void testFillInTemplateWithoutReplace() { String error = "Error"; List<String> list = new ArrayList<>(); AAIErrorFormatter formatter = new AAIErrorFormatter(errorObj); String result = formatter.fillInTemplate(error, list); assertEquals("equal", "Error", result); + } + + @Test + public void testGetMessage() { + ServiceException svcException = new ServiceException(); + svcException.setText("test %1 message - %2"); + svcException.setVariables(Arrays.asList("error", "service exception %1 test")); + + RequestError requestError = new RequestError(); + requestError.setServiceException(svcException); + + doReturn(requestError).when(errorObj).getRequestError(); + AAIErrorFormatter formatter = new AAIErrorFormatter(errorObj); + String result = formatter.getMessage(); + assertEquals("equal", "test error message - service exception error test", result); } + @Test + public void testGetMessageNoParsable() { + errorObj.setRequestError(null); + AAIErrorFormatter formatter = new AAIErrorFormatter(errorObj); + String result = formatter.getMessage(); + assertEquals("equal", "no parsable error message found", result); + } } diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIObjectTypeTest.java b/common/src/test/java/org/onap/so/client/aai/AAIObjectTypeTest.java index c8f6299d81..ce90ccdc0e 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIObjectTypeTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIObjectTypeTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,11 +18,13 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import static org.junit.Assert.assertEquals; import org.junit.Test; +import org.onap.so.client.aai.entities.uri.AAIUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; public class AAIObjectTypeTest { @@ -36,4 +38,18 @@ public class AAIObjectTypeTest { public void verifyRegularCase() { assertEquals("default removed for tenant", "allotted-resource", AAIObjectType.ALLOTTED_RESOURCE.typeName()); } + + @Test + public void instanceGroupObjectTypeTest() { + final String id = "test1"; + AAIUri aaiUri = AAIUriFactory.createResourceUri(AAIObjectType.INSTANCE_GROUP, id); + assertEquals("/network/instance-groups/instance-group/test1", aaiUri.build().toString()); + } + + @Test + public void collectionObjectTypeTest() { + final String id = "test1"; + AAIUri aaiUri = AAIUriFactory.createResourceUri(AAIObjectType.COLLECTION, id); + assertEquals("/network/collections/collection/test1", aaiUri.build().toString()); + } } diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIPServerTest.java b/common/src/test/java/org/onap/so/client/aai/AAIPServerTest.java index b6b01b384a..1e2e7471f1 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIPServerTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIPServerTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import static org.junit.Assert.assertEquals; diff --git a/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java new file mode 100644 index 0000000000..6e9c38517d --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/AAIQueryClientTest.java @@ -0,0 +1,93 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai; + +import static org.junit.Assert.assertNotNull; +import static org.mockito.Matchers.eq; +import static org.mockito.Matchers.isA; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import java.util.Arrays; +import java.util.List; + +import javax.ws.rs.core.Response; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.Spy; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.so.client.RestClient; +import org.onap.so.client.aai.entities.CustomQuery; +import org.onap.so.client.aai.entities.uri.AAIResourceUri; +import org.onap.so.client.aai.entities.uri.AAIUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; +import org.onap.so.client.graphinventory.Format; + + +@RunWith(MockitoJUnitRunner.class) +public class AAIQueryClientTest { + + @Mock + Response response; + + @Mock + RestClient restClient; + + @Spy + AAIQueryClient aaiQueryClient = new AAIQueryClient(); + + @Test + public void testQuery() { + List<AAIResourceUri> uris = Arrays.asList(AAIUriFactory.createResourceUri(AAIObjectType.CUSTOM_QUERY)); + + Format format = Format.SIMPLE; + CustomQuery query = new CustomQuery(uris); + + doReturn(restClient).when(aaiQueryClient).createClient(isA(AAIUri.class)); + aaiQueryClient.query(format, query); + verify(aaiQueryClient, times(1)).createClient(AAIUriFactory.createResourceUri(AAIObjectType.CUSTOM_QUERY).queryParam("format", format.toString())); + verify(restClient, times(1)).put(query, String.class); + } + + @Test + public void testCreateClient() { + String depth = "testDepth"; + AAISubgraphType subgraph = AAISubgraphType.STAR; + + aaiQueryClient.depth(depth); + aaiQueryClient.nodesOnly(); + aaiQueryClient.subgraph(subgraph); + + AAIUri aaiUri = spy(AAIUriFactory.createResourceUri(AAIObjectType.CUSTOM_QUERY)); + doReturn(aaiUri).when(aaiUri).clone(); + aaiQueryClient.setupQueryParams(aaiUri); + + verify(aaiUri, times(1)).queryParam("depth", depth); + verify(aaiUri, times(1)).queryParam("nodesOnly", ""); + verify(aaiUri, times(1)).queryParam("subgraph", subgraph.toString()); + } +} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIResourcesClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAIResourcesClientTest.java index c7cc549130..63f8f652ce 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIResourcesClientTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIResourcesClientTest.java @@ -18,41 +18,52 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.delete; import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.put; import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; +import static org.hamcrest.CoreMatchers.containsString; import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; +import org.junit.rules.ExpectedException; +import org.onap.so.client.aai.entities.AAIResultWrapper; +import org.onap.so.client.aai.entities.uri.AAIResourceUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; +import org.onap.so.client.defaultproperties.DefaultAAIPropertiesImpl; +import com.github.tomakehurst.wiremock.admin.NotFoundException; import com.github.tomakehurst.wiremock.junit.WireMockRule; public class AAIResourcesClientTest { - - + @Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8443)); + @Rule + public ExpectedException thrown = ExpectedException.none(); + @Test public void verifyNotExists() { AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test"); wireMockRule.stubFor(get( - urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build().toString())) + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build())) .willReturn( aResponse() .withHeader("Content-Type", "text/plain") .withBody("hello") .withStatus(404))); - AAIResourcesClient client = new AAIResourcesClient(); + AAIResourcesClient client= createClient(); boolean result = client.exists(path); assertEquals("path not found", false, result); } @@ -61,19 +72,19 @@ public class AAIResourcesClientTest { public void verifyDelete() { AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test2"); wireMockRule.stubFor(get( - urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build().toString())) + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build())) .willReturn( aResponse() .withHeader("Content-Type", "application/json") .withBodyFile("aai/resources/mockObject.json") .withStatus(200))); wireMockRule.stubFor(delete( - urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build().toString())) + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build())) .withQueryParam("resource-version", equalTo("1234")) .willReturn( aResponse() .withStatus(204))); - AAIResourcesClient client = new AAIResourcesClient(); + AAIResourcesClient client= createClient(); client.delete(path); } @@ -88,7 +99,7 @@ public class AAIResourcesClientTest { .withHeader("Content-Type", "application/json") .withBodyFile("aai/resources/mockObject.json") .withStatus(200))); - AAIResourcesClient client = new AAIResourcesClient(); + AAIResourcesClient client= createClient(); client.get(path); } @@ -97,15 +108,84 @@ public class AAIResourcesClientTest { AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test2"); AAIResourceUri path2 = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test3"); wireMockRule.stubFor(put( - urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build().toString() + "/relationship-list/relationship")) + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build() + "/relationship-list/relationship")) .willReturn( aResponse() .withHeader("Content-Type", "application/json") .withStatus(200))); AAIResourceUri pathClone = path.clone(); - AAIResourcesClient client = new AAIResourcesClient(); + AAIResourcesClient client= createClient(); client.connect(path, path2); assertEquals("uri not modified", pathClone.build().toString(), path.build().toString()); } + + @Test + public void verifyDisconnect() { + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test2"); + AAIResourceUri path2 = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test3"); + + wireMockRule.stubFor(post( + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build() + "/relationship-list/relationship")) + .willReturn( + aResponse() + .withStatus(204))); + + AAIResourceUri pathClone = path.clone(); + AAIResourcesClient client= createClient(); + client.disconnect(path, path2); + assertEquals("uri not modified", pathClone.build().toString(), path.build().toString()); + } + + @Test + public void verifyPatch() { + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test2"); + + wireMockRule.stubFor(post( + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build())) + .willReturn( + aResponse() + .withStatus(200))); + + AAIResourcesClient client= createClient(); + + client.update(path, "{}"); + } + + @Test + public void verifyNotExistsGet() { + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test"); + wireMockRule.stubFor(get( + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build())) + .willReturn( + aResponse() + .withHeader("Content-Type", "text/plain") + .withBody("hello") + .withStatus(404))); + AAIResourcesClient client= createClient(); + AAIResultWrapper result = client.get(path); + assertEquals("is empty", true, result.isEmpty()); + } + + @Test + public void verifyNotExistsGetException() { + AAIResourceUri path = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test"); + wireMockRule.stubFor(get( + urlPathEqualTo("/aai/" + AAIVersion.LATEST + path.build())) + .willReturn( + aResponse() + .withHeader("Content-Type", "text/plain") + .withBody("hello") + .withStatus(404))); + AAIResourcesClient client= createClient(); + thrown.expect(NotFoundException.class); + thrown.expectMessage(containsString(path.build() + " not found in A&AI")); + AAIResultWrapper result = client.get(path, NotFoundException.class); + } + + private AAIResourcesClient createClient() { + AAIResourcesClient client = spy(new AAIResourcesClient()); + doReturn(new DefaultAAIPropertiesImpl()).when(client).getRestProperties(); + return client; + } } diff --git a/common/src/test/java/org/onap/so/client/aai/AAIRestClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAIRestClientTest.java new file mode 100644 index 0000000000..f2e371c999 --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/AAIRestClientTest.java @@ -0,0 +1,124 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 - 2018 AT&T 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 org.onap.so.client.aai; + +import static org.hamcrest.CoreMatchers.containsString; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.HashMap; + +import javax.ws.rs.core.Response; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.aai.domain.yang.GenericVnf; +import org.onap.so.client.graphinventory.exceptions.GraphInventoryPatchDepthExceededException; + +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +@RunWith(MockitoJUnitRunner.class) +public class AAIRestClientTest { + + @Mock + private AAIProperties props; + + private ObjectMapper mapper = new AAICommonObjectMapperProvider().getMapper(); + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void convertObjectToPatchFormatTest() throws URISyntaxException, JsonParseException, JsonMappingException, IOException { + AAIRestClient client = new AAIRestClient(props, new URI("")); + GenericVnf vnf = new GenericVnf(); + vnf.setIpv4Loopback0Address(""); + String result = client.convertObjectToPatchFormat(vnf); + GenericVnf resultObj = mapper.readValue(result.toString(), GenericVnf.class); + assertTrue("expect object to become a String to prevent double marshalling", result instanceof String); + assertNull("expect null because of custom mapper", resultObj.getIpv4Loopback0Address()); + + } + + @Test + public void convertStringToPatchFormatTest() throws URISyntaxException, JsonParseException, JsonMappingException, IOException { + AAIRestClient client = new AAIRestClient(props, new URI("")); + String payload = "{\"ipv4-loopback0-address\":\"\"}"; + String result = client.convertObjectToPatchFormat(payload); + + assertEquals("expect no change", payload, result); + } + + @Test + public void convertMapToPatchFormatTest() throws URISyntaxException, JsonParseException, JsonMappingException, IOException { + AAIRestClient client = new AAIRestClient(props, new URI("")); + HashMap<String, String> map = new HashMap<>(); + map.put("ipv4-loopback0-address", ""); + String result = client.convertObjectToPatchFormat(map); + + assertEquals("expect string", "{\"ipv4-loopback0-address\":\"\"}", result); + } + + @Test + public void failPatchOnComplexObject() throws URISyntaxException { + AAIRestClient client = new AAIRestClient(props, new URI("")); + this.thrown.expect(GraphInventoryPatchDepthExceededException.class); + this.thrown.expectMessage(containsString("Object exceeds allowed depth for update action")); + client.patch("{ \"hello\" : \"world\", \"nestedSimple\" : [\"value1\" , \"value2\"], \"relationship-list\" : [{\"key\" : \"value\"}], \"nested\" : { \"key\" : \"value\" }}"); + + } + + @Test + public void hasComplexObjectTest() throws URISyntaxException { + AAIRestClient client = new AAIRestClient(props, new URI("")); + String hasNesting = "{ \"hello\" : \"world\", \"nested\" : { \"key\" : \"value\" } }"; + String noNesting = "{ \"hello\" : \"world\" }"; + String arrayCase = "{ \"hello\" : \"world\", \"nestedSimple\" : [\"value1\" , \"value2\"], \"nestedComplex\" : [{\"key\" : \"value\"}]}"; + String empty = "{}"; + String arrayCaseSimpleOnly = "{ \"hello\" : \"world\", \"nestedSimple\" : [\"value1\" , \"value2\"]}"; + String relationshipListCaseNesting = "{ \"hello\" : \"world\", \"nestedSimple\" : [\"value1\" , \"value2\"], \"relationship-list\" : [{\"key\" : \"value\"}], \"nested\" : { \"key\" : \"value\" }}"; + String relationshipListCase = "{ \"hello\" : \"world\", \"nestedSimple\" : [\"value1\" , \"value2\"], \"relationship-list\" : [{\"key\" : \"value\"}]}"; + String nothing = ""; + + assertTrue("expect has nesting", client.hasComplexObject(hasNesting)); + assertFalse("expect no nesting", client.hasComplexObject(noNesting)); + assertTrue("expect has nesting", client.hasComplexObject(arrayCase)); + assertFalse("expect no nesting", client.hasComplexObject(empty)); + assertFalse("expect no nesting", client.hasComplexObject(arrayCaseSimpleOnly)); + assertFalse("expect no nesting", client.hasComplexObject(relationshipListCase)); + assertTrue("expect has nesting", client.hasComplexObject(relationshipListCaseNesting)); + assertFalse("expect no nesting", client.hasComplexObject(nothing)); + } +} diff --git a/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java new file mode 100644 index 0000000000..f6ee826a78 --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java @@ -0,0 +1,148 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import org.junit.Before; +import org.junit.Test; + +import org.onap.aai.domain.yang.Relationship; +import org.onap.so.client.aai.entities.uri.AAIResourceUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; +import org.onap.so.client.defaultproperties.DefaultAAIPropertiesImpl; + +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; + +public class AAITransactionalClientTest { + + private final static String AAI_JSON_FILE_LOCATION = "src/test/resources/__files/aai/bulkprocess/"; + AAIResourceUri uriA = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test1"); + AAIResourceUri uriB = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test2"); + AAIResourceUri uriC = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test3"); + AAIResourceUri uriD = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test4"); + AAIResourceUri uriE = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test5"); + AAIResourceUri uriF = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test6"); + + ObjectMapper mapper; + + @Before + public void before() throws JsonParseException, JsonMappingException, IOException { + mapper = new AAICommonObjectMapperProvider().getMapper(); + mapper.enable(SerializationFeature.INDENT_OUTPUT); + } + + @Test + public void testCreate() throws IOException { + final Relationship body = new Relationship(); + body.setRelatedLink(uriB.build().toString()); + + AAITransactionalClient transactions = createClient().beginTransaction() + .create(uriA.clone().relationshipAPI(), body); + + String serializedTransactions = mapper.writeValueAsString(transactions.getTransactions()); + Map<String, Object> actual = mapper.readValue(serializedTransactions, new TypeReference<Map<String, Object>>(){}); + Map<String, Object> expected = mapper.readValue(getJson("test-request-small.json"), new TypeReference<Map<String, Object>>(){}); + + assertEquals(actual, expected); + } + + @Test + public void testConnect() throws IOException { + List<AAIResourceUri> uris = new ArrayList<AAIResourceUri>(); + uris.add(uriB); + + AAIResourceUri uriAClone = uriA.clone(); + AAITransactionalClient transactions = createClient() + .beginTransaction().connect(uriA, uris).connect(uriC, uriD) + .beginNewTransaction().connect(uriE, uriF); + + String serializedTransactions = mapper.writeValueAsString(transactions.getTransactions()); + Map<String, Object> actual = mapper.readValue(serializedTransactions, new TypeReference<Map<String, Object>>(){}); + Map<String, Object> expected = mapper.readValue(getJson("test-request.json"), new TypeReference<Map<String, Object>>(){}); + + assertEquals(actual, expected); + assertEquals("uri not manipulated", uriAClone.build().toString(), uriA.build().toString()); + } + + @Test + public void testDisconnect() throws IOException { + List<AAIResourceUri> uris = new ArrayList<AAIResourceUri>(); + uris.add(uriB); + + AAITransactionalClient transactions = createClient().beginTransaction() + .disconnect(uriA, uris); + + String serializedTransactions = mapper.writeValueAsString(transactions.getTransactions()); + Map<String, Object> actual = mapper.readValue(serializedTransactions, new TypeReference<Map<String, Object>>(){}); + Map<String, Object> expected = mapper.readValue(getJson("test-request-small.json").replace("put", "delete"), new TypeReference<Map<String, Object>>(){}); + + assertEquals(actual, expected); + } + + @Test + public void testUpdate() throws IOException { + final Relationship body = new Relationship(); + body.setRelatedLink(uriB.build().toString()); + + AAIResourceUri uriAClone = uriA.clone().relationshipAPI(); + AAITransactionalClient transactions = createClient().beginTransaction().update(uriAClone, body); + + String serializedTransactions = mapper.writeValueAsString(transactions.getTransactions()); + Map<String, Object> actual = mapper.readValue(serializedTransactions, new TypeReference<Map<String, Object>>(){}); + Map<String, Object> expected = mapper.readValue(getJson("test-request-small.json").replace("put", "patch"), new TypeReference<Map<String, Object>>(){}); + + assertEquals(actual, expected); + } + + @Test + public void verifyResponse() throws IOException { + AAITransactionalClient transactions = createClient() + .beginTransaction(); + + assertEquals("success status", Optional.empty(), transactions.locateErrorMessages(getJson("response-success.json"))); + assertEquals(transactions.locateErrorMessages(getJson("response-failure.json")).get(), "another error message\nmy great error"); + } + + private String getJson(String filename) throws IOException { + return new String(Files.readAllBytes(Paths.get(AAI_JSON_FILE_LOCATION + filename))); + } + + private AAIResourcesClient createClient() { + AAIResourcesClient client = spy(new AAIResourcesClient()); + doReturn(new DefaultAAIPropertiesImpl()).when(client).getRestProperties(); + return client; + } +} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIURITest.java b/common/src/test/java/org/onap/so/client/aai/AAIURITest.java index 366c587b11..cb426c5392 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIURITest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIURITest.java @@ -7,9 +7,9 @@ * 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. @@ -18,15 +18,15 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import static org.junit.Assert.assertEquals; import javax.ws.rs.core.UriBuilder; import org.junit.Test; -import org.openecomp.mso.client.aai.entities.uri.AAIUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; +import org.onap.so.client.aai.entities.uri.AAIUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; public class AAIURITest { diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIUpdatorImplTest.java b/common/src/test/java/org/onap/so/client/aai/AAIUpdatorImplTest.java index 86adb5f458..7ba92a1f06 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIUpdatorImplTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIUpdatorImplTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import org.junit.Test; diff --git a/common/src/test/java/org/onap/so/client/aai/AAIUpdatorTest.java b/common/src/test/java/org/onap/so/client/aai/AAIUpdatorTest.java new file mode 100644 index 0000000000..fddd1e63ba --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/AAIUpdatorTest.java @@ -0,0 +1,61 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai; + +import static org.mockito.Matchers.isA; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AAIUpdatorTest { + + @Mock + protected AAIRestClientI client; + String vnfName = "testVnf"; + String uuid = "UUID"; + AAIUpdatorImpl updator; + + @Before + public void init(){ + updator = new AAIUpdatorImpl(); + updator.setClient(client); + } + + @Test + public void testUpdateVnfToLocked() throws Exception{ + doNothing().when(client).updateMaintenceFlagVnfId(isA(String.class), isA(Boolean.class), isA(String.class)); + updator.updateVnfToLocked(vnfName, uuid); + verify(client, times(1)).updateMaintenceFlagVnfId(vnfName, true, uuid); + } + + @Test + public void testUpdateVnfToUnLocked() throws Exception { + doNothing().when(client).updateMaintenceFlagVnfId(isA(String.class), isA(Boolean.class), isA(String.class)); + updator.updateVnfToUnLocked(vnfName, uuid); + verify(client, times(1)).updateMaintenceFlagVnfId(vnfName, false, uuid); + } +}
\ No newline at end of file diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIValidatorTest.java b/common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java index 12034e0eea..04c8b15b51 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIValidatorTest.java +++ b/common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai; +package org.onap.so.client.aai; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; diff --git a/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java b/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java new file mode 100644 index 0000000000..ff940a0dea --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/entities/AAIResultWrapperTest.java @@ -0,0 +1,94 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai.entities; + +import static org.junit.Assert.*; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.aai.domain.yang.GenericVnf; +import org.onap.so.client.aai.AAICommonObjectMapperProvider; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +@RunWith(MockitoJUnitRunner.class) +public class AAIResultWrapperTest { + String json; + + AAIResultWrapper aaiResultWrapper; + AAIResultWrapper aaiResultWrapperEmpty; + + @Before + public void init() throws IOException { + final String RESOURCE_PATH = "src/test/resources/__files/aai/resources/"; + json = new String(Files.readAllBytes(Paths.get(RESOURCE_PATH + "e2e-complex.json"))); + + aaiResultWrapper = new AAIResultWrapper(json); + aaiResultWrapperEmpty = new AAIResultWrapper("{}"); + } + + @Test + public void testGetRelationshipsEmpty() { + Optional<Relationships> relationships = aaiResultWrapperEmpty.getRelationships(); + assertEquals("Compare relationships", Optional.empty(), relationships); + } + + @Test + public void testAsMap() throws JsonParseException, JsonMappingException, IOException { + ObjectMapper mapper = new AAICommonObjectMapperProvider().getMapper(); + Map<String, Object> expected = mapper.readValue(json, new TypeReference<Map<String, Object>>(){}); + + Map<String, Object> actual = aaiResultWrapper.asMap(); + assertEquals(expected, actual); + } + + @Test + public void testAsMapEmpty() { + Map<String, Object> actual = aaiResultWrapperEmpty.asMap(); + assertEquals(new HashMap<>(), actual); + } + + @Test + public void nullCases() { + + AAIResultWrapper wrapper = new AAIResultWrapper(null); + + assertEquals(Optional.empty(), wrapper.getRelationships()); + assertEquals("{}", wrapper.getJson()); + assertEquals(Optional.empty(), wrapper.asBean(GenericVnf.class)); + assertEquals(true, wrapper.asMap().isEmpty()); + assertEquals("{}", wrapper.toString()); + + + + } +} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/entities/RelationshipsTest.java b/common/src/test/java/org/onap/so/client/aai/entities/RelationshipsTest.java index b2c1f9ed64..1ce6e4377c 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/entities/RelationshipsTest.java +++ b/common/src/test/java/org/onap/so/client/aai/entities/RelationshipsTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.entities; +package org.onap.so.client.aai.entities; import static org.junit.Assert.assertTrue; @@ -29,9 +29,9 @@ import java.util.Arrays; import java.util.List; import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectType; -import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; +import org.onap.so.client.aai.AAIObjectType; +import org.onap.so.client.aai.entities.uri.AAIResourceUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; public class RelationshipsTest { @@ -40,22 +40,22 @@ public class RelationshipsTest { @Test public void run() throws IOException { final String content = new String(Files.readAllBytes(Paths.get(AAI_JSON_FILE_LOCATION + "e2e-complex.json"))); - + AAIResultWrapper wrapper = new AAIResultWrapper(content); Relationships relationships = wrapper.getRelationships().get(); - + List<AAIResourceUri> test = relationships.getRelatedAAIUris(AAIObjectType.VCE); - + System.out.println(test.get(0).build()); List<AAIResourceUri> uris = Arrays.asList( AAIUriFactory.createResourceUri(AAIObjectType.VCE, "a9fec18e-1ea3-40e4-a6c0-a89b3de07053"), AAIUriFactory.createResourceUri(AAIObjectType.VCE, "8ae1e5f8-61f1-4c71-913a-b40cc4593cb9"), AAIUriFactory.createResourceUri(AAIObjectType.VCE, "a2935fa9-b743-49f4-9813-a127f13c4e93"), AAIUriFactory.createResourceUri(AAIObjectType.VCE, "c7fe7698-8063-4e26-8bd3-ca3edde0b0d4")); - - + + assertTrue(uris.containsAll(test) && test.containsAll(uris)); + + } - } - -}
\ No newline at end of file +} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/SimpleUriFromUriTest.java b/common/src/test/java/org/onap/so/client/aai/entities/uri/AAISimpleUriFromUriTest.java index 6e3ab64108..5a69a42f35 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/SimpleUriFromUriTest.java +++ b/common/src/test/java/org/onap/so/client/aai/entities/uri/AAISimpleUriFromUriTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,23 +18,24 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.entities.uri; +package org.onap.so.client.aai.entities.uri; import static org.junit.Assert.assertEquals; import javax.ws.rs.core.UriBuilder; import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectType; +import org.onap.so.client.aai.AAIObjectType; +import org.onap.so.client.graphinventory.entities.uri.SimpleUri; -public class SimpleUriFromUriTest { +public class AAISimpleUriFromUriTest { @Test public void removeHost() { - AAIUri uri = new SimpleUri(AAIObjectType.UNKNOWN, UriBuilder.fromUri("https://aai-conexus-e2e.test.att.com:8443/aai/v9/network/vces/vce/a9fec18e-1ea3-40e4-a6c0-a89b3de07053").build()); + AAIUri uri = new AAISimpleUri(AAIObjectType.UNKNOWN, UriBuilder.fromUri("https://localhost:8443/aai/v9/network/vces/vce/a9fec18e-1ea3-40e4-a6c0-a89b3de07053").build()); assertEquals("root and version removed", "/network/vces/vce/a9fec18e-1ea3-40e4-a6c0-a89b3de07053", uri.build().toString()); @@ -42,7 +43,7 @@ public class SimpleUriFromUriTest { @Test public void noChange() { - AAIUri uri = new SimpleUri(AAIObjectType.UNKNOWN, UriBuilder.fromUri("/network/vces/vce/a9fec18e-1ea3-40e4-a6c0-a89b3de07053").build()); + AAIUri uri = new AAISimpleUri(AAIObjectType.UNKNOWN, UriBuilder.fromUri("/network/vces/vce/a9fec18e-1ea3-40e4-a6c0-a89b3de07053").build()); assertEquals("no change", "/network/vces/vce/a9fec18e-1ea3-40e4-a6c0-a89b3de07053", uri.build().toString()); @@ -51,7 +52,7 @@ public class SimpleUriFromUriTest { @Test public void encodingPreserved() { - AAIUri uri = new SimpleUri(AAIObjectType.UNKNOWN, UriBuilder.fromUri("/network/vces/vce/a9f%20%20ec18e-1ea3-40e4-a6c0-a89b3de07053").build()); + AAIUri uri = new AAISimpleUri(AAIObjectType.UNKNOWN, UriBuilder.fromUri("/network/vces/vce/a9f%20%20ec18e-1ea3-40e4-a6c0-a89b3de07053").build()); assertEquals("encoding preserved", "/network/vces/vce/a9f%20%20ec18e-1ea3-40e4-a6c0-a89b3de07053", uri.build().toString()); diff --git a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/SimpleUriTest.java b/common/src/test/java/org/onap/so/client/aai/entities/uri/AAISimpleUriTest.java index f4fe216cd2..1b6cc7bf66 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/SimpleUriTest.java +++ b/common/src/test/java/org/onap/so/client/aai/entities/uri/AAISimpleUriTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,19 +18,20 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.entities.uri; +package org.onap.so.client.aai.entities.uri; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.collection.IsIterableContainingInOrder.contains; +import static org.hamcrest.collection.IsEmptyCollection.empty; import static org.junit.Assert.assertEquals; import java.util.Map; import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectPlurals; -import org.openecomp.mso.client.aai.AAIObjectType; +import org.onap.so.client.aai.AAIObjectPlurals; +import org.onap.so.client.aai.AAIObjectType; -public class SimpleUriTest { +public class AAISimpleUriTest { @@ -51,7 +52,7 @@ public class SimpleUriTest { } @Test - public void cloneTest() { + public void cloneTestSingular() { AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test1"); AAIResourceUri cloned = uri.clone(); Map<String,String> keys = cloned.getURIKeys(); @@ -59,6 +60,14 @@ public class SimpleUriTest { } @Test + public void cloneTestPlural() { + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF); + AAIResourceUri cloned = uri.clone(); + Map<String,String> keys = cloned.getURIKeys(); + assertThat(keys.values(), empty()); + } + + @Test public void getKeysTest() { AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VSERVER, "cloud1", "cloud2", "tenant1", "vserver1"); Map<String,String> keys = uri.getURIKeys(); diff --git a/common/src/test/java/org/onap/so/client/aai/entities/uri/AAIUriFactoryTest.java b/common/src/test/java/org/onap/so/client/aai/entities/uri/AAIUriFactoryTest.java new file mode 100644 index 0000000000..0ddf5c707b --- /dev/null +++ b/common/src/test/java/org/onap/so/client/aai/entities/uri/AAIUriFactoryTest.java @@ -0,0 +1,68 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.aai.entities.uri; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.onap.so.client.aai.AAIObjectPlurals; +import org.onap.so.client.aai.AAIObjectType; +import org.onap.so.client.graphinventory.entities.uri.SimpleUri; + +public class AAIUriFactoryTest { + + @Test + public void testCreateResourceUri() { + + AAIUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "VIP(VelocitytoIP)"); + + String expected = "/network/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29"; + assertEquals(expected, uri.build().toString()); + } + + @Test + public void testCreateNodesUri() { + + AAIUri uri = AAIUriFactory.createNodesUri(AAIObjectType.GENERIC_VNF, "VIP(VelocitytoIP)"); + + String expected = "/nodes/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29"; + assertEquals(expected, uri.build().toString()); + } + + @Test + public void testCreateResourceFromExistingURI() { + + AAIUri uri = new AAISimpleUri(AAIObjectType.GENERIC_VNF, "VIP(VelocitytoIP)"); + AAIUri uri2 = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.GENERIC_VNF, uri.build()); + + String expected = "/network/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29"; + assertEquals(expected, uri2.build().toString()); + } + + @Test + public void testCreateResourceURIForPluralsWithValues() { + + AAIUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.SERVICE_INSTANCE, "customerId", "serviceType"); + + String expected = "/business/customers/customer/customerId/service-subscriptions/service-subscription/serviceType/service-instances"; + assertEquals(expected, uri.build().toString()); + } +} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/ServiceInstanceUriTest.java b/common/src/test/java/org/onap/so/client/aai/entities/uri/ServiceInstanceUriTest.java index 12ca0a2709..73720f55c2 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/ServiceInstanceUriTest.java +++ b/common/src/test/java/org/onap/so/client/aai/entities/uri/ServiceInstanceUriTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,10 +18,16 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.entities.uri; +package org.onap.so.client.aai.entities.uri; -import static org.hamcrest.CoreMatchers.containsString; +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.containing; +import static com.github.tomakehurst.wiremock.client.WireMock.put; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.collection.IsIterableContainingInOrder.contains; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.any; @@ -30,14 +36,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; -import static com.github.tomakehurst.wiremock.client.WireMock.put; -import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; -import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; -import static com.github.tomakehurst.wiremock.client.WireMock.containing; -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; - - import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; @@ -45,20 +43,17 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.Optional; -import javax.ws.rs.BadRequestException; import javax.ws.rs.core.UriBuilder; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.mockito.Matchers; -import org.openecomp.mso.client.aai.AAIObjectType; -import org.openecomp.mso.client.aai.AAIQueryClient; -import org.openecomp.mso.client.aai.Format; -import org.openecomp.mso.client.aai.entities.CustomQuery; -import org.openecomp.mso.client.aai.exceptions.AAIPayloadException; -import org.openecomp.mso.client.aai.exceptions.AAIUriComputationException; -import org.openecomp.mso.client.aai.exceptions.AAIUriNotFoundException; +import org.onap.so.client.aai.AAIQueryClient; +import org.onap.so.client.graphinventory.Format; +import org.onap.so.client.aai.entities.CustomQuery; +import org.onap.so.client.graphinventory.exceptions.GraphInventoryPayloadException; +import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriComputationException; +import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriNotFoundException; import com.github.tomakehurst.wiremock.junit.WireMockRule; @@ -69,8 +64,8 @@ public class ServiceInstanceUriTest { @Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8443)); - @Rule - public final ExpectedException exception = ExpectedException.none(); + @Rule + public final ExpectedException exception = ExpectedException.none(); @Test public void found() throws IOException { @@ -84,7 +79,7 @@ public class ServiceInstanceUriTest { } @Test - public void oneKey() throws IOException, URISyntaxException, AAIUriNotFoundException, AAIPayloadException { + public void oneKey() throws IOException, URISyntaxException, GraphInventoryUriNotFoundException, GraphInventoryPayloadException { ServiceInstanceUri instance = new ServiceInstanceUri("key1"); ServiceInstanceUri spy = spy(instance); @@ -97,7 +92,7 @@ public class ServiceInstanceUriTest { } @Test - public void oneKeyQueryParams() throws IOException, URISyntaxException, AAIUriNotFoundException, AAIPayloadException { + public void oneKeyQueryParams() throws IOException, URISyntaxException, GraphInventoryUriNotFoundException, GraphInventoryPayloadException { ServiceInstanceUri instance = new ServiceInstanceUri("key1"); ServiceInstanceUri spy = spy(instance); @@ -110,7 +105,7 @@ public class ServiceInstanceUriTest { } @Test - public void oneKeyEncoded() throws IOException, URISyntaxException, AAIUriNotFoundException, AAIPayloadException { + public void oneKeyEncoded() throws IOException, URISyntaxException, GraphInventoryUriNotFoundException, GraphInventoryPayloadException { ServiceInstanceUri instance = new ServiceInstanceUri("key1"); ServiceInstanceUri spy = spy(instance); @@ -123,7 +118,7 @@ public class ServiceInstanceUriTest { } @Test - public void oneKeyGetKeys() throws IOException, URISyntaxException, AAIUriNotFoundException, AAIPayloadException { + public void oneKeyGetKeys() throws IOException, URISyntaxException, GraphInventoryUriNotFoundException, GraphInventoryPayloadException { ServiceInstanceUri instance = new ServiceInstanceUri("key1"); ServiceInstanceUri spy = spy(instance); @@ -133,7 +128,7 @@ public class ServiceInstanceUriTest { } @Test - public void oneKeyClone() throws AAIUriNotFoundException, AAIPayloadException { + public void oneKeyClone() throws GraphInventoryUriNotFoundException, GraphInventoryPayloadException { ServiceInstanceUri instance = new ServiceInstanceUri("key1"); ServiceInstanceUri spy = spy(instance); String uri = "/business/customers/customer/key1/service-subscriptions/service-subscription/key2/service-instances/service-instance/key3"; @@ -155,7 +150,7 @@ public class ServiceInstanceUriTest { } @Test - public void notfound() throws IOException, AAIUriNotFoundException, AAIPayloadException { + public void notfound() throws IOException, GraphInventoryUriNotFoundException, GraphInventoryPayloadException { final String content = new String(Files.readAllBytes(Paths.get(AAI_JSON_FILE_LOCATION + "empty-query-result.json"))); ServiceInstanceUri instance = new ServiceInstanceUri("key3"); @@ -163,7 +158,7 @@ public class ServiceInstanceUriTest { AAIQueryClient mockQueryClient = mock(AAIQueryClient.class); when(mockQueryClient.query(any(Format.class), any(CustomQuery.class))).thenReturn(content); when(spy.getQueryClient()).thenReturn(mockQueryClient); - exception.expect(AAIUriComputationException.class); + exception.expect(GraphInventoryUriComputationException.class); spy.build(); } @@ -178,16 +173,19 @@ public class ServiceInstanceUriTest { } @Test - public void noVertexFound() throws AAIUriNotFoundException, AAIPayloadException { + public void noVertexFound() throws GraphInventoryUriNotFoundException, GraphInventoryPayloadException { ServiceInstanceUri instance = new ServiceInstanceUri("key3"); ServiceInstanceUri spy = spy(instance); + AAIQueryClient client = mock(AAIQueryClient.class); + when(client.query(any(Format.class), any(CustomQuery.class))).thenReturn("{\"results\":[]}"); + doReturn(client).when(spy).getQueryClient(); stubFor(put(urlMatching("/aai/v[0-9]+/query.*")) .withRequestBody(containing("key3")) .willReturn(aResponse() .withStatus(400) .withHeader("Content-Type", "application/json") .withBodyFile(""))); - exception.expect(AAIUriComputationException.class); + exception.expect(GraphInventoryUriComputationException.class); exception.expectMessage(containsString("NotFoundException")); spy.build(); } diff --git a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIOperationalEnvironmentTest.java b/common/src/test/java/org/onap/so/client/aai/objects/AAIOperationalEnvironmentTest.java index f512de848c..e2a3cbd6bd 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIOperationalEnvironmentTest.java +++ b/common/src/test/java/org/onap/so/client/aai/objects/AAIOperationalEnvironmentTest.java @@ -1,23 +1,23 @@ /* * ============LICENSE_START======================================================= -* ONAP : SO -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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========================================================= + * ONAP : SO + * ================================================================================ + * Copyright (C) 2018 TechMahindra + * ================================================================================ + * 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.mso.client.aai.objects; +package org.onap.so.client.aai.objects; import static org.junit.Assert.*; diff --git a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIServiceInstanceTest.java b/common/src/test/java/org/onap/so/client/aai/objects/AAIServiceInstanceTest.java index 692e3bba0b..4b080252b2 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIServiceInstanceTest.java +++ b/common/src/test/java/org/onap/so/client/aai/objects/AAIServiceInstanceTest.java @@ -1,23 +1,23 @@ /* * ============LICENSE_START======================================================= -* ONAP : SO -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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========================================================= + * ONAP : SO + * ================================================================================ + * Copyright (C) 2018 TechMahindra + * ================================================================================ + * 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.mso.client.aai.objects; +package org.onap.so.client.aai.objects; import static org.junit.Assert.*; diff --git a/common/src/test/java/org/onap/so/client/defaultproperties/DefaultAAIPropertiesImpl.java b/common/src/test/java/org/onap/so/client/defaultproperties/DefaultAAIPropertiesImpl.java new file mode 100644 index 0000000000..77e1dfee7d --- /dev/null +++ b/common/src/test/java/org/onap/so/client/defaultproperties/DefaultAAIPropertiesImpl.java @@ -0,0 +1,78 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.defaultproperties; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import org.onap.so.client.aai.AAIProperties; +import org.onap.so.client.aai.AAIVersion; + +public class DefaultAAIPropertiesImpl implements AAIProperties { + + + final Map<Object, Object> props; + public DefaultAAIPropertiesImpl() { + File initialFile = new File("src/test/resources/aai.properties"); + Map<Object, Object> temp; + try (InputStream targetStream = new FileInputStream(initialFile)) { + Properties properties = new Properties(); + properties.load(targetStream); + temp = properties; + } catch (IOException e) { + temp = new HashMap<>(); + } + this.props = temp; + + } + @Override + public URL getEndpoint() throws MalformedURLException { + return new URL(props.get("aai.endpoint").toString()); + } + + @Override + public String getSystemName() { + return "MSO"; + } + @Override + public AAIVersion getDefaultVersion() { + return AAIVersion.LATEST; + } + + @Override + public String getAuth() { + Object value = props.get("aai.auth"); + return value == null ? null : value.toString(); + } + + @Override + public String getKey() { + Object value = props.get("mso.msoKey"); + return value == null ? null : value.toString(); + } +} diff --git a/common/src/test/java/org/openecomp/mso/client/dmaap/DmaapClientTest.java b/common/src/test/java/org/onap/so/client/dmaap/DmaapClientTest.java index dda7754712..4b90cfe021 100644 --- a/common/src/test/java/org/openecomp/mso/client/dmaap/DmaapClientTest.java +++ b/common/src/test/java/org/onap/so/client/dmaap/DmaapClientTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.dmaap; +package org.onap.so.client.dmaap; import static org.junit.Assert.assertEquals; @@ -26,7 +26,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import org.junit.Test; -import org.openecomp.mso.client.sdno.dmaap.SDNOHealthCheckDmaapConsumer; +import org.onap.so.client.sdno.dmaap.SDNOHealthCheckDmaapConsumer; public class DmaapClientTest { diff --git a/common/src/test/java/org/openecomp/mso/client/dmaap/DmaapPublisherTest.java b/common/src/test/java/org/onap/so/client/dmaap/DmaapPublisherTest.java index a9bf81d2ad..e1afa82e1e 100644 --- a/common/src/test/java/org/openecomp/mso/client/dmaap/DmaapPublisherTest.java +++ b/common/src/test/java/org/onap/so/client/dmaap/DmaapPublisherTest.java @@ -7,9 +7,9 @@ * 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. @@ -17,7 +17,7 @@ * limitations under the License. * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.dmaap; +package org.onap.so.client.dmaap; import org.junit.Test; diff --git a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/parsers/UriParserSpringImplTest.java b/common/src/test/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImplTest.java index e8d98718a4..be93f47585 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/parsers/UriParserSpringImplTest.java +++ b/common/src/test/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImplTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,14 +18,16 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.entities.uri.parsers; +package org.onap.so.client.graphinventory.entities.uri.parsers; import static org.junit.Assert.assertEquals; import java.util.Map; import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectType; +import org.onap.so.client.aai.AAIObjectType; +import org.onap.so.client.graphinventory.entities.uri.parsers.UriParser; +import org.onap.so.client.graphinventory.entities.uri.parsers.UriParserSpringImpl; public class UriParserSpringImplTest { diff --git a/common/src/test/java/org/openecomp/mso/client/aai/exceptions/AAIPayloadExceptionTest.java b/common/src/test/java/org/onap/so/client/graphinventory/exceptions/GraphInventoryPayloadExceptionTest.java index 3895230ed4..6b23cbbe86 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/exceptions/AAIPayloadExceptionTest.java +++ b/common/src/test/java/org/onap/so/client/graphinventory/exceptions/GraphInventoryPayloadExceptionTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,22 +18,23 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.exceptions; +package org.onap.so.client.graphinventory.exceptions; import org.junit.Test; +import org.onap.so.client.graphinventory.exceptions.GraphInventoryPayloadException; -public class AAIPayloadExceptionTest { +public class GraphInventoryPayloadExceptionTest { Throwable t = new Throwable(); @Test public void callConstructorTest() throws Exception { - AAIPayloadException test1 = new AAIPayloadException("testing"); + GraphInventoryPayloadException test1 = new GraphInventoryPayloadException("testing"); - AAIPayloadException test2 = new AAIPayloadException("testing", t); + GraphInventoryPayloadException test2 = new GraphInventoryPayloadException("testing", t); - AAIPayloadException test3 = new AAIPayloadException(t); + GraphInventoryPayloadException test3 = new GraphInventoryPayloadException(t); } } diff --git a/common/src/test/java/org/openecomp/mso/client/grm/GRMBeansTest.java b/common/src/test/java/org/onap/so/client/grm/GRMBeansTest.java index e22dc7b754..76b7369399 100644 --- a/common/src/test/java/org/openecomp/mso/client/grm/GRMBeansTest.java +++ b/common/src/test/java/org/onap/so/client/grm/GRMBeansTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.grm; +package org.onap.so.client.grm; import java.util.List; @@ -38,9 +38,9 @@ import com.openpojo.validation.test.impl.GetterTester; import com.openpojo.validation.test.impl.SetterTester; public class GRMBeansTest { - private static final String POJO_PACKAGE = "org.openecomp.mso.client.grm.beans"; + private static final String POJO_PACKAGE = "org.onap.so.client.grm.beans"; private PojoClassFilter filterTestClasses = new FilterTestClasses(); - + @Test public void testPojoStructureAndBehavior() { Validator validator = ValidatorBuilder.create() diff --git a/common/src/test/java/org/openecomp/mso/client/grm/GRMClientTest.java b/common/src/test/java/org/onap/so/client/grm/GRMClientTest.java index 6865bbd773..3cce6a626b 100644 --- a/common/src/test/java/org/openecomp/mso/client/grm/GRMClientTest.java +++ b/common/src/test/java/org/onap/so/client/grm/GRMClientTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,61 +18,91 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.grm; +package org.onap.so.client.grm; +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.post; +import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import java.io.File; import java.nio.file.Files; import java.util.ArrayList; import java.util.List; +import java.util.Map; import javax.ws.rs.core.MediaType; +import ch.qos.logback.classic.spi.ILoggingEvent; + +import org.apache.log4j.MDC; +import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; -import org.openecomp.mso.client.grm.exceptions.GRMClientCallFailed; -import org.openecomp.mso.client.grm.GRMClient; -import org.openecomp.mso.client.grm.beans.ServiceEndPointRequest; -import org.openecomp.mso.client.grm.beans.OperationalInfo; -import org.openecomp.mso.client.grm.beans.Property; -import org.openecomp.mso.client.grm.beans.ServiceEndPoint; -import org.openecomp.mso.client.grm.beans.ServiceEndPointList; -import org.openecomp.mso.client.grm.beans.ServiceEndPointLookupRequest; -import org.openecomp.mso.client.grm.beans.Version; +import org.junit.rules.ExpectedException; +import org.onap.so.client.grm.beans.OperationalInfo; +import org.onap.so.client.grm.beans.Property; +import org.onap.so.client.grm.beans.ServiceEndPoint; +import org.onap.so.client.grm.beans.ServiceEndPointList; +import org.onap.so.client.grm.beans.ServiceEndPointLookupRequest; +import org.onap.so.client.grm.beans.ServiceEndPointRequest; +import org.onap.so.client.grm.beans.Version; +import org.onap.so.client.grm.exceptions.GRMClientCallFailed; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.tomakehurst.wiremock.junit.WireMockRule; -import static com.github.tomakehurst.wiremock.client.WireMock.post; -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; -import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import org.onap.so.logger.MsoLogger; +import org.onap.so.logger.MsoLogger.Catalog; +import org.onap.so.utils.TestAppender; public class GRMClientTest { @Rule - public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(28090)); + public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(47389)); + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @BeforeClass + public static void setUp() throws Exception { + System.setProperty("mso.config.path", "src/test/resources"); + } private ObjectMapper mapper = new ObjectMapper(); @Test public void testFind() throws Exception { + TestAppender.events.clear(); String endpoints = getFileContentsAsString("__files/grm/endpoints.json"); wireMockRule.stubFor(post(urlPathEqualTo("/GRMLWPService/v1/serviceEndPoint/findRunning")) .willReturn(aResponse() .withStatus(200) .withHeader("Content-Type", MediaType.APPLICATION_JSON) + .withHeader("X-FromAppId", "GRM") .withBody(endpoints))); - + MDC.put(MsoLogger.SERVICE_NAME, "my-value"); GRMClient client = new GRMClient(); ServiceEndPointList sel = client.findRunningServices("TEST.ECOMP_PSL.*", 1, "TEST"); List<ServiceEndPoint> list = sel.getServiceEndPointList(); assertEquals(3, list.size()); + ILoggingEvent logEvent = TestAppender.events.get(0); + Map<String,String> mdc = logEvent.getMDCPropertyMap(); + assertNotNull(mdc.get(MsoLogger.METRIC_BEGIN_TIME)); + assertNotNull(mdc.get(MsoLogger.METRIC_END_TIME)); + assertNotNull(mdc.get(MsoLogger.REQUEST_ID)); + assertNotNull(mdc.get(MsoLogger.METRIC_TIMER)); + assertEquals("200",mdc.get(MsoLogger.RESPONSECODE)); + assertEquals("GRM",mdc.get(MsoLogger.PARTNERNAME)); + assertEquals("expect value to not be overwritten by jax rs client interceptor", "my-value",mdc.get(MsoLogger.SERVICE_NAME)); + assertEquals("COMPLETE",mdc.get(MsoLogger.STATUSCODE)); + assertNotNull(mdc.get(MsoLogger.RESPONSEDESC)); } - @Test(expected = GRMClientCallFailed.class) + @Test public void testFindFail() throws Exception { wireMockRule.stubFor(post(urlPathEqualTo("/GRMLWPService/v1/serviceEndPoint/findRunning")) @@ -82,13 +112,14 @@ public class GRMClientTest { .withBody(""))); GRMClient client = new GRMClient(); + thrown.expect(GRMClientCallFailed.class); client.findRunningServices("TEST.ECOMP_PSL.*", 1, "TEST"); } @Ignore @Test public void testAdd() throws Exception { - + wireMockRule.stubFor(post(urlPathEqualTo("/GRMLWPService/v1/serviceEndPoint/add")) .willReturn(aResponse() .withStatus(202) @@ -147,7 +178,7 @@ public class GRMClientTest { client.addServiceEndPoint(request); } - @Test(expected = GRMClientCallFailed.class) + @Test public void testAddFail() throws Exception { wireMockRule.stubFor(post(urlPathEqualTo("/GRMLWPService/v1/serviceEndPoint/add")) .willReturn(aResponse() @@ -156,6 +187,7 @@ public class GRMClientTest { .withBody("test"))); ServiceEndPointRequest request = new ServiceEndPointRequest(); GRMClient client = new GRMClient(); + thrown.expect(GRMClientCallFailed.class); client.addServiceEndPoint(request); } diff --git a/common/src/test/java/org/openecomp/mso/client/grm/ServiceEndPointListTest.java b/common/src/test/java/org/onap/so/client/grm/ServiceEndPointListTest.java index 111fec46eb..a1fb43ea5e 100644 --- a/common/src/test/java/org/openecomp/mso/client/grm/ServiceEndPointListTest.java +++ b/common/src/test/java/org/onap/so/client/grm/ServiceEndPointListTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,15 +18,15 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.grm; +package org.onap.so.client.grm; import java.io.File; import java.nio.file.Files; import java.util.List; import static org.junit.Assert.*; import org.junit.Test; -import org.openecomp.mso.client.grm.beans.ServiceEndPoint; -import org.openecomp.mso.client.grm.beans.ServiceEndPointList; +import org.onap.so.client.grm.beans.ServiceEndPoint; +import org.onap.so.client.grm.beans.ServiceEndPointList; import com.fasterxml.jackson.databind.ObjectMapper; @@ -47,7 +47,7 @@ public class ServiceEndPointListTest { assertEquals(Integer.valueOf(1), Integer.valueOf(se.getVersion().getMajor())); assertEquals(Integer.valueOf(0), Integer.valueOf(se.getVersion().getMinor())); assertEquals(Integer.valueOf(0), Integer.valueOf(se.getVersion().getPatch())); - assertEquals("135.144.120.218", se.getHostAddress()); + assertEquals("192.168.120.218", se.getHostAddress()); assertEquals("32004", se.getListenPort()); assertEquals("37.7022", se.getLatitude()); assertEquals("121.9358", se.getLongitude()); diff --git a/common/src/test/java/org/openecomp/mso/client/grm/ServiceEndPointRequestTest.java b/common/src/test/java/org/onap/so/client/grm/ServiceEndPointRequestTest.java index 230b58bd84..4fe6bca05e 100644 --- a/common/src/test/java/org/openecomp/mso/client/grm/ServiceEndPointRequestTest.java +++ b/common/src/test/java/org/onap/so/client/grm/ServiceEndPointRequestTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,17 +18,17 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.grm; +package org.onap.so.client.grm; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import org.junit.Test; -import org.openecomp.mso.client.grm.beans.OperationalInfo; -import org.openecomp.mso.client.grm.beans.Property; -import org.openecomp.mso.client.grm.beans.ServiceEndPoint; -import org.openecomp.mso.client.grm.beans.ServiceEndPointRequest; -import org.openecomp.mso.client.grm.beans.Version; +import org.onap.so.client.grm.beans.OperationalInfo; +import org.onap.so.client.grm.beans.Property; +import org.onap.so.client.grm.beans.ServiceEndPoint; +import org.onap.so.client.grm.beans.ServiceEndPointRequest; +import org.onap.so.client.grm.beans.Version; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/common/src/test/java/org/openecomp/mso/client/policy/PolicyClientImplTest.java b/common/src/test/java/org/onap/so/client/policy/PolicyClientImplTest.java index f406667870..104d40f76e 100644 --- a/common/src/test/java/org/openecomp/mso/client/policy/PolicyClientImplTest.java +++ b/common/src/test/java/org/onap/so/client/policy/PolicyClientImplTest.java @@ -1,104 +1,111 @@ -/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T 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 org.openecomp.mso.client.policy;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.doReturn;
-import static com.shazam.shazamcrest.MatcherAssert.assertThat;
-import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
-
-import org.junit.Ignore;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.openecomp.mso.client.defaultproperties.PolicyRestPropertiesImpl;
-import org.openecomp.mso.client.policy.entities.DecisionAttributes;
-import org.openecomp.mso.client.policy.entities.DictionaryData;
-import org.openecomp.mso.client.policy.entities.PolicyDecision;
-import org.openecomp.mso.client.policy.entities.PolicyServiceType;
-
-public class PolicyClientImplTest {
-
- @Test
- public void successReadProperties() {
- PolicyRestClient client = new PolicyRestClient(new PolicyRestPropertiesImpl(), PolicyServiceType.GET_DECISION);
- client.initializeHeaderMap(client.headerMap);
-
- assertEquals("Found expected Client Auth", client.headerMap.get("ClientAuth"),
- "Basic bTAzNzQzOnBvbGljeVIwY2sk");
- assertEquals("Found expected Authorization", client.headerMap.get("Authorization"),
- "Basic dGVzdHBkcDphbHBoYTEyMw==");
- assertEquals("Found expected Environment", client.headerMap.get("Environment"), "TEST");
- assertEquals("Has X-ECOMP-RequestID", client.headerMap.containsKey("X-ECOMP-RequestID"), true);
- }
-
- @Test
- public void getDecisionMockTest() {
- String serviceType = "S";
- String vnfType = "V";
- String bbID = "BB1";
- String workStep = "1";
- String errorCode = "123";
-
- PolicyDecision expected = new PolicyDecision();
- expected.setDecision("PERMIT");
- expected.setDetails("Retry");
-
- DecisionAttributes decisionAttributes = new DecisionAttributes();
- decisionAttributes.setServiceType(serviceType);
- decisionAttributes.setVNFType(vnfType);
- decisionAttributes.setBBID(bbID);
- decisionAttributes.setWorkStep(workStep);
- decisionAttributes.setErrorCode(errorCode);
- PolicyClient client = Mockito.spy(PolicyClientImpl.class);
-
- doReturn(expected).when(client).getDecision(serviceType, vnfType, bbID, workStep, errorCode);
-
- PolicyDecision actual = client.getDecision(serviceType, vnfType, bbID, workStep, errorCode);
- assertThat(actual, sameBeanAs(expected));
- }
-
- @Test
- @Ignore
- public void getDecisionTest() {
- PolicyClient client = new PolicyClientImpl();
- PolicyDecision decision = client.getDecision("S", "V", "BB1", "1", "123");
- assertEquals("Decision is correct", decision.getDecision(), "PERMIT");
- assertEquals("Decision details is correct", decision.getDetails(), "Retry");
- }
-
- @Test
- @Ignore
- public void getAllowedTreatmentsTest() {
- PolicyClient client = new PolicyClientImpl();
- DictionaryData dictClient = client.getAllowedTreatments("BB1", "1");
- final String dictBbidString = dictClient.getBbid().getString();
- final String dictWorkStepString = dictClient.getWorkstep().getString();
- assertEquals("DictionaryData matches a response Bbid", dictBbidString, "BB1");
- assertEquals("DicitonaryData matches a response WorkStep", dictWorkStepString, "1");
- }
- /*
- * @Test public void getAllowedTreatmentsTest() { PolicyClient client = new
- * PolicyClientImpl(); AllowedTreatments allowedTreatments =
- * client.getAllowedTreatments("BB1", "1"); int expectedSizeOfList = 4; int
- * sizeOfList = allowedTreatments.getAllowedTreatments().size();
- * assertEquals("Decision is correct", sizeOfList, expectedSizeOfList); }
- */
-}
+/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.client.policy; + +import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.doReturn; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.Mockito; +import org.onap.so.client.defaultproperties.PolicyRestPropertiesImpl; +import org.onap.so.client.policy.entities.DictionaryData; +import org.onap.so.client.policy.entities.PolicyDecision; +import org.onap.so.client.policy.entities.PolicyServiceType; + +public class PolicyClientImplTest { + + @BeforeClass + public static void setUp() { + System.setProperty("mso.config.path", "src/test/resources"); + } + @Test + public void successReadProperties() { + PolicyRestClient client = new PolicyRestClient(new PolicyRestPropertiesImpl(), PolicyServiceType.GET_DECISION); + Map<String, String> map = new HashMap<>(); + client.initializeHeaderMap(map); + assertEquals("Found expected Client Auth", "Basic bTAzNzQzOnBvbGljeVIwY2sk", map.get("ClientAuth")); + assertEquals("Found expected Authorization", "Basic dGVzdHBkcDphbHBoYTEyMw==", map.get("Authorization")); + assertEquals("Found expected Environment", "TEST", map.get("Environment")); + } + + @Test + @Ignore + public void getDecisionTest() { + PolicyClient client = new PolicyClientImpl(); + PolicyDecision decision = client.getDecision("S", "V", "BB1", "1", "123"); + assertEquals("Decision is correct", decision.getDecision(), "PERMIT"); + assertEquals("Decision details is correct", decision.getDetails(), "Retry"); + } + + @Test + @Ignore + public void getAllowedTreatmentsTest(){ + PolicyClient client = new PolicyClientImpl(); + DictionaryData dictClient = client.getAllowedTreatments("BB1", "1"); + final String dictBbidString = dictClient.getBbid().getString(); + final String dictWorkStepString = dictClient.getWorkstep().getString(); + assertEquals("DictionaryData matches a response Bbid", dictBbidString, "BB1"); + assertEquals("DicitonaryData matches a response WorkStep", dictWorkStepString, "1"); + } + + @Test + public void getDecisionMockTest() { + String serviceType = "S"; + String vnfType = "V"; + String bbID = "BB1"; + String workStep = "1"; + String errorCode = "123"; + + PolicyDecision expected = new PolicyDecision(); + expected.setDecision("PERMIT"); + expected.setDetails("Retry"); + + DecisionAttributes decisionAttributes = new DecisionAttributes(); + decisionAttributes.setServiceType(serviceType); + decisionAttributes.setVNFType(vnfType); + decisionAttributes.setBBID(bbID); + decisionAttributes.setWorkStep(workStep); + decisionAttributes.setErrorCode(errorCode); + PolicyClient client = Mockito.spy(PolicyClientImpl.class); + + doReturn(expected).when(client).getDecision(serviceType, vnfType, bbID, workStep, errorCode); + + PolicyDecision actual = client.getDecision(serviceType, vnfType, bbID, workStep, errorCode); + assertThat(actual, sameBeanAs(expected)); + } + + /* + @Test + public void getAllowedTreatmentsTest() { + PolicyClient client = new PolicyClientImpl(); + AllowedTreatments allowedTreatments = client.getAllowedTreatments("BB1", "1"); + int expectedSizeOfList = 4; + int sizeOfList = allowedTreatments.getAllowedTreatments().size(); + assertEquals("Decision is correct", sizeOfList, expectedSizeOfList); + }*/ +} diff --git a/common/src/test/java/org/openecomp/mso/client/policy/entities/PolicyEntitiesTest.java b/common/src/test/java/org/onap/so/client/policy/entities/PolicyEntitiesTest.java index f526e10249..2796affa49 100644 --- a/common/src/test/java/org/openecomp/mso/client/policy/entities/PolicyEntitiesTest.java +++ b/common/src/test/java/org/onap/so/client/policy/entities/PolicyEntitiesTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.policy.entities; +package org.onap.so.client.policy.entities; import org.junit.Test; @@ -39,7 +39,7 @@ public class PolicyEntitiesTest { @Test public void pojoStructure() { - test("org.openecomp.mso.client.policy.entities"); + test("org.onap.so.client.policy.entities"); } private void test(String pojoPackage) { diff --git a/common/src/test/java/org/openecomp/mso/client/ruby/RubyCheckClientTest.java b/common/src/test/java/org/onap/so/client/ruby/RubyCheckClientTest.java index 053f1f2533..ba8772b05c 100644 --- a/common/src/test/java/org/openecomp/mso/client/ruby/RubyCheckClientTest.java +++ b/common/src/test/java/org/onap/so/client/ruby/RubyCheckClientTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.ruby; +package org.onap.so.client.ruby; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -32,13 +32,13 @@ import java.text.ParseException; import java.time.format.DateTimeFormatter; import org.junit.Test; -import org.openecomp.mso.client.ruby.beans.Ruby; +import org.onap.so.client.ruby.beans.Ruby; import static org.apache.commons.lang3.StringUtils.*; import com.fasterxml.jackson.databind.ObjectMapper; public class RubyCheckClientTest { - private final String fileLocation = "src/test/resources/org/openecomp/mso/client/ruby/create-ticket/"; + private final String fileLocation = "src/test/resources/org/onap/so/client/ruby/create-ticket/"; private static final String REQUEST_ID = "abc123"; private static final String SOURCE_NAME = "source-name"; private static final String TIME = "test-time"; diff --git a/common/src/test/java/org/openecomp/mso/client/ruby/beans/RubyBeansTest.java b/common/src/test/java/org/onap/so/client/ruby/beans/RubyBeansTest.java index 90e1861292..eb142be4c6 100644 --- a/common/src/test/java/org/openecomp/mso/client/ruby/beans/RubyBeansTest.java +++ b/common/src/test/java/org/onap/so/client/ruby/beans/RubyBeansTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.ruby.beans; +package org.onap.so.client.ruby.beans; import org.junit.Test; @@ -39,7 +39,7 @@ public class RubyBeansTest { @Test public void pojoStructure() { - test("org.openecomp.mso.client.ruby.beans"); + test("org.onap.so.client.ruby.beans"); } private void test(String pojoPackage) { diff --git a/common/src/test/java/org/openecomp/mso/client/sdno/SDNOHealthCheckClientTest.java b/common/src/test/java/org/onap/so/client/sdno/SDNOHealthCheckClientTest.java index 6c64d90ff4..4887aed522 100644 --- a/common/src/test/java/org/openecomp/mso/client/sdno/SDNOHealthCheckClientTest.java +++ b/common/src/test/java/org/onap/so/client/sdno/SDNOHealthCheckClientTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.sdno; +package org.onap.so.client.sdno; import static org.junit.Assert.assertEquals; @@ -28,7 +28,7 @@ import java.nio.file.Paths; import java.util.Optional; import org.junit.Test; -import org.openecomp.mso.client.sdno.beans.SDNO; +import org.onap.so.client.sdno.beans.SDNO; import com.fasterxml.jackson.databind.ObjectMapper; @@ -36,7 +36,7 @@ public class SDNOHealthCheckClientTest { - private final String fileLocation = "src/test/resources/org/openecomp/mso/client/sdno/health-check/"; + private final String fileLocation = "src/test/resources/org/onap/so/client/sdno/health-check/"; private static final String userId = "test-user"; private static final Optional<String> clliCode = Optional.of("test-clli"); private static final String requestId = "test-request-id"; diff --git a/common/src/test/java/org/openecomp/mso/client/sdno/SDNOValidatorTest.java b/common/src/test/java/org/onap/so/client/sdno/SDNOValidatorTest.java index cd84e7854d..89dd2f554f 100644 --- a/common/src/test/java/org/openecomp/mso/client/sdno/SDNOValidatorTest.java +++ b/common/src/test/java/org/onap/so/client/sdno/SDNOValidatorTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.sdno; +package org.onap.so.client.sdno; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.any; @@ -42,11 +42,11 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.onap.aai.domain.yang.GenericVnf; -import org.openecomp.mso.client.dmaap.Consumer; -import org.openecomp.mso.client.dmaap.exceptions.DMaaPConsumerFailure; -import org.openecomp.mso.client.exceptions.SDNOException; -import org.openecomp.mso.client.sdno.beans.SDNO; -import org.openecomp.mso.client.sdno.dmaap.SDNOHealthCheckDmaapConsumer; +import org.onap.so.client.dmaap.Consumer; +import org.onap.so.client.dmaap.exceptions.DMaaPConsumerFailure; +import org.onap.so.client.exceptions.SDNOException; +import org.onap.so.client.sdno.beans.SDNO; +import org.onap.so.client.sdno.dmaap.SDNOHealthCheckDmaapConsumer; import com.fasterxml.jackson.databind.ObjectMapper; @@ -56,7 +56,7 @@ public class SDNOValidatorTest { @Mock private Consumer mrConsumer; @Spy private SDNOHealthCheckDmaapConsumer dmaapConsumer; - private final String fileLocation = "src/test/resources/org/openecomp/mso/client/sdno/"; + private final String fileLocation = "src/test/resources/org/onap/so/client/sdno/"; private final String uuid = "xyz123"; @Rule public ExpectedException thrown = ExpectedException.none(); diff --git a/common/src/test/java/org/openecomp/mso/client/sdno/beans/SdnoBeansTest.java b/common/src/test/java/org/onap/so/client/sdno/beans/SdnoBeansTest.java index 4a2580f3f1..bdfefd028c 100644 --- a/common/src/test/java/org/openecomp/mso/client/sdno/beans/SdnoBeansTest.java +++ b/common/src/test/java/org/onap/so/client/sdno/beans/SdnoBeansTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.sdno.beans; +package org.onap.so.client.sdno.beans; import org.junit.Test; @@ -39,7 +39,7 @@ public class SdnoBeansTest { @Test public void pojoStructure() { - test("org.openecomp.mso.client.sdno.beans"); + test("org.onap.so.client.sdno.beans"); } private void test(String pojoPackage) { diff --git a/common/src/test/java/org/openecomp/mso/entity/MsoRequestTest.java b/common/src/test/java/org/onap/so/entity/MsoRequestTest.java index a7fc7e223e..73b5c7ea2d 100644 --- a/common/src/test/java/org/openecomp/mso/entity/MsoRequestTest.java +++ b/common/src/test/java/org/onap/so/entity/MsoRequestTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,11 +18,11 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.entity; +package org.onap.so.entity; import org.junit.Test; -import org.openecomp.mso.openpojo.rules.HasToStringRule; -import org.openecomp.mso.openpojo.rules.ToStringTester; +import org.onap.so.openpojo.rules.HasToStringRule; +import org.onap.so.openpojo.rules.ToStringTester; import com.openpojo.reflection.PojoClass; import com.openpojo.reflection.PojoClassFilter; @@ -42,7 +42,7 @@ public class MsoRequestTest { @Test public void pojoStructure() { - test("org.openecomp.mso.entity"); + test("org.onap.so.entity"); } private void test(String pojoPackage) { diff --git a/common/src/test/java/org/onap/so/exceptions/ValidationExceptionTest.java b/common/src/test/java/org/onap/so/exceptions/ValidationExceptionTest.java new file mode 100644 index 0000000000..b3ae7ba9f5 --- /dev/null +++ b/common/src/test/java/org/onap/so/exceptions/ValidationExceptionTest.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 - 2018 AT&T 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 org.onap.so.exceptions; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Created by ANANDSAN on 4/12/2018. + */ +public class ValidationExceptionTest { + @Test + public void validationExceptionOverrideMessageFalse(){ + ValidationException e = new ValidationException("testMessage", false); + Assert.assertEquals("testMessage", e.getMessage()); + } + + @Test + public void validationExceptionOverrideMessageTrue(){ + ValidationException e = new ValidationException("testMessage", true); + Assert.assertEquals("No valid testMessage is specified", e.getMessage()); + } + + @Test + public void validationException(){ + ValidationException e = new ValidationException("testMessage"); + Assert.assertEquals("No valid testMessage is specified", e.getMessage()); + } + + @Test + public void validationExceptionVersion(){ + ValidationException e = new ValidationException("testMessage", "1.0"); + Assert.assertEquals("testMessage is not valid in the 1.0 version", e.getMessage()); + } +} diff --git a/common/src/test/java/org/openecomp/mso/jsonpath/JsonPathUtilTest.java b/common/src/test/java/org/onap/so/jsonpath/JsonPathUtilTest.java index 85bb8b6804..06e25daa98 100644 --- a/common/src/test/java/org/openecomp/mso/jsonpath/JsonPathUtilTest.java +++ b/common/src/test/java/org/onap/so/jsonpath/JsonPathUtilTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,10 +18,11 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.jsonpath; +package org.onap.so.jsonpath; import static org.junit.Assert.assertEquals; +import java.util.Collections; import java.util.Optional; import org.junit.Test; @@ -46,4 +47,9 @@ public class JsonPathUtilTest { assertEquals("json doc found", Optional.of("{\"nested\":\"value\"}"), JsonPathUtil.getInstance().locateResult(json, "$.test2")); assertEquals("value found", Optional.of("value"), JsonPathUtil.getInstance().locateResult(json, "$.test2.nested")); } -}
\ No newline at end of file + + @Test + public void pathListTest() { + assertEquals(Collections.singletonList("$['test2']['nested']"), JsonPathUtil.getInstance().getPathList(json, "$.*.*")); + } +} diff --git a/common/src/test/java/org/openecomp/mso/serviceinstancebeans/ServiceInstanceBeansTest.java b/common/src/test/java/org/onap/so/serviceinstancebeans/ServiceInstanceBeansTest.java index f0853305ee..7a4af7808e 100644 --- a/common/src/test/java/org/openecomp/mso/serviceinstancebeans/ServiceInstanceBeansTest.java +++ b/common/src/test/java/org/onap/so/serviceinstancebeans/ServiceInstanceBeansTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,11 +18,11 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.serviceinstancebeans; +package org.onap.so.serviceinstancebeans; import org.junit.Test; -import org.openecomp.mso.openpojo.rules.HasToStringRule; -import org.openecomp.mso.openpojo.rules.ToStringTester; +import org.onap.so.openpojo.rules.HasToStringRule; +import org.onap.so.openpojo.rules.ToStringTester; import com.openpojo.reflection.PojoClass; import com.openpojo.reflection.PojoClassFilter; @@ -41,7 +41,7 @@ public class ServiceInstanceBeansTest { @Test public void pojoStructure() { - test("org.openecomp.mso.serviceinstancebeans"); + test("org.onap.so.serviceinstancebeans"); } private void test(String pojoPackage) { diff --git a/common/src/test/java/org/openecomp/mso/serviceinstancebeans/ServiceInstancesRequestTest.java b/common/src/test/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequestTest.java index 28cbe799cd..2e67ff4b2b 100644 --- a/common/src/test/java/org/openecomp/mso/serviceinstancebeans/ServiceInstancesRequestTest.java +++ b/common/src/test/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequestTest.java @@ -7,9 +7,9 @@ * 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. @@ -18,7 +18,7 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.serviceinstancebeans; +package org.onap.so.serviceinstancebeans; import org.junit.Assert; import org.junit.Test; diff --git a/common/src/test/java/org/openecomp/mso/utils/CheckResultsTest.java b/common/src/test/java/org/onap/so/utils/CheckResultsTest.java index eeb7342d50..0e1da16b9e 100644 --- a/common/src/test/java/org/openecomp/mso/utils/CheckResultsTest.java +++ b/common/src/test/java/org/onap/so/utils/CheckResultsTest.java @@ -18,18 +18,20 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.utils; +package org.onap.so.utils; + +import static org.junit.Assert.*; import java.util.List; import org.junit.Test; -import org.openecomp.mso.utils.CheckResults.CheckResult; +import org.onap.so.utils.CheckResults.CheckResult; public class CheckResultsTest { /** - * Test method for {@link org.openecomp.mso.utils.CheckResults#getResults()}. + * Test method for {@link org.onap.so.utils.CheckResults#getResults()}. */ @Test public final void testGetResults () { @@ -41,16 +43,16 @@ public class CheckResultsTest { cr.addServiceCheckResult ("host2", "service1", 0, "output2Serv"); cr.addServiceCheckResult ("host2", "service2", 2, "output2Serv2"); List <CheckResult> res = cr.getResults (); - assert(res.size () == 6); - assert(res.get (0).getHostname ().equals ("host1")); - assert(res.get (1).getHostname ().equals ("host2")); - assert(res.get (2).getHostname ().equals ("host1")); - assert(res.get (3).getHostname ().equals ("host1")); - assert(res.get (4).getHostname ().equals ("host2")); - assert(res.get (5).getHostname ().equals ("host2")); - assert(res.get (0).getServicename () == null); - assert(res.get (3).getServicename ().equals ("service2")); - assert(res.get (5).getState () == 2); + assertEquals(res.size (), 6); + assertEquals(res.get (0).getHostname (), "host1"); + assertEquals(res.get (1).getHostname (), "host2"); + assertEquals(res.get (2).getHostname (), "host1"); + assertEquals(res.get (3).getHostname (), "host1"); + assertEquals(res.get (4).getHostname (), "host2"); + assertEquals(res.get (5).getHostname (), "host2"); + assertEquals(res.get (0).getServicename (), null); + assertEquals(res.get (3).getServicename (), "service2"); + assertEquals(res.get (5).getState (), 2); } } diff --git a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/AAIUriFactoryTest.java b/common/src/test/java/org/onap/so/utils/TestAppender.java index a62d4b89c6..fba9c71c68 100644 --- a/common/src/test/java/org/openecomp/mso/client/aai/entities/uri/AAIUriFactoryTest.java +++ b/common/src/test/java/org/onap/so/utils/TestAppender.java @@ -7,9 +7,9 @@ * 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. @@ -18,23 +18,24 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.client.aai.entities.uri; +package org.onap.so.utils; -import static org.junit.Assert.assertEquals; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.AppenderBase; -import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectType; +import java.util.ArrayList; +import java.util.List; -public class AAIUriFactoryTest { - - - @Test - public void automaticallyEncodeUriTemplateValue() { - - AAIUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "VIP(VelocitytoIP)"); - - String expected = "/network/generic-vnfs/generic-vnf/VIP%28VelocitytoIP%29"; - assertEquals(expected, uri.build().toString()); +public class TestAppender extends AppenderBase<ILoggingEvent> { + public static List<ILoggingEvent> events = new ArrayList<>(); + + @Override + protected void append(ILoggingEvent loggingEvent) { + if (loggingEvent.getLevel() == Level.INFO) { + events.add(loggingEvent); + } } + } diff --git a/common/src/test/java/org/openecomp/mso/utils/UUIDCheckerTest.java b/common/src/test/java/org/onap/so/utils/UUIDCheckerTest.java index fa00246e8b..b4058a7ba8 100644 --- a/common/src/test/java/org/openecomp/mso/utils/UUIDCheckerTest.java +++ b/common/src/test/java/org/onap/so/utils/UUIDCheckerTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP - SO * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017 AT&T 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. @@ -18,27 +18,43 @@ * ============LICENSE_END========================================================= */ -package org.openecomp.mso.utils; +package org.onap.so.utils; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.*; import org.junit.Test; -import org.openecomp.mso.logger.MsoLogger; +import org.onap.so.logger.MsoLogger; public class UUIDCheckerTest { - - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL); + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL, UUIDCheckerTest.class); - @Test - public void testUUIDChecker() throws Exception { - boolean isValidUUID = UUIDChecker.isValidUUID("invalid-uuid"); - assertEquals(false, isValidUUID); - String validUUID = UUIDChecker.verifyOldUUID("invalid-uuid", LOGGER); - assertEquals(true, UUIDChecker.isValidUUID(validUUID)); - String generatedUUID = UUIDChecker.generateUUID(LOGGER); - assertEquals(true, UUIDChecker.isValidUUID(generatedUUID)); - String generatedServiceInstanceId = UUIDChecker.generateServiceInstanceID(LOGGER); - assertEquals(true, UUIDChecker.isValidUUID(generatedServiceInstanceId)); - } + @Test + public void isValidUUIDTest(){ + String nullID = null; + String badID = "This is not a UUID"; + String id = UUIDChecker.getUUID(); + assertFalse(UUIDChecker.isValidUUID(nullID)); + assertFalse(UUIDChecker.isValidUUID(badID)); + assertTrue(UUIDChecker.isValidUUID(id)); + } + @Test + public void verifyOldUUIDTest(){ + String oldID = UUIDChecker.getUUID(); + String invalidID = "This is not a UUID"; + assertEquals(UUIDChecker.verifyOldUUID(oldID,LOGGER),oldID); + assertNotEquals(UUIDChecker.verifyOldUUID(invalidID,LOGGER),invalidID); + } + + @Test + public void generateTest(){ + String id = UUIDChecker.generateUUID(LOGGER); + assertNotNull(id); + assertTrue(UUIDChecker.isValidUUID(id)); + + id = UUIDChecker.generateServiceInstanceID(LOGGER); + assertNotNull(id); + assertTrue(UUIDChecker.isValidUUID(id)); + + } } diff --git a/common/src/test/java/org/onap/so/utils/XMLMarshallerTest.java b/common/src/test/java/org/onap/so/utils/XMLMarshallerTest.java new file mode 100644 index 0000000000..148e1b452c --- /dev/null +++ b/common/src/test/java/org/onap/so/utils/XMLMarshallerTest.java @@ -0,0 +1,101 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T 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 org.onap.so.utils; + +import org.junit.Assert; +import org.junit.Test; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Tests the XMLMarshaller to ensure that it's able to marshal and unmarshall a POJO + */ + +public class XMLMarshallerTest { + + @Test + public void testMarshal() throws Exception { + Assert.assertEquals(getXML(), XmlMarshaller.marshal(getPOJO())); + } + + @Test + public void testUnMarshal() throws Exception { + Assert.assertEquals(XmlMarshaller.unMarshal(getXML(), new TestPOJO()), getPOJO()); + } + + private TestPOJO getPOJO() { + TestPOJO testPOJO = new TestPOJO(); + testPOJO.setFirstName("FN"); + testPOJO.setLastName("LN"); + return testPOJO; + } + + private String getXML() { + return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><testPOJO><firstName>FN</firstName><lastName>LN</lastName></testPOJO>"; + } + + @XmlRootElement + static class TestPOJO { + String firstName; + String lastName; + + public TestPOJO() { + } + + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof TestPOJO)) return false; + + TestPOJO testPOJO = (TestPOJO) o; + + if (getFirstName() != null ? !getFirstName().equals(testPOJO.getFirstName()) : testPOJO.getFirstName() != null) + return false; + return getLastName() != null ? getLastName().equals(testPOJO.getLastName()) : testPOJO.getLastName() == null; + } + + @Override + public int hashCode() { + int result = getFirstName() != null ? getFirstName().hashCode() : 0; + result = 31 * result + (getLastName() != null ? getLastName().hashCode() : 0); + return result; + } + } + + +} diff --git a/common/src/test/java/org/onap/so/web/exceptions/RuntimeExceptionMapperTest.java b/common/src/test/java/org/onap/so/web/exceptions/RuntimeExceptionMapperTest.java new file mode 100644 index 0000000000..8bcc73515b --- /dev/null +++ b/common/src/test/java/org/onap/so/web/exceptions/RuntimeExceptionMapperTest.java @@ -0,0 +1,71 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 - 2018 AT&T 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 org.onap.so.web.exceptions; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.instanceOf; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; + +import javax.ws.rs.NotFoundException; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +import org.junit.AfterClass; +import org.junit.Test; +import org.onap.so.logger.MsoAlarmLogger; + +public class RuntimeExceptionMapperTest { + + + @AfterClass + public static void tearDown() { + MsoAlarmLogger logger = new MsoAlarmLogger(); + logger.resetAppender(); + } + + @Test + public void testResponse() { + + RuntimeExceptionMapper mapper = new RuntimeExceptionMapper(); + + Response r = mapper.toResponse(new RuntimeException("This is the run time exception message")); + + assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), r.getStatus()); + assertThat(r.getEntity(), instanceOf(ExceptionResponse.class)); + assertThat(((ExceptionResponse)r.getEntity()).getMessage(), equalTo("Unexpected Internal Exception")); + + } + + @Test + public void preserve404ExceptionForForwarding() { + + RuntimeExceptionMapper mapper = new RuntimeExceptionMapper(); + + Response r = mapper.toResponse(new NotFoundException("not found")); + + assertEquals(Status.NOT_FOUND.getStatusCode(), r.getStatus()); + assertThat(r.getEntity(), is(nullValue())); + } + +} diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryConcurrencyTest.java b/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryConcurrencyTest.java deleted file mode 100644 index a814c4ea9c..0000000000 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryConcurrencyTest.java +++ /dev/null @@ -1,174 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T 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 org.openecomp.mso.adapter_utils.tests; - - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.FileNotFoundException; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; - -import org.junit.BeforeClass; -import org.junit.Test; - -import org.openecomp.mso.properties.AbstractMsoProperties; -import org.openecomp.mso.properties.MsoJavaProperties; -import org.openecomp.mso.properties.MsoPropertiesException; -import org.openecomp.mso.properties.MsoPropertiesFactory; - -/** - * This class implements test methods of the MsoPropertiesFactory features. - * - * - */ -public class MsoPropertiesFactoryConcurrencyTest { - - public static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); - - public static final String MSO_PROP_ID = "TEST_PROP"; - public static final String PATH_MSO_PROP1 = MsoJavaProperties.class.getClassLoader().getResource("mso.properties") - .toString().substring(5); - public static final String PATH_MSO_PROP2 = MsoJavaProperties.class.getClassLoader().getResource("mso2.properties") - .toString().substring(5); - - /** - * This method is called before any test occurs. It creates a fake tree from - * scratch - * - * @throws MsoPropertiesException - */ - @BeforeClass - public static final void prepare() throws MsoPropertiesException { - // it's possible to have it already initialized, as tests are executed in the same JVM - msoPropertiesFactory.removeAllMsoProperties (); - msoPropertiesFactory.initializeMsoProperties(MSO_PROP_ID, PATH_MSO_PROP1); - } - - private Callable<Integer> taskReload = new Callable<Integer>() { - @Override - public Integer call() { - try { - if (!msoPropertiesFactory.reloadMsoProperties()) { - return 1; - } - } catch (Exception e) { - e.printStackTrace (); - return 1; - } - return 0; - } - }; - - private Callable<Integer> taskRead = new Callable<Integer>() { - @Override - public Integer call() { - try { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_PROP_ID); - String property1 = msoProperties.getProperty("ecomp.mso.cloud.1.cloudId", "defaultValue"); - String property2 = msoProperties.getProperty("ecomp.mso.cloud.1.keystoneUrl", "defaultValue"); - String property3 = msoProperties.getProperty("ecomp.mso.cloud.1.msoId", "defaultValue"); - String property4 = msoProperties.getProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue"); - String property5 = msoProperties.getProperty("does.not.exist", "defaultValue"); - String property6 = msoProperties.getProperty("ecomp.mso.cloud.1.test", "defaultValue"); - String property7 = msoProperties.getProperty("ecomp.mso.cloud.1.boolean", "defaultValue"); - - assertEquals(property1, "MT"); - assertEquals(property2, "http://localhost:5000/v2.0"); - assertEquals(property3, "John"); - assertEquals(property4, "FD205490A48D48475607C36B9AD902BF"); - assertEquals(property5, "defaultValue"); - assertEquals(property6, "1234"); - assertEquals(property7, "true"); - - } catch (MsoPropertiesException e) { - e.printStackTrace (); - return 1; - } - return 0; - } - }; - - private Callable<Integer> taskReadAll = new Callable<Integer>() { - @Override - public Integer call() { - try { - List<AbstractMsoProperties> msoPropertiesList = msoPropertiesFactory.getAllMsoProperties(); - String property1 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("ecomp.mso.cloud.1.cloudId", "defaultValue"); - String property2 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("ecomp.mso.cloud.1.keystoneUrl", "defaultValue"); - String property3 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("ecomp.mso.cloud.1.msoId", "defaultValue"); - String property4 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue"); - String property5 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("does.not.exist", "defaultValue"); - String property6 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("ecomp.mso.cloud.1.test", "defaultValue"); - String property7 = ((MsoJavaProperties)msoPropertiesList.get(0)).getProperty("ecomp.mso.cloud.1.boolean", "defaultValue"); - - assertEquals(property1, "MT"); - assertEquals(property2, "http://localhost:5000/v2.0"); - assertEquals(property3, "John"); - assertEquals(property4, "FD205490A48D48475607C36B9AD902BF"); - assertEquals(property5, "defaultValue"); - assertEquals(property6, "1234"); - assertEquals(property7, "true"); - } catch (Exception e) { - e.printStackTrace (); - return 1; - } - return 0; - } - }; - - @Test - public final void testGetMsoProperties() - throws MsoPropertiesException, InterruptedException, ExecutionException, FileNotFoundException { - - List<Future<Integer>> list = new ArrayList<>(); - ExecutorService executor = Executors.newFixedThreadPool(20); - - for (int i = 0; i <= 100000; i++) { - - Future<Integer> futureResult = executor.submit(taskRead); - list.add(futureResult); - - futureResult = executor.submit(taskReload); - list.add(futureResult); - - futureResult = executor.submit(taskReadAll); - list.add(futureResult); - } - executor.shutdown(); - while (!executor.awaitTermination(5, TimeUnit.SECONDS)) { - ; - } - - for (Future<Integer> result : list) { - assertTrue(result.get().equals(0)); - } - - } - -} diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java b/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java deleted file mode 100644 index db58c5a49e..0000000000 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertiesFactoryTest.java +++ /dev/null @@ -1,611 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T 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 org.openecomp.mso.adapter_utils.tests; - - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.junit.After; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.openecomp.mso.properties.MsoJavaProperties; -import org.openecomp.mso.properties.MsoJsonProperties; -import org.openecomp.mso.properties.MsoPropertiesException; -import org.openecomp.mso.properties.MsoPropertiesFactory; - -import com.fasterxml.jackson.databind.JsonNode; - -/** - * This class implements test methods of the MsoPropertiesFactory features. - * - * - */ -public class MsoPropertiesFactoryTest { - - public static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); - - public static final String MSO_JAVA_PROP_ID = "TEST_JAVA_PROP"; - public static final String MSO_JSON_PROP_ID = "TEST_JSON_PROP"; - public static final String PATH_MSO_JAVA_PROP1 = MsoJavaProperties.class.getClassLoader().getResource("mso.properties") - .toString().substring(5); - public static final String PATH_MSO_JAVA_PROP2 = MsoJavaProperties.class.getClassLoader().getResource("mso2.properties") - .toString().substring(5); - public static final String PATH_MSO_JSON_PROP = MsoJavaProperties.class.getClassLoader().getResource("mso.json") - .toString().substring(5); - public static final String PATH_MSO_JSON_PROP2 = MsoJavaProperties.class.getClassLoader().getResource("mso2.json") - .toString().substring(5); - public static final String PATH_MSO_JSON_PROP_BAD = MsoJavaProperties.class.getClassLoader().getResource("mso-bad.json") - .toString().substring(5); - - @BeforeClass - public static final void prepareBeforeAllTests() { - msoPropertiesFactory.removeAllMsoProperties(); - } - /** - * This method is called before any test occurs. It creates a fake tree from - * scratch - * - * @throws MsoPropertiesException - */ - @Before - public final void prepareBeforeEachTest() throws MsoPropertiesException { - - msoPropertiesFactory.initializeMsoProperties(MSO_JAVA_PROP_ID, PATH_MSO_JAVA_PROP1); - msoPropertiesFactory.initializeMsoProperties(MSO_JSON_PROP_ID, PATH_MSO_JSON_PROP); - } - - @After - public final void cleanAfterEachTest() throws MsoPropertiesException { - msoPropertiesFactory.removeAllMsoProperties (); - } - - @Test - public final void testNotRecognizedFile() { - try { - msoPropertiesFactory.initializeMsoProperties("BAD_FILE", "new_file.toto"); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Unable to load the MSO properties file because format is not recognized (only .json or .properties): new_file.toto").equals(ep.getMessage())); - } - } - - @Test - public final void testDoubleInit() { - - try { - msoPropertiesFactory.initializeMsoProperties(MSO_JAVA_PROP_ID, PATH_MSO_JAVA_PROP1); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("The factory contains already an instance of this mso properties: "+PATH_MSO_JAVA_PROP1).equals(ep.getMessage())); - } - - - } - - /** - * This method implements a test for the getMsoJavaProperties method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetMsoJavaProperties() throws MsoPropertiesException { - assertNotNull(msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID)); - assertTrue(msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID).size()==8); - - try { - msoPropertiesFactory.getMsoJavaProperties(MSO_JSON_PROP_ID); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties is not JAVA_PROP properties type:" + MSO_JSON_PROP_ID).equals(ep.getMessage())); - } - - try { - msoPropertiesFactory.getMsoJavaProperties("DUMB_PROP"); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:"+"DUMB_PROP").equals(ep.getMessage())); - } - - } - - /** - * This method test the MsoJavaProperties Set, equals and hascode - * @throws MsoPropertiesException - */ - @Test - public final void testSetMsoJavaProperties() throws MsoPropertiesException { - MsoJavaProperties msoPropChanged = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - msoPropChanged.setProperty("testos", "testos"); - assertNotNull(msoPropChanged.getProperty("testos", null)); - - // Check no modification occurred on cache one - MsoJavaProperties msoPropCache = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - assertNull(msoPropCache.getProperty("testos", null)); - assertFalse(msoPropChanged.hashCode() != msoPropCache.hashCode()); - - assertFalse(msoPropChanged.equals(null)); - assertFalse(msoPropChanged.equals(msoPropCache)); - assertFalse(msoPropChanged.equals(Boolean.TRUE)); - - assertTrue(msoPropChanged.equals(msoPropChanged)); - } - - - /** - * This method implements a test for the testGetMsoJsonProperties method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetMsoJsonProperties() throws MsoPropertiesException { - assertNotNull(msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID)); - - try { - msoPropertiesFactory.getMsoJsonProperties(MSO_JAVA_PROP_ID); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties is not JSON_PROP properties type:" + MSO_JAVA_PROP_ID).equals(ep.getMessage())); - } - - try { - msoPropertiesFactory.getMsoJsonProperties("DUMB_PROP"); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:"+"DUMB_PROP").equals(ep.getMessage())); - } - - } - - /** - * This method implements a test for the testGetAllMsoProperties method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetAllMsoProperties() throws MsoPropertiesException { - assertNotNull(msoPropertiesFactory.getAllMsoProperties().size()==2); - - } - - /** - * This method implements a test for the testGetAllMsoProperties method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testToString() throws MsoPropertiesException { - String dump = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID).toString(); - assertTrue(dump != null && !dump.isEmpty()); - - dump = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID).toString(); - assertTrue(dump != null && !dump.isEmpty()); - - } - - /** - * This method implements a test for the getProperty of JAVA_PROP type method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetProperties() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - - String property1 = msoProperties.getProperty("ecomp.mso.cloud.1.cloudId", "defaultValue"); - String property2 = msoProperties.getProperty("ecomp.mso.cloud.1.keystoneUrl", "defaultValue"); - String property3 = msoProperties.getProperty("ecomp.mso.cloud.1.msoId", "defaultValue"); - String property4 = msoProperties.getProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue"); - String property5 = msoProperties.getProperty("does.not.exist", "defaultValue"); - String property6 = msoProperties.getProperty("ecomp.mso.cloud.1.test", "defaultValue"); - String property7 = msoProperties.getProperty("ecomp.mso.cloud.1.boolean", "defaultValue"); - - assertEquals(property1, "MT"); - assertEquals(property2, "http://localhost:5000/v2.0"); - assertEquals(property3, "John"); - assertEquals(property4, "FD205490A48D48475607C36B9AD902BF"); - assertEquals(property5, "defaultValue"); - assertEquals(property6, "1234"); - assertEquals(property7, "true"); - } - - /** - * This method implements a test for the getIntProperty JAVA_RPOP type method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetIntProperties() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - int property1 = msoProperties.getIntProperty("ecomp.mso.cloud.1.test", 345); - int property2 = msoProperties.getIntProperty("ecomp.mso.cloud.1.publicNetId", 345); - int property3 = msoProperties.getIntProperty("does.not.exist", 345); - assertEquals(property1, 1234); - assertEquals(property2, 345); - assertEquals(property3, 345); - } - - /** - * This method implements a test for the getBooleanProperty JAVA_RPOP type method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetBooleanProperty() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - boolean property1 = msoProperties.getBooleanProperty("ecomp.mso.cloud.1.boolean", false); - boolean property2 = msoProperties.getBooleanProperty("ecomp.mso.cloud.1.publicNetId", false); - boolean property3NotThere = msoProperties.getBooleanProperty("ecomp.mso.cloud.1.publicNetIdBad", true); - - assertEquals(property1, true); - assertEquals(property2, false); - assertEquals(property3NotThere, true); - } - - /** - * This method implements a test for the getEncryptedProperty JAVA_RPOP type method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetEncryptedProperty() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - String property1 = msoProperties.getEncryptedProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue", - "aa3871669d893c7fb8abbcda31b88b4f"); - String property2 = msoProperties.getEncryptedProperty("test", "defaultValue", - "aa3871669d893c7fb8abbcda31b88b4f"); - - - String property3Wrong = msoProperties.getEncryptedProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue", - "aa3871669d893c7fb8abbcda31b88b4"); - - - assertEquals(property1, "changeme"); - assertEquals(property2, "defaultValue"); - assertEquals(property3Wrong, "defaultValue"); - } - - /** - * This method implements a test for the getEncryptedProperty JAVA_RPOP type method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testencryptProperty() { - - assertTrue("FD205490A48D48475607C36B9AD902BF" - .contains(msoPropertiesFactory.encryptProperty("changeme", "aa3871669d893c7fb8abbcda31b88b4f").getEntity().toString())); - - - assertTrue("Invalid AES key length: 15 bytes".contains(msoPropertiesFactory.encryptProperty("changeme", "aa3871669d893c7fb8abbcda31b88b4").getEntity().toString())); - - } - - /** - * This method implements a test for the getJSON JSON_RPOP type method. - * - * @throws MsoPropertiesException - */ - @Test - public final void testGetJsonNode() throws MsoPropertiesException { - MsoJsonProperties msoProperties = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID); - - JsonNode propNode = msoProperties.getJsonRootNode(); - assertNotNull(propNode); - assertFalse(propNode.toString().isEmpty()); - assertTrue(propNode.isContainerNode()); - assertNotNull(propNode.path("asdc-connections").path("asdc-controller1")); - assertNotNull(propNode.path("asdc-connections").path("asdc-controller2")); - - } - - /** - * This method implements a test for the reloadMsoProperties method. - * - * @throws MsoPropertiesException - * - */ - @Test - public final void testReloadJavaMsoProperties() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - - // Do some additional test on propertiesHaveChanged method - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, null)); - - // Change path with bad one - try { - msoPropertiesFactory.changeMsoPropertiesFilePath("DO_NOT_EXIST", PATH_MSO_JAVA_PROP2); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:DO_NOT_EXIST").equals(ep.getMessage())); - } - - - // Change path with right one - msoPropertiesFactory.changeMsoPropertiesFilePath(MSO_JAVA_PROP_ID, PATH_MSO_JAVA_PROP2); - assertTrue(PATH_MSO_JAVA_PROP2.equals(msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID).getPropertiesFileName())); - - assertTrue(msoPropertiesFactory.reloadMsoProperties()); - assertFalse(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties)); - // Do a second time as timer value is set to 2 - assertTrue(msoPropertiesFactory.reloadMsoProperties()); - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties)); - - // Get the new one - msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - String property1 = msoProperties.getProperty("ecomp.mso.cloud.1.cloudId", "defaultValue"); - String property2 = msoProperties.getProperty("ecomp.mso.cloud.1.keystoneUrl", "defaultValue"); - String property3 = msoProperties.getProperty("ecomp.mso.cloud.1.msoId", "defaultValue"); - String property4 = msoProperties.getProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue"); - String property5 = msoProperties.getProperty("does.not.exist", "defaultValue"); - String property6 = msoProperties.getProperty("ecomp.mso.cloud.1.test", "defaultValue"); - String property7 = msoProperties.getProperty("ecomp.mso.cloud.1.boolean", "defaultValue"); - - assertEquals(property1, "MT2"); - assertEquals(property2, "defaultValue"); - assertEquals(property3, "defaultValue"); - assertEquals(property4, "defaultValue"); - assertEquals(property5, "defaultValue"); - assertEquals(property6, "defaultValue"); - assertEquals(property7, "defaultValue"); - - // Additional test on propertiesHaveChanged - msoPropertiesFactory.removeAllMsoProperties(); - - // Do some additional test on propertiesHaveChanged method - try { - msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, null); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:"+MSO_JAVA_PROP_ID).equals(ep.getMessage())); - } - - try { - msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:"+MSO_JAVA_PROP_ID).equals(ep.getMessage())); - } - - } - - /** - * This method implements a test for the reloadMsoProperties method. - * - * @throws MsoPropertiesException - * - */ - @Test - public final void testReloadMoreThanAMinuteMsoProperties() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - - msoPropertiesFactory.changeMsoPropertiesFilePath(MSO_JAVA_PROP_ID, PATH_MSO_JAVA_PROP2); - - // Simulate 2 minutes - msoPropertiesFactory.reloadMsoProperties(); - assertFalse(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties)); - msoPropertiesFactory.reloadMsoProperties(); - - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties)); - - // Get the new one - msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - String property1 = msoProperties.getProperty("ecomp.mso.cloud.1.cloudId", "defaultValue"); - String property2 = msoProperties.getProperty("ecomp.mso.cloud.1.keystoneUrl", "defaultValue"); - String property3 = msoProperties.getProperty("ecomp.mso.cloud.1.msoId", "defaultValue"); - String property4 = msoProperties.getProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue"); - String property5 = msoProperties.getProperty("does.not.exist", "defaultValue"); - String property6 = msoProperties.getProperty("ecomp.mso.cloud.1.test", "defaultValue"); - String property7 = msoProperties.getProperty("ecomp.mso.cloud.1.boolean", "defaultValue"); - - assertEquals(property1, "MT2"); - assertEquals(property2, "defaultValue"); - assertEquals(property3, "defaultValue"); - assertEquals(property4, "defaultValue"); - assertEquals(property5, "defaultValue"); - assertEquals(property6, "defaultValue"); - assertEquals(property7, "defaultValue"); - - - } - - /** - * This method implements a test for the reloadMsoProperties method. - * - * @throws MsoPropertiesException - * - */ - @Test - public final void testReloadBadMsoProperties() throws MsoPropertiesException { - MsoJavaProperties msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - - msoPropertiesFactory.changeMsoPropertiesFilePath(MSO_JAVA_PROP_ID, "file-does-not-exist.properties"); - msoPropertiesFactory.reloadMsoProperties(); - assertFalse(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties)); - // Reload it a second time as initial timer parameter was set to 2 - msoPropertiesFactory.reloadMsoProperties(); - - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JAVA_PROP_ID, msoProperties)); - - // Get the new one - msoProperties = msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - String property1 = msoProperties.getProperty("ecomp.mso.cloud.1.cloudId", "defaultValue"); - String property2 = msoProperties.getProperty("ecomp.mso.cloud.1.keystoneUrl", "defaultValue"); - String property3 = msoProperties.getProperty("ecomp.mso.cloud.1.msoId", "defaultValue"); - String property4 = msoProperties.getProperty("ecomp.mso.cloud.1.publicNetId", "defaultValue"); - String property5 = msoProperties.getProperty("does.not.exist", "defaultValue"); - String property6 = msoProperties.getProperty("ecomp.mso.cloud.1.test", "defaultValue"); - String property7 = msoProperties.getProperty("ecomp.mso.cloud.1.boolean", "defaultValue"); - - assertEquals(property1, "defaultValue"); - assertEquals(property2, "defaultValue"); - assertEquals(property3, "defaultValue"); - assertEquals(property4, "defaultValue"); - assertEquals(property5, "defaultValue"); - assertEquals(property6, "defaultValue"); - assertEquals(property7, "defaultValue"); - - } - - /** - * This method implements a test for the reloadMsoProperties method. - * - * @throws MsoPropertiesException - * - */ - @Test - public final void testReloadBadMsoJsonProperties() throws MsoPropertiesException { - // Load a bad JSON file - MsoJsonProperties msoProperties = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID); - - msoPropertiesFactory.changeMsoPropertiesFilePath(MSO_JSON_PROP_ID, PATH_MSO_JSON_PROP_BAD); - - msoPropertiesFactory.reloadMsoProperties(); - assertFalse(msoPropertiesFactory.propertiesHaveChanged(MSO_JSON_PROP_ID, msoProperties)); - // Reload it a second time as initial timer parameter was set to 2 - msoPropertiesFactory.reloadMsoProperties(); - - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JSON_PROP_ID, msoProperties)); - - // Get the new one - msoProperties = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID); - assertNotNull(msoProperties); - assertNotNull(msoProperties.getJsonRootNode()); - assertTrue(msoProperties.getJsonRootNode().size() == 0); - - } - - @Test - public final void testRemoveMsoProperties() throws MsoPropertiesException { - try { - msoPropertiesFactory.removeMsoProperties("DUMB_PROP"); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:"+"DUMB_PROP").equals(ep.getMessage())); - } - - msoPropertiesFactory.removeMsoProperties(MSO_JAVA_PROP_ID); - - try { - msoPropertiesFactory.getMsoJavaProperties(MSO_JAVA_PROP_ID); - - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Mso properties not found in cache:"+MSO_JAVA_PROP_ID).equals(ep.getMessage())); - } - - } - - @Test - public final void testInitializeWithNonExistingPropertiesFile () throws MsoPropertiesException { - try { - msoPropertiesFactory.initializeMsoProperties("NEW_BAD_FILE", "no_file.properties"); - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Unable to load the MSO properties file because it has not been found:no_file.properties").equals(ep.getMessage())); - } - - // empty object should be returned as no config has been loaded, anyway no exception should be raised because the config ID must be loaded in cache - // This is there for automatic reload attempt - assertTrue(msoPropertiesFactory.getMsoJavaProperties("NEW_BAD_FILE").size()==0); - } - - - @Test - public final void testInitializeWithNonExistingJsonFile () throws MsoPropertiesException { - try { - msoPropertiesFactory.initializeMsoProperties("NEW_BAD_FILE", "no_file.json"); - fail ("MsoPropertiesException should have been raised"); - } catch (MsoPropertiesException ep) { - assertTrue(("Unable to load the MSO properties file because it has not been found:no_file.json").equals(ep.getMessage())); - } - - // empty object should be returned as no config has been loaded, anyway no exception should be raised because the config ID must be loaded in cache - // This is there for automatic reload attempt - assertTrue(msoPropertiesFactory.getMsoJsonProperties("NEW_BAD_FILE").getJsonRootNode()!=null); - assertTrue("{}".equals(msoPropertiesFactory.getMsoJsonProperties("NEW_BAD_FILE").getJsonRootNode().toString())); - } - - @Test - public final void testShowProperties() { - assertTrue(msoPropertiesFactory.showProperties().getEntity().toString().contains("/target/test-classes/mso.json(Timer:2mins)")); - assertTrue(msoPropertiesFactory.showProperties().getEntity().toString().contains("asdc-controller1")); - assertTrue(msoPropertiesFactory.showProperties().getEntity().toString().contains("/target/test-classes/mso.properties(Timer:2mins):")); - assertTrue(msoPropertiesFactory.showProperties().getEntity().toString().contains("ecomp.mso.cloud.1.keystoneUrl")); - - } - - @Test - public final void testGetEncryptedPropertyJson() throws MsoPropertiesException { - MsoJsonProperties msoProperties = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID); - assertTrue("ThePassword".equals(msoProperties.getEncryptedProperty(msoProperties.getJsonRootNode().get("asdc-connections").get("asdc-controller1").get("asdcPassword"),"defautlvalue","566B754875657232314F5548556D3665"))); - - assertTrue("defautlvalue".equals(msoProperties.getEncryptedProperty(msoProperties.getJsonRootNode().get("asdc-connections").get("asdc-controller1").get("asdcPassword"),"defautlvalue","566B754875657232314F5548556D366"))); - - - } - - @Test - public final void testHashcodeAndEqualsMsoJsonProperties() throws MsoPropertiesException { - - MsoJsonProperties msoProperties = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID); - - msoPropertiesFactory.changeMsoPropertiesFilePath(MSO_JSON_PROP_ID, PATH_MSO_JSON_PROP2); - - msoPropertiesFactory.reloadMsoProperties(); - assertFalse(msoPropertiesFactory.propertiesHaveChanged(MSO_JSON_PROP_ID, msoProperties)); - // Reload it a second time as initial timer parameter was set to 2 - msoPropertiesFactory.reloadMsoProperties(); - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JSON_PROP_ID, msoProperties)); - - // Get the new one - MsoJsonProperties msoProperties2 = msoPropertiesFactory.getMsoJsonProperties(MSO_JSON_PROP_ID); - assertFalse(msoProperties.hashCode()==msoProperties2.hashCode()); - - assertFalse(msoProperties.equals(msoProperties2)); - assertTrue(msoProperties.equals(msoProperties)); - assertFalse(msoProperties.equals(null)); - assertFalse(msoProperties.toString().isEmpty()); - - // Test a reload with timer set to 1 in PATH_MSO_JSON_PROP2 - msoPropertiesFactory.changeMsoPropertiesFilePath(MSO_JSON_PROP_ID, PATH_MSO_JSON_PROP); - - msoPropertiesFactory.reloadMsoProperties(); - assertTrue(msoPropertiesFactory.propertiesHaveChanged(MSO_JSON_PROP_ID, msoProperties2)); - - } - -} diff --git a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertyInitializerTest.java b/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertyInitializerTest.java deleted file mode 100644 index 419a82b8a4..0000000000 --- a/common/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoPropertyInitializerTest.java +++ /dev/null @@ -1,88 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T 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 org.openecomp.mso.adapter_utils.tests; - - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; - -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.mockito.Mockito; - -import org.openecomp.mso.properties.MsoJavaProperties; -import org.openecomp.mso.properties.MsoPropertiesException; -import org.openecomp.mso.properties.MsoPropertiesFactory; -import org.openecomp.mso.properties.MsoPropertyInitializer; - -public class MsoPropertyInitializerTest { - - public static final String ASDC_PROP = MsoJavaProperties.class.getClassLoader().getResource("mso.json").toString().substring(5); - public static ServletContextEvent servletContextEvent = Mockito.mock(ServletContextEvent.class); - public static ServletContext servletContext = Mockito.mock(ServletContext.class); - public MsoPropertyInitializer msoPropInitializer = new MsoPropertyInitializer(); - - @BeforeClass - public static final void prepareBeforeClass() throws MsoPropertiesException { - - Mockito.when(servletContextEvent.getServletContext()).thenReturn(servletContext); - } - - @Before - public final void preparebeforeEachTest() throws MsoPropertiesException { - MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); - msoPropertiesFactory.removeAllMsoProperties(); - - } - - @Test - public void testContextInitialized() throws MsoPropertiesException { - Mockito.when(servletContext.getInitParameter("mso.configuration")).thenReturn("MSO_PROP_ASDC="+ASDC_PROP); - msoPropInitializer.contextInitialized(servletContextEvent); - - MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); - assertNotNull(msoPropertiesFactory.getMsoJsonProperties("MSO_PROP_ASDC")); - assertFalse("{}".equals(msoPropertiesFactory.getMsoJsonProperties("MSO_PROP_ASDC").getJsonRootNode().toString())); - assertTrue(msoPropertiesFactory.getMsoJsonProperties("MSO_PROP_ASDC").getJsonRootNode().get("asdc-connections")!= null); - } - - @Test - public void testContextInitializedFailure() throws MsoPropertiesException { - Mockito.when(servletContext.getInitParameter("mso.configuration")).thenReturn("MSO_PROP_ASDC="+"Does_not_exist.json"); - msoPropInitializer.contextInitialized(servletContextEvent); - - // No exception should be raised, log instead - MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); - - assertTrue("{}".equals(msoPropertiesFactory.getMsoJsonProperties("MSO_PROP_ASDC").getJsonRootNode().toString())); - assertTrue(msoPropertiesFactory.getMsoJsonProperties("MSO_PROP_ASDC").getJsonRootNode().get("asdc-connections")== null); - - - - } - -} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAIConfigurationTest.java b/common/src/test/java/org/openecomp/mso/client/aai/AAIConfigurationTest.java deleted file mode 100644 index da63b27efb..0000000000 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAIConfigurationTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T 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 org.openecomp.mso.client.aai; - -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; -import static com.github.tomakehurst.wiremock.client.WireMock.get; -import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; -import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; -import static org.junit.Assert.assertEquals; - -import java.util.UUID; - -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.openecomp.mso.client.aai.entities.uri.AAIUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; -import org.openecomp.mso.serviceinstancebeans.ModelInfo; -import org.openecomp.mso.serviceinstancebeans.RequestDetails; - -import com.github.tomakehurst.wiremock.junit.WireMockRule; - -public class AAIConfigurationTest { - - @Rule - public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8443)); - - @Ignore - @Test - public void verifyCreate() { - AAIConfigurationClient aaiConfiguration = new AAIConfigurationClient(); - ModelInfo modelInfo = new ModelInfo(); - modelInfo.setModelInvariantId("testInvariantID"); - modelInfo.setModelVersionId("testVersionID"); - modelInfo.setModelCustomizationId("testCustomizationID"); - RequestDetails requestDetails = new RequestDetails(); - requestDetails.setModelInfo(modelInfo); - String configurationType = "test"; - String configurationSubType = "test"; - aaiConfiguration.createConfiguration(requestDetails, UUID.randomUUID().toString(), configurationType, configurationSubType); - } - - @Test - public void verifyNotExists() { - AAIUri path = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, "test2"); - wireMockRule.stubFor(get( - urlPathEqualTo("/aai/v11" + path.build())) - .willReturn( - aResponse() - .withHeader("Content-Type", "text/plain") - .withBody("hello") - .withStatus(404))); - AAIConfigurationClient aaiConfiguration = new AAIConfigurationClient(); - boolean result = aaiConfiguration.configurationExists("test2"); - assertEquals("path not found", false, result); - } -} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/AAITransactionalClientTest.java b/common/src/test/java/org/openecomp/mso/client/aai/AAITransactionalClientTest.java deleted file mode 100644 index 1abb940f6e..0000000000 --- a/common/src/test/java/org/openecomp/mso/client/aai/AAITransactionalClientTest.java +++ /dev/null @@ -1,83 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T 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 org.openecomp.mso.client.aai; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Map; -import java.util.Optional; - -import org.junit.Test; -import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; - -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; - -public class AAITransactionalClientTest { - - - private final static String AAI_JSON_FILE_LOCATION = "src/test/resources/__files/aai/bulkprocess/"; - - @Test - public void run() throws IOException { - - - AAIResourcesClient client = new AAIResourcesClient(); - AAIResourceUri uriA = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test1"); - AAIResourceUri uriB = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test2"); - AAIResourceUri uriC = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test3"); - AAIResourceUri uriD = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test4"); - AAIResourceUri uriE = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test5"); - AAIResourceUri uriF = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test6"); - - AAIResourceUri uriAClone = uriA.clone(); - AAITransactionalClient transactions = client - .beginTransaction().connect(uriA, uriB).connect(uriC, uriD) - .beginNewTransaction().connect(uriE, uriF); - ObjectMapper mapper = new AAICommonObjectMapperProvider().getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - String serializedTransactions = mapper.writeValueAsString(transactions.getTransactions()); - Map<String, Object> map1 = mapper.readValue(serializedTransactions, new TypeReference<Map<String, Object>>(){}); - Map<String, Object> map2 = mapper.readValue(getJson("test-request.json"), new TypeReference<Map<String, Object>>(){}); - assertEquals("payloads are equal", map2, map1); - assertEquals("uri not manipulated", uriAClone.build().toString(), uriA.build().toString()); - } - - @Test - public void verifyResponse() throws IOException { - AAIResourcesClient client = new AAIResourcesClient(); - AAITransactionalClient transactions = client - .beginTransaction(); - assertEquals("success status", Optional.empty(), transactions.locateErrorMessages(getJson("response-success.json"))); - assertEquals(transactions.locateErrorMessages(getJson("response-failure.json")).get(), "another error message\nmy great error"); - - - } - - private String getJson(String filename) throws IOException { - return new String(Files.readAllBytes(Paths.get(AAI_JSON_FILE_LOCATION + filename))); - } -} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIOwningEntityTest.java b/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIOwningEntityTest.java deleted file mode 100644 index bc2ae41dd6..0000000000 --- a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIOwningEntityTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/* -* ============LICENSE_START======================================================= -* ONAP : SO -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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.mso.client.aai.objects; - -import static org.junit.Assert.*; - -import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectType; -import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; - -public class AAIOwningEntityTest { - AAIOwningEntity aaiOE= new AAIOwningEntity(); - @Test - public void test() { - aaiOE.setOwningEntityId("OwningEntityId"); - aaiOE.setOwningEntityName("OwningEntityName"); - assertEquals(aaiOE.getOwningEntityId(), "OwningEntityId"); - assertEquals(aaiOE.getOwningEntityName(), "OwningEntityName"); - aaiOE.withOwningEntity("OwningEntityId1", "OwningEntityName1"); - assert(aaiOE.getUri()!=null); - } -} diff --git a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIProjectTest.java b/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIProjectTest.java deleted file mode 100644 index 872b17a759..0000000000 --- a/common/src/test/java/org/openecomp/mso/client/aai/objects/AAIProjectTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* -* ============LICENSE_START======================================================= -* ONAP : SO -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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.mso.client.aai.objects; - -import static org.junit.Assert.*; - -import org.junit.Test; -import org.openecomp.mso.client.aai.AAIObjectType; -import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; -import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; - -public class AAIProjectTest { - - - @Test - public void test() { - AAIProject aaiP =new AAIProject(); - aaiP.setProjectName("projectName"); - assertEquals(aaiP.getProjectName(),"projectName"); - aaiP.withProjectName("projectName"); - assert(aaiP.getUri()!=null); - - } -} diff --git a/common/src/test/java/org/openecomp/mso/utils/RootIgnoringObjectMapperTest.java b/common/src/test/java/org/openecomp/mso/utils/RootIgnoringObjectMapperTest.java deleted file mode 100644 index 1c7e845f16..0000000000 --- a/common/src/test/java/org/openecomp/mso/utils/RootIgnoringObjectMapperTest.java +++ /dev/null @@ -1,94 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2018 AT&T 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 org.openecomp.mso.utils; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonRootName; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class RootIgnoringObjectMapperTest { - - @Test - public void someObjectWithoutRootTest() throws Exception { - ObjectMapper mapper = new RootIgnoringObjectMapper<SomeObject>(SomeObject.class); - - String content = "{" - + "\"attribute\":\"charm\"" - + "}"; - - SomeObject response = mapper.readValue(content, SomeObject.class); - assertEquals("SomeObject[attribute=charm]", response.toString()); - } - - @Test - public void someObjectWithRootTest() throws Exception { - ObjectMapper mapper = new RootIgnoringObjectMapper<SomeObject>(SomeObject.class); - - String content = "{\"SomeObject\":{" - + "\"attribute\":\"charm\"" - + "}}"; - - SomeObject response = mapper.readValue(content, SomeObject.class); - assertEquals("SomeObject[attribute=charm]", response.toString()); - } - - @Test - public void annotatedObjectWithoutRootTest() throws Exception { - ObjectMapper mapper = new RootIgnoringObjectMapper<AnnotatedObject>(AnnotatedObject.class); - - String content = "{" - + "\"attribute\":\"charm\"" - + "}"; - - AnnotatedObject response = mapper.readValue(content, AnnotatedObject.class); - assertEquals("AnnotatedObject[attribute=charm]", response.toString()); - } - - @Test - public void annotatedObjectWithRootTest() throws Exception { - ObjectMapper mapper = new RootIgnoringObjectMapper<AnnotatedObject>(AnnotatedObject.class); - - String content = "{\"annotated-object\":{" - + "\"attribute\":\"charm\"" - + "}}"; - - AnnotatedObject response = mapper.readValue(content, AnnotatedObject.class); - assertEquals("AnnotatedObject[attribute=charm]", response.toString()); - } - - public static class SomeObject { - - @JsonProperty("attribute") - private String attribute; - - public String toString() { - return getClass().getSimpleName() + "[attribute=" + attribute + "]"; - } - } - - @JsonRootName(value = "annotated-object") - public static class AnnotatedObject extends SomeObject { - } -}
\ No newline at end of file |