- scenario | exception || expectedError | expectedErrorText
- 'cm-handle already exist' | new AlreadyDefinedException('', new RuntimeException()) || CM_HANDLE_ALREADY_EXIST | 'cm-handle already exists'
- 'unknown exception while registering cm-handle' | new RuntimeException('Failed') || UNKNOWN_ERROR | 'Failed'
- }
-
- def 'Create CM-Handle Error Handling: Model Sync fails'() {
- given: 'objects under test without disabled model sync'
- def objectUnderTest = getObjectUnderTest()
- and: 'a registration without cm-handle properties'
- def dmiPluginRegistration = new DmiPluginRegistration(dmiPlugin: 'my-server')
- dmiPluginRegistration.createdCmHandles = [new NcmpServiceCmHandle(cmHandleID: 'cmhandle')]
- and: 'cm-handler models sync fails'
- objectUnderTest.syncModulesAndCreateAnchor(*_) >> { throw new RuntimeException('Model-Sync failed') }
- when: 'registration is updated'
- def response = objectUnderTest.updateDmiRegistrationAndSyncModule(dmiPluginRegistration)
- then: 'a failure response is received'
- response.getCreatedCmHandles().size() == 1
- with(response.getCreatedCmHandles().get(0)) {
- assert it.status == Status.FAILURE
- assert it.cmHandle == 'cmhandle'
- assert it.registrationError == UNKNOWN_ERROR
- assert it.errorText == 'Model-Sync failed'
- }
- and: 'cm-handle is registered'
- 1 * mockCpsDataService.saveListElements(*_)
+ scenario | exception || expectedError | expectedErrorText
+ 'cm-handle already exist' | AlreadyDefinedException.forDataNodes(["path[@id='cmhandle']"], 'some-context') || CM_HANDLE_ALREADY_EXIST | 'cm-handle already exists'
+ 'unknown exception while registering cm-handle' | new RuntimeException('Failed') || UNKNOWN_ERROR | 'Failed'