diff options
author | lukegleeson <luke.gleeson@est.tech> | 2023-04-04 10:17:18 +0100 |
---|---|---|
committer | lukegleeson <luke.gleeson@est.tech> | 2023-04-04 10:22:13 +0100 |
commit | 5ab9e64d98c475cff6d1aa35af16bf6f4c4e7c04 (patch) | |
tree | c63f5b81a8d1449d7a9dfb77cb6069b56381eec9 /integration-test/src/test/groovy/org/onap | |
parent | 120686f7b5ff0ff873335905593b1e58be0133da (diff) |
Add Query Spec to integration-test package
Issue-ID: CPS-1598
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: Ifab8863eae4a3ee07ba3d6096e73f9f98077584d
Diffstat (limited to 'integration-test/src/test/groovy/org/onap')
-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 | [] + } +} |