From cb623959af429d7ac0999a113d3373cb8f950ee2 Mon Sep 17 00:00:00 2001 From: "waqas.ikram" Date: Wed, 21 Jun 2023 14:16:22 +0100 Subject: Adding logic to read response files from filesystem for client integration tests Issue-ID: CPS-1751 Change-Id: I62e24d09474184716c56149a06deae4500b7b286 Signed-off-by: waqas.ikram --- .../stub/providers/ResourceProviderSpec.groovy | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/src/test/groovy/org/onap/cps/ncmp/rest/stub/providers/ResourceProviderSpec.groovy (limited to 'cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/src/test/groovy/org/onap') diff --git a/cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/src/test/groovy/org/onap/cps/ncmp/rest/stub/providers/ResourceProviderSpec.groovy b/cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/src/test/groovy/org/onap/cps/ncmp/rest/stub/providers/ResourceProviderSpec.groovy new file mode 100644 index 000000000..7bfe5c322 --- /dev/null +++ b/cps-ncmp-rest-stub/cps-ncmp-rest-stub-service/src/test/groovy/org/onap/cps/ncmp/rest/stub/providers/ResourceProviderSpec.groovy @@ -0,0 +1,75 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2023 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.ncmp.rest.stub.providers + +import java.nio.file.Files +import java.nio.file.Path +import org.springframework.util.FileSystemUtils +import spock.lang.Shared +import spock.lang.Specification +import spock.lang.TempDir + +class ResourceProviderSpec extends Specification { + + @TempDir + @Shared + def tempDirectory + + def setupSpec() { + tempDirectory = Files.createTempDirectory('spock-test') + Files.write(tempDirectory.resolve('file.txt'), 'Dummy file content'.getBytes()) + } + + def cleanupSpec() { + if(Files.exists(tempDirectory)) { + FileSystemUtils.deleteRecursively(tempDirectory) + } + } + + def 'Resource Provider with existing file on #scenario'() { + + given: 'a resource provider with base stub folder defined on #scenario' + def resourceProvider = new ResourceProviderImpl(dir) + when: 'attempting to access that file #filename' + def optional= resourceProvider.getResourceInputStream(filename) + then: 'it is present' + assert optional.isPresent() + where: + scenario | dir | filename + 'classpath' | '/stubs/' | 'passthrough-operational-example.json' + 'file system' | tempDirectory.toString() | 'file.txt' + } + + def 'Resource Provider without required resource file on #scenario'() { + + given: 'a resource provider with base stub folder defined on #scenario' + def resourceProvider = new ResourceProviderImpl(dir) + when: 'attempting to access unknown-file.txt' + def optional= resourceProvider.getResourceInputStream('unknown-file.txt') + then: 'it is empty' + assert optional.isEmpty() + where: + scenario | dir + 'classpath' | '/stubs/' + 'file system' | tempDirectory.toString() + } + +} -- cgit 1.2.3-korg