diff options
author | Priyank Maheshwari <priyank.maheshwari@est.tech> | 2023-04-04 14:58:34 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2023-04-04 14:58:34 +0000 |
commit | dd3643411ed8bb581a3147e07606919c3b1675d3 (patch) | |
tree | 14b15844912b7cb6a8aa6fafb14921c43b9473ec /integration-test/src | |
parent | eb4efdc380180940e059724db12400d68d3f8f69 (diff) | |
parent | 5ab9e64d98c475cff6d1aa35af16bf6f4c4e7c04 (diff) |
Merge "Add Query Spec to integration-test package"
Diffstat (limited to 'integration-test/src')
-rw-r--r-- | integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy b/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy new file mode 100644 index 0000000000..496b36db99 --- /dev/null +++ b/integration-test/src/test/groovy/org/onap/cps/integration/functional/CpsQueryServiceIntegrationSpec.groovy @@ -0,0 +1,48 @@ +/* + * ============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.integration.functional + +import org.onap.cps.integration.base.FunctionalSpecBase +import org.onap.cps.spi.FetchDescendantsOption + +class CpsQueryServiceIntegrationSpec extends FunctionalSpecBase { + + def objectUnderTest + + def setup() { objectUnderTest = cpsQueryService } + + def 'Query bookstore using CPS path where #scenario.'() { + when: 'query data nodes for bookstore container' + def result = objectUnderTest.queryDataNodes(FUNCTIONAL_TEST_DATASPACE, BOOKSTORE_ANCHOR, cpsPath, FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) + then: 'the result contains expected number of nodes' + assert result.size() == expectedResultSize + and: 'the result contains the expected leaf values' + result.leaves.forEach( dataNodeLeaves -> { + expectedLeaves.forEach( (expectedLeafKey,expectedLeafValue) -> { + assert dataNodeLeaves[expectedLeafKey] == expectedLeafValue + }) + }) + where: + scenario | cpsPath || expectedResultSize | expectedLeaves + 'the and condition is used' | '//books[@lang="English" and @price=15]' || 2 | [lang:"English", price:15] + 'the and is used where result does not exist' | '//books[@lang="English" and @price=1000]' || 0 | [] + } +} |