From 4cf4962b74765a5afe234aa258a9143ea6936f73 Mon Sep 17 00:00:00 2001 From: mpriyank Date: Fri, 20 May 2022 15:25:15 +0100 Subject: Enhanced response with Complex State in API - Introduced RestOutputCmHandleState in API specs of retrieveCmHandleDetailsById - Mapper to map CompositeState to RestOutputCmHandleState - Enhanced existing test cases and introduced new one to test the mapping result Issue-ID: CPS-1047 Change-Id: I34fa198287e5d920bc0cea312ee4e368f3be2b90 Signed-off-by: mpriyank --- .../org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java | 1 + .../main/java/org/onap/cps/ncmp/api/models/NcmpServiceCmHandle.java | 4 ++++ .../org/onap/cps/ncmp/api/inventory/CompositeStateSpec.groovy | 3 ++- cps-ncmp-service/src/test/resources/expectedStateModel.json | 6 +++--- 4 files changed, 10 insertions(+), 4 deletions(-) (limited to 'cps-ncmp-service') diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java index d4c64eac9..65e03f1f9 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java @@ -90,6 +90,7 @@ public class YangModelCmHandle { yangModelCmHandle.setDmiProperties(asYangModelCmHandleProperties(ncmpServiceCmHandle.getDmiProperties())); yangModelCmHandle.setPublicProperties(asYangModelCmHandleProperties( ncmpServiceCmHandle.getPublicProperties())); + yangModelCmHandle.setCompositeState(ncmpServiceCmHandle.getCompositeState()); return yangModelCmHandle; } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/NcmpServiceCmHandle.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/NcmpServiceCmHandle.java index 6811b59e0..963b484ed 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/NcmpServiceCmHandle.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/NcmpServiceCmHandle.java @@ -27,6 +27,7 @@ import java.util.Map; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.onap.cps.ncmp.api.inventory.CompositeState; import org.springframework.validation.annotation.Validated; /** @@ -47,4 +48,7 @@ public class NcmpServiceCmHandle { @JsonSetter(nulls = Nulls.AS_EMPTY) private Map publicProperties = Collections.emptyMap(); + @JsonSetter(nulls = Nulls.AS_EMPTY) + private CompositeState compositeState; + } diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/CompositeStateSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/CompositeStateSpec.groovy index 4f4cccfe7..59c9951d4 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/CompositeStateSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/inventory/CompositeStateSpec.groovy @@ -36,7 +36,8 @@ import static org.springframework.util.StringUtils.trimAllWhitespace class CompositeStateSpec extends Specification { - def formattedDateAndTime = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(OffsetDateTime.of(2022, 1, 1, 1, 1, 1, 1, ZoneOffset.MIN)) + def formattedDateAndTime = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ") + .format(OffsetDateTime.of(2022, 12, 31, 20, 30, 40, 1, ZoneOffset.UTC)) def objectMapper = new ObjectMapper() def "Composite State Specification"() { diff --git a/cps-ncmp-service/src/test/resources/expectedStateModel.json b/cps-ncmp-service/src/test/resources/expectedStateModel.json index a41619434..f68d725ed 100644 --- a/cps-ncmp-service/src/test/resources/expectedStateModel.json +++ b/cps-ncmp-service/src/test/resources/expectedStateModel.json @@ -4,16 +4,16 @@ "reason" : "lock-reason", "details" : "lock-misbehaving-details" }, - "last-update-time" : "2022-01-01T01:01:01.000-1800", + "last-update-time" : "2022-12-31T20:30:40.000+0000", "data-sync-enabled" : false, "datastores" : { "operational" : { "sync-state" : "NONE_REQUESTED", - "last-sync-time" : "2022-01-01T01:01:01.000-1800" + "last-sync-time" : "2022-12-31T20:30:40.000+0000" }, "running" : { "sync-state" : "NONE_REQUESTED", - "last-sync-time" : "2022-01-01T01:01:01.000-1800" + "last-sync-time" : "2022-12-31T20:30:40.000+0000" } } } \ No newline at end of file -- cgit 1.2.3-korg