diff options
author | Rudrangi Anupriya <ra00745022@techmahindra.com> | 2023-07-17 20:20:34 +0530 |
---|---|---|
committer | Lee Anjella Macabuhay <lee.anjella.macabuhay@est.tech> | 2023-07-18 08:42:26 +0000 |
commit | ad61e283f7d981c3c8e307af871fb3a63e0cf4f9 (patch) | |
tree | 1c7670de106a9f157ec0456df8b7c0a1ef43e328 /cps-rest/src | |
parent | dcf84ad73f0301ef41049e692b9963f6dcac3661 (diff) |
Persisting a list element to a parent list (ep2)
Post List Element does not allow for create List Element, only appends onto existing node as children
-Add a check in saveListElements to see if the parent xpath is a root path ("/").If root node store list element as top node. Else add passed list element to parent xpath node.
-Add test for scenario for above
-Add test scenario Saving list element data fragment under Root node
-Add Integration Tests Add and Delete top-level list (element) data nodes with root node
-Update bookstore model with TopLevelList datanode
Issue-ID: CPS-1586
Change-Id: Iaa7f59fbeebb03703626132c6d5c2afde0e7ab4b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
Diffstat (limited to 'cps-rest/src')
-rwxr-xr-x | cps-rest/src/test/groovy/org/onap/cps/rest/controller/DataRestControllerSpec.groovy | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cps-rest/src/test/groovy/org/onap/cps/rest/controller/DataRestControllerSpec.groovy b/cps-rest/src/test/groovy/org/onap/cps/rest/controller/DataRestControllerSpec.groovy index d88a9cdf0b..81262c80c4 100755 --- a/cps-rest/src/test/groovy/org/onap/cps/rest/controller/DataRestControllerSpec.groovy +++ b/cps-rest/src/test/groovy/org/onap/cps/rest/controller/DataRestControllerSpec.groovy @@ -179,6 +179,29 @@ class DataRestControllerSpec extends Specification { 'without observed-timestamp XML' | null | MediaType.APPLICATION_XML | requestBodyXml | expectedXmlData | ContentType.XML } + def 'save list elements under root node #scenario.'() { + given: 'root node xpath ' + def rootNodeXpath = '/' + when: 'list-node endpoint is invoked with post (create) operation' + def postRequestBuilder = post("$dataNodeBaseEndpointV1/anchors/$anchorName/list-nodes") + .contentType(MediaType.APPLICATION_JSON) + .param('xpath', rootNodeXpath ) + .content(requestBodyJson) + if (observedTimestamp != null) + postRequestBuilder.param('observed-timestamp', observedTimestamp) + def response = mvc.perform(postRequestBuilder).andReturn().response + then: 'a created response is returned' + response.status == expectedHttpStatus.value() + then: 'the java API was called with the correct parameters' + expectedApiCount * mockCpsDataService.saveListElements(dataspaceName, anchorName, rootNodeXpath, expectedJsonData, + { it == DateTimeUtility.toOffsetDateTime(observedTimestamp) }) + where: + scenario | observedTimestamp || expectedApiCount | expectedHttpStatus + 'with observed-timestamp' | '2021-03-03T23:59:59.999-0400' || 1 | HttpStatus.CREATED + 'without observed-timestamp' | null || 1 | HttpStatus.CREATED + 'with invalid observed-timestamp' | 'invalid' || 0 | HttpStatus.BAD_REQUEST + } + def 'Save list elements #scenario.'() { given: 'parent node xpath ' def parentNodeXpath = 'parent node xpath' |