From 6ce44d58e3c6a7d41d34cac02a4958fe91d7583a Mon Sep 17 00:00:00 2001 From: leventecsanyi Date: Fri, 26 Jul 2024 11:24:13 +0200 Subject: Get data job result from DMI - added DataJobResult interface - extended the DmiRestClient to retrieve status - added mock response to DmiDispatcher Issue-ID: CPS-2296 Change-Id: I551afd827cccd91c5f9837bd4923b30320865d55 Signed-off-by: leventecsanyi --- .../onap/cps/integration/base/DmiDispatcher.groovy | 7 +++- .../ncmp/DataJobResultServiceSpec.groovy | 45 ++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 integration-test/src/test/groovy/org/onap/cps/integration/functional/ncmp/DataJobResultServiceSpec.groovy (limited to 'integration-test') diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/base/DmiDispatcher.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/base/DmiDispatcher.groovy index 56d8f19e64..fcc23db782 100644 --- a/integration-test/src/test/groovy/org/onap/cps/integration/base/DmiDispatcher.groovy +++ b/integration-test/src/test/groovy/org/onap/cps/integration/base/DmiDispatcher.groovy @@ -20,8 +20,6 @@ package org.onap.cps.integration.base -import org.onap.cps.ncmp.api.datajobs.models.SubJobWriteRequest - import static org.onap.cps.integration.base.CpsIntegrationSpecBase.readResourceDataFile import groovy.json.JsonSlurper @@ -29,6 +27,7 @@ import java.util.regex.Matcher import okhttp3.mockwebserver.Dispatcher import okhttp3.mockwebserver.MockResponse import okhttp3.mockwebserver.RecordedRequest +import org.onap.cps.ncmp.api.datajobs.models.SubJobWriteRequest import org.springframework.http.HttpHeaders import org.springframework.http.HttpStatus import org.springframework.http.MediaType @@ -97,6 +96,10 @@ class DmiDispatcher extends Dispatcher { case ~'^/dmi/v1/cmwriteJob/dataProducer/(.*)/dataProducerJob/(.*)/status$': return mockResponseWithBody(HttpStatus.OK, '{"status":"status details from mock service"}') + // get data job result + case ~'^/dmi/v1/cmwriteJob/dataProducer/(.*)/dataProducerJob/(.*)/result(.*)$': + return mockResponseWithBody(HttpStatus.OK, '{ "result": "some result"}') + // get write sub job response case ~'^/dmi/v1/cmwriteJob(.*)$': return mockWriteJobResponse(request) diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/functional/ncmp/DataJobResultServiceSpec.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/functional/ncmp/DataJobResultServiceSpec.groovy new file mode 100644 index 0000000000..241d31a642 --- /dev/null +++ b/integration-test/src/test/groovy/org/onap/cps/integration/functional/ncmp/DataJobResultServiceSpec.groovy @@ -0,0 +1,45 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2024 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.integration.functional.ncmp + +import org.onap.cps.integration.base.CpsIntegrationSpecBase +import org.onap.cps.ncmp.api.datajobs.DataJobResultService +import org.springframework.beans.factory.annotation.Autowired + +class DataJobResultServiceSpec extends CpsIntegrationSpecBase { + + @Autowired + DataJobResultService dataJobResultService; + + def 'Get the status of a data job from DMI.'() { + given: 'the required data about the data job' + def authorization = 'my authorization header' + def dmiServiceName = DMI1_URL + def dataProducerId = 'some-data-producer-id' + def dataProducerJobId = 'some-data-producer-job-id' + def destination = 'some-destination' + when: 'the data job status checked' + def result = dataJobResultService.getDataJobResult(authorization, dmiServiceName, dataProducerId, dataProducerJobId, destination) + then: 'the status is that defined in the mock service.' + assert result != null + assert result == '{ "result": "some result"}' + } +} -- cgit 1.2.3-korg