From dca4dd56b599c7ae44f8f256bd8ca8e8e05895f2 Mon Sep 17 00:00:00 2001 From: Michal Kabaj Date: Wed, 20 Nov 2019 21:38:54 +0100 Subject: OperationalEnvironment improvements -added new unit test to AaiControllerTest -OperationalEnvironment and List are now immutable -builder improvements -removed redundant test Issue-ID: VID-706 Signed-off-by: Michal Kabaj Change-Id: I2cf0d0b124458b9306637614b3d26c85c780ca4d Signed-off-by: Michal Kabaj --- .../onap/vid/aai/OperationalEnvironmentTest.java | 119 ++++++++++++--------- .../OperationalEnvironmentListTest.java | 34 ------ .../org/onap/vid/controller/AaiControllerTest.java | 24 +++++ 3 files changed, 94 insertions(+), 83 deletions(-) delete mode 100644 vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentListTest.java (limited to 'vid-app-common/src/test/java') diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/OperationalEnvironmentTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/OperationalEnvironmentTest.java index 076c46284..063b2220c 100644 --- a/vid-app-common/src/test/java/org/onap/vid/aai/OperationalEnvironmentTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/aai/OperationalEnvironmentTest.java @@ -22,73 +22,94 @@ package org.onap.vid.aai; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Assert; -import org.onap.vid.aai.model.RelationshipList; -import org.testng.annotations.Test; +import static org.assertj.core.api.Assertions.assertThat; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.ArrayList; - -import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; -import static org.assertj.core.api.Assertions.assertThat; +import org.onap.vid.aai.model.RelationshipList; +import org.testng.annotations.Test; public class OperationalEnvironmentTest { private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); - private static final String OPERATIONAL_ENVIRONMENT_TEST = "{\n" + - "\"operational-environment-id\": \"environmentId\",\n" + - "\"operational-environment-name\": \"environmentName\",\n" + - "\"operational-environment-type\": \"environmentType\",\n" + - "\"operational-environment-status\": \"environmentStatus\",\n" + - "\"tenant-context\": \"tenantContext\",\n" + - "\"workload-context\": \"workloadContext\",\n" + - "\"resource-version\": \"resourceVersion\",\n" + - "\"relationship-list\": {\n" + - "\"relationship\": []\n" + - "}\n" + - "}"; + private static final String OPERATIONAL_ENVIRONMENT_JSON_DASHES = "{\n" + + "\"operational-environment-id\": \"testEnvironmentId\",\n" + + "\"operational-environment-name\": \"testEnvironmentName\",\n" + + "\"operational-environment-type\": \"testEnvironmentType\",\n" + + "\"operational-environment-status\": \"testEnvironmentStatus\",\n" + + "\"tenant-context\": \"testTenantContext\",\n" + + "\"workload-context\": \"testWorkloadContext\",\n" + + "\"resource-version\": \"testResourceVersion\",\n" + + "\"relationship-list\": {\n" + + "\"relationship\": []\n" + + "}\n" + + "}"; + + private static final String OPERATIONAL_ENVIRONMENT_JSON_CAMELCASE = "{\n" + + "\"operationalEnvironmentId\": \"testEnvironmentId\",\n" + + "\"operationalEnvironmentName\": \"testEnvironmentName\",\n" + + "\"operationalEnvironmentType\": \"testEnvironmentType\",\n" + + "\"operationalEnvironmentStatus\": \"testEnvironmentStatus\",\n" + + "\"tenantContext\": \"testTenantContext\",\n" + + "\"workloadContext\": \"testWorkloadContext\",\n" + + "\"resourceVersion\": \"testResourceVersion\",\n" + + "\"relationshipList\": {\n" + + "\"relationship\": []\n" + + "}\n" + + "}"; @Test - public void shouldCreateProperOperationalEnvironmentWithConstructor(){ - RelationshipList relationshipList = new RelationshipList(); - relationshipList.relationship = new ArrayList<>(); + public void shouldProperlyConvertJsonToOperationalEnvironment_whenJsonPropertyNamesContainDashSeparators() + throws IOException { + assertOperationalEnvironmentDeserialization(OPERATIONAL_ENVIRONMENT_JSON_DASHES); + } + + @Test + public void shouldProperlyConvertJsonToOperationalEnvironment_whenJsonPropertyNamesAreCamelCase() + throws IOException { + assertOperationalEnvironmentDeserialization(OPERATIONAL_ENVIRONMENT_JSON_CAMELCASE); + } + private void assertOperationalEnvironmentDeserialization(String operationalEnvironmentTestDashes) + throws IOException { OperationalEnvironment operationalEnvironment = - new OperationalEnvironment.OperationalEnvironmentBuilder() - .setOperationalEnvironmentId("testId") - .setOperationalEnvironmentName("testEnvName") - .setOperationalEnvironmentType("testEnvType") - .setOperationalEnvironmentStatus("testEnvStatus") - .setTenantContext("testTenant").setWorkloadContext("testWorkload") - .setResourceVersion("testResource").setRelationshipList(relationshipList) - .createOperationalEnvironment(); - - assertThat(operationalEnvironment.getOperationalEnvironmentId()).isEqualTo("testId"); - assertThat(operationalEnvironment.getWorkloadContext()).isEqualTo("testWorkload"); + OBJECT_MAPPER.readValue(operationalEnvironmentTestDashes, OperationalEnvironment.class); + + assertThat(operationalEnvironment.getOperationalEnvironmentId()).isEqualTo("testEnvironmentId"); + assertThat(operationalEnvironment.getOperationalEnvironmentName()).isEqualTo("testEnvironmentName"); + assertThat(operationalEnvironment.getOperationalEnvironmentType()).isEqualTo("testEnvironmentType"); + assertThat(operationalEnvironment.getOperationalEnvironmentStatus()).isEqualTo("testEnvironmentStatus"); + assertThat(operationalEnvironment.getTenantContext()).isEqualTo("testTenantContext"); + assertThat(operationalEnvironment.getWorkloadContext()).isEqualTo("testWorkloadContext"); + assertThat(operationalEnvironment.getResourceVersion()).isEqualTo("testResourceVersion"); assertThat(operationalEnvironment.getRelationshipList().getRelationship()).hasSize(0); - assertThat(operationalEnvironment.getResourceVersion()).isEqualTo("testResource"); - assertThat(operationalEnvironment.getTenantContext()).isEqualTo("testTenant"); - assertThat(operationalEnvironment.getOperationalEnvironmentType()).isEqualTo("testEnvType"); - assertThat(operationalEnvironment.getOperationalEnvironmentStatus()).isEqualTo("testEnvStatus"); - assertThat(operationalEnvironment.getOperationalEnvironmentName()).isEqualTo("testEnvName"); } @Test - public void shouldProperlyConvertJsonToOperationalEnvironment() throws IOException { - OperationalEnvironment operationalEnvironment = - OBJECT_MAPPER.readValue(OPERATIONAL_ENVIRONMENT_TEST, OperationalEnvironment.class); + public void shouldSerializeToJson_usingActualPropertyNameAsJsonLogicalProperty() throws JsonProcessingException { + RelationshipList relationshipList = new RelationshipList(); + relationshipList.relationship = new ArrayList<>(); - assertThat(operationalEnvironment.getOperationalEnvironmentId()).isEqualTo("environmentId"); - assertThat(operationalEnvironment.getWorkloadContext()).isEqualTo("workloadContext"); - assertThat(operationalEnvironment.getRelationshipList().getRelationship()).hasSize(0); - assertThat(operationalEnvironment.getResourceVersion()).isEqualTo("resourceVersion"); - assertThat(operationalEnvironment.getTenantContext()).isEqualTo("tenantContext"); - assertThat(operationalEnvironment.getOperationalEnvironmentType()).isEqualTo("environmentType"); - assertThat(operationalEnvironment.getOperationalEnvironmentStatus()).isEqualTo("environmentStatus"); - assertThat(operationalEnvironment.getOperationalEnvironmentName()).isEqualTo("environmentName"); + OperationalEnvironment operationalEnvironment = createOperationalEnvironment(relationshipList); + + assertThat(OPERATIONAL_ENVIRONMENT_JSON_CAMELCASE) + .isEqualToIgnoringWhitespace(OBJECT_MAPPER.writeValueAsString(operationalEnvironment)); } + private OperationalEnvironment createOperationalEnvironment(RelationshipList relationshipList) { + return new OperationalEnvironment.OperationalEnvironmentBuilder() + .withOperationalEnvironmentId("testEnvironmentId") + .withOperationalEnvironmentName("testEnvironmentName") + .withOperationalEnvironmentType("testEnvironmentType") + .withOperationalEnvironmentStatus("testEnvironmentStatus") + .withTenantContext("testTenantContext") + .withWorkloadContext("testWorkloadContext") + .withResourceVersion("testResourceVersion") + .withRelationshipList(relationshipList) + .build(); + } } diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentListTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentListTest.java deleted file mode 100644 index fb79634a5..000000000 --- a/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetOperationalEnvironments/OperationalEnvironmentListTest.java +++ /dev/null @@ -1,34 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 - 2019 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.vid.aai.model.AaiGetOperationalEnvironments; - -import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; -import static org.hamcrest.MatcherAssert.assertThat; -import org.junit.Test; - -public class OperationalEnvironmentListTest { - - @Test - public void shouldHaveValidGettersAndSetters(){ - assertThat(OperationalEnvironmentList.class, hasValidGettersAndSetters()); - } - -} diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java index 51bdec882..521102383 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java @@ -57,8 +57,10 @@ import org.onap.vid.aai.AaiResponseTranslator; import org.onap.vid.aai.AaiResponseTranslator.PortMirroringConfigData; import org.onap.vid.aai.AaiResponseTranslator.PortMirroringConfigDataError; import org.onap.vid.aai.AaiResponseTranslator.PortMirroringConfigDataOk; +import org.onap.vid.aai.OperationalEnvironment; import org.onap.vid.aai.model.AaiGetAicZone.AicZones; import org.onap.vid.aai.model.AaiGetAicZone.Zone; +import org.onap.vid.aai.model.AaiGetOperationalEnvironments.OperationalEnvironmentList; import org.onap.vid.aai.model.AaiGetPnfs.Pnf; import org.onap.vid.aai.model.PortDetailsTranslator.PortDetails; import org.onap.vid.aai.model.PortDetailsTranslator.PortDetailsError; @@ -561,5 +563,27 @@ public class AaiControllerTest { .andExpect(content().string(expectedResponse)); } + @Test + public void getOperationalEnvironments_shouldReturnOkResponse() throws Exception { + String operationalEnvironmentType = "testEnvType"; + String operationalEnvironmentStatus = "testEnvStatus"; + OperationalEnvironmentList operationalEnvironmentList = new OperationalEnvironmentList( + ImmutableList.of(OperationalEnvironment.builder() + .withOperationalEnvironmentType(operationalEnvironmentType) + .withOperationalEnvironmentStatus(operationalEnvironmentStatus) + .build())); + AaiResponse aaiResponse = new AaiResponse<>(operationalEnvironmentList, null, + HttpStatus.OK.value()); + given(aaiService.getOperationalEnvironments(operationalEnvironmentType, operationalEnvironmentStatus)) + .willReturn(aaiResponse); + + mockMvc.perform(get("/get_operational_environments") + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON) + .param("operationalEnvironmentType", operationalEnvironmentType) + .param("operationalEnvironmentStatus", operationalEnvironmentStatus)) + .andExpect(status().isOk()) + .andExpect(content().json(objectMapper.writeValueAsString(aaiResponse))); + } } -- cgit 1.2.3-korg