summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorniamhcore <niamh.core@est.tech>2021-09-15 13:01:25 +0100
committerniamhcore <niamh.core@est.tech>2021-09-15 16:20:02 +0100
commitaccefb1c6f1fbb2ab904acbf7d5f4eb33ef51cee (patch)
treed5a4af9c248f110d433366f58cea0a3eefc8c7ed /src/test
parent0f6e827fca9dea842515f47748822844fc5568e5 (diff)
Update response code for passthrough-running create use-case
Issue-ID: CPS-659 Signed-off-by: niamhcore <niamh.core@est.tech> Change-Id: I4ebc4f68604efe78efb951989c2fb021443c36c9
Diffstat (limited to 'src/test')
-rw-r--r--src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy4
-rw-r--r--src/test/groovy/org/onap/cps/ncmp/dmi/service/DmiServiceImplSpec.groovy38
2 files changed, 26 insertions, 16 deletions
diff --git a/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy b/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy
index e08870fd..a937c4e6 100644
--- a/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy
+++ b/src/test/groovy/org/onap/cps/ncmp/dmi/rest/controller/DmiRestControllerSpec.groovy
@@ -218,8 +218,8 @@ class DmiRestControllerSpec extends Specification {
post(writeDataforCmHandlePassthroughRunning).contentType(MediaType.APPLICATION_JSON)
.content(jsonData)
).andReturn().response
- then: 'response status is ok'
- response.status == HttpStatus.OK.value()
+ then: 'response status is 201 CREATED'
+ response.status == HttpStatus.CREATED.value()
and: 'the data in the request body is as expected'
response.getContentAsString() == '{some-json}'
}
diff --git a/src/test/groovy/org/onap/cps/ncmp/dmi/service/DmiServiceImplSpec.groovy b/src/test/groovy/org/onap/cps/ncmp/dmi/service/DmiServiceImplSpec.groovy
index 1d2cf7f3..a99aa9aa 100644
--- a/src/test/groovy/org/onap/cps/ncmp/dmi/service/DmiServiceImplSpec.groovy
+++ b/src/test/groovy/org/onap/cps/ncmp/dmi/service/DmiServiceImplSpec.groovy
@@ -248,30 +248,40 @@ class DmiServiceImplSpec extends Specification {
response == 'response json'
}
- def 'Write resource data using for passthrough running for the given cm handle.'() {
- given: 'sdnc returns a created response'
- mockSdncOperations.writeResourceDataPassthroughRunning(_, _, _, _) >> new ResponseEntity<String>('response json', HttpStatus.CREATED)
- when: 'write resource data from cm handles service method invoked'
+ def 'Write resource data for passthrough running for the given cm handle with a #scenario from sdnc.'() {
+ given: 'sdnc returns a response'
+ mockSdncOperations.writeResourceDataPassthroughRunning(_, _, _, _) >> new ResponseEntity<String>('response json', httpResponse)
+ when: 'write resource data for cm handle method invoked'
def response = objectUnderTest.writeResourceDataPassthroughForCmHandle('some-cmHandle',
'some-resourceIdentifier', 'some-dataType', '{some-data}')
- then: 'response have expected json'
+ then: 'the response contains the expected json data from sdnc'
response == 'response json'
+ where: 'the following values are used'
+ scenario | httpResponse
+ '200 OK response' | HttpStatus.OK
+ '201 CREATED response' | HttpStatus.CREATED
+ }
+
+ def 'Write resource data for passthrough running with a 500 response from sdnc.'() {
+ given: 'sdnc returns a 500 response for the write operation'
+ mockSdncOperations.writeResourceDataPassthroughRunning(_, _, _, _) >> new ResponseEntity<String>('response json', HttpStatus.INTERNAL_SERVER_ERROR)
+ when: 'write resource data for pass through method is invoked'
+ objectUnderTest.writeResourceDataPassthroughForCmHandle('some-cmHandle',
+ 'some-resourceIdentifier', 'some-dataType', new Object())
+ then: 'a dmi exception is thrown'
+ thrown(DmiException.class)
}
- def 'Write resource data for passthrough running with a #scenario.'() {
- given: 'sdnc returns a response for the write operation'
- mockSdncOperations.writeResourceDataPassthroughRunning(_, _, _, _) >> new ResponseEntity<String>('response json', httpStatus)
- and: 'the data provided in the request body is written as a string'
+ def 'Write resource data for passthrough running with a json processing exception.'() {
+ given: 'sdnc returns a 200 response for the write operation'
+ mockSdncOperations.writeResourceDataPassthroughRunning(_, _, _, _) >> new ResponseEntity<String>('response json', HttpStatus.OK)
+ and: 'a json processing exception is thrown'
objectUnderTest.objectMapper = mockObjectMapper
- mockObjectMapper.writeValueAsString(_) >> jsonString
+ mockObjectMapper.writeValueAsString(_) >> { throw new JsonProcessingException('some-exception') }
when: 'write resource data for pass through method is invoked'
objectUnderTest.writeResourceDataPassthroughForCmHandle('some-cmHandle',
'some-resourceIdentifier', 'some-dataType', new Object())
then: 'a dmi exception is thrown'
thrown(DmiException.class)
- where: 'the following combinations are tested'
- scenario | httpStatus | jsonString
- '500 response from sdnc' | HttpStatus.INTERNAL_SERVER_ERROR | '{some-json-data}'
- 'json processing exception ' | HttpStatus.OK | { throw new JsonProcessingException('some error.') }
}
} \ No newline at end of file