validationResult.getResultMessage(), ResponseCodes.RESPONSE_FAILED);
}
+ //Check any presence of temp-service with the same commonId
+ String commonId = input.getCommonId();
+ if (this.serviceDataStoreOperations.getTempService(commonId).isPresent()) {
+ LOG.warn(TEMP_SERVICE_CREATE_MSG, LogMessages.serviceInDS("Temp (" + commonId + ")"));
+ return ModelMappingUtils.createCreateServiceReply(input, ResponseCodes.FINAL_ACK_YES,
+ LogMessages.serviceInDS("Temp (" + commonId + ")"), ResponseCodes.RESPONSE_FAILED);
+ }
+
// Starting service create operation
LOG.debug(TEMP_SERVICE_CREATE_MSG, LogMessages.PCE_CALLING);
this.pceListenerImpl.setInput(new ServiceInput(input));
result.get().getResult().getConfigurationResponseCommon().getResponseCode());
}
+ @Test
+ void tempServiceCreateShouldBeFailedWithServiceAlreadyExist() throws ExecutionException, InterruptedException {
+ final ServiceDataStoreOperations serviceDSOperations = mock(ServiceDataStoreOperations.class);
+ when(serviceDSOperations.getTempService(any()))
+ .thenReturn(Optional.of(
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.temp.service.list
+ .ServicesBuilder()
+ .setCommonId("bad_commonId")
+ .build()));
+ ListenableFuture<RpcResult<TempServiceCreateOutput>> result =
+ new ServicehandlerImpl(
+ pathComputationService, rendererServiceOperations, notificationPublishService,
+ pceListenerImpl, rendererListenerImpl, networkModelListenerImpl,
+ serviceDSOperations, catalogDataStoreOperations)
+ .tempServiceCreate(ServiceDataUtils.buildTempServiceCreateInput());
+ result.addListener(() -> endSignal.countDown(), executorService);
+ endSignal.await();
+ assertEquals(
+ ResponseCodes.RESPONSE_FAILED,
+ result.get().getResult().getConfigurationResponseCommon().getResponseCode());
+ assertEquals(
+ "Service 'Temp (commonId)' already exists in datastore",
+ result.get().getResult().getConfigurationResponseCommon().getResponseMessage());
+ }
+
@Test
void tempServiceCreateShouldBeSuccessfulWhenPerformPCESuccessful()
throws ExecutionException, InterruptedException {