diff options
Diffstat (limited to 'cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/RestQueryParametersValidatorSpec.groovy')
-rw-r--r-- | cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/RestQueryParametersValidatorSpec.groovy | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/RestQueryParametersValidatorSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/RestQueryParametersValidatorSpec.groovy deleted file mode 100644 index dc471e64fa..0000000000 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/utils/RestQueryParametersValidatorSpec.groovy +++ /dev/null @@ -1,125 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2022 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.api.impl.utils - -import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters -import org.onap.cps.spi.exceptions.DataValidationException -import org.onap.cps.spi.model.ConditionProperties -import spock.lang.Specification - -class RestQueryParametersValidatorSpec extends Specification { - - - def 'CM Handle Query validation: empty query.'() { - given: 'a cm handle query' - def cmHandleQueryParameters = new CmHandleQueryServiceParameters() - when: 'validator is invoked' - RestQueryParametersValidator.validateCmHandleQueryParameters(cmHandleQueryParameters, []) - then: 'data validation exception is not thrown' - noExceptionThrown() - } - - def 'CM Handle Query validation: normal query.'() { - given: 'a cm handle query' - def cmHandleQueryParameters = new CmHandleQueryServiceParameters() - def condition = new ConditionProperties() - condition.conditionName = 'validConditionName' - condition.conditionParameters = [['key':'value']] - cmHandleQueryParameters.cmHandleQueryParameters = [condition] - when: 'validator is invoked' - RestQueryParametersValidator.validateCmHandleQueryParameters(cmHandleQueryParameters, ['validConditionName']) - then: 'data validation exception is not thrown' - noExceptionThrown() - } - - def 'CM Handle Query validation: #scenario.'() { - given: 'a cm handle query' - def cmHandleQueryParameters = new CmHandleQueryServiceParameters() - def condition = new ConditionProperties() - condition.conditionName = conditionName - condition.conditionParameters = conditionParameters - cmHandleQueryParameters.cmHandleQueryParameters = [condition] - when: 'validator is invoked' - RestQueryParametersValidator.validateCmHandleQueryParameters(cmHandleQueryParameters, ['validConditionName']) - then: 'a data validation exception is thrown' - def thrown = thrown(DataValidationException) - and: 'the exception details contain the correct significant term ' - thrown.details.contains(expectedWordInDetails) - where: - scenario | conditionName | conditionParameters || expectedWordInDetails - 'unknown condition name' | 'unknownCondition' | [['key': 'value']] || 'conditionName' - 'no condition name' | '' | [['key': 'value']] || 'conditionName' - 'empty properties' | 'validConditionName' | [[:]] || 'conditionsParameter' - 'empty conditions' | 'validConditionName' | [[:]] || 'conditionsParameter' - 'too many properties' | 'validConditionName' | [[key1: 'value1', key2: 'value2']] || 'conditionsParameter' - 'empty key' | 'validConditionName' | [['': 'wrong']] || 'conditionsParameter' - } - - def 'CM Handle Query validation: validate module name condition properties - valid query.'() { - given: 'a condition property' - def conditionProperty = [moduleName: 'value'] - when: 'validator is invoked' - RestQueryParametersValidator.validateModuleNameConditionProperties(conditionProperty) - then: 'data validation exception is not thrown' - noExceptionThrown() - } - - def 'CM Handle Query validation: validate module name condition properties - #scenario.'() { - when: 'validator is invoked' - RestQueryParametersValidator.validateModuleNameConditionProperties(conditionProperty) - then: 'a data validation exception is thrown' - thrown(DataValidationException) - where: - scenario | conditionProperty - 'invalid value' | [moduleName: ''] - 'invalid name' | [wrongName: 'value'] - } - - def 'Validate CmHandle where an exception is thrown due to #scenario.'() { - when: 'the validator is called on a cps path condition property' - RestQueryParametersValidator.validateCpsPathConditionProperties(conditionProperty) - then: 'a data validation exception is thrown' - def e = thrown(DataValidationException) - and: 'exception message matches the expected message' - e.details.contains(exceptionMessage) - where: - scenario | conditionProperty || exceptionMessage - 'more than one condition is supplied' | ['cpsPath':'some-path', 'cpsPath2':'some-path'] || 'Only one condition property is allowed for the CPS path query.' - 'cpsPath key not supplied' | ['wrong-key':'some-path'] || 'Wrong CPS path condition property. - expecting "cpsPath" as the condition property.' - 'cpsPath not supplied' | ['cpsPath':''] || 'Wrong CPS path. - please supply a valid CPS path.' - } - - def 'No conditions.'() { - expect: 'no conditions always returns true' - RestQueryParametersValidator.validateCpsPathConditionProperties([:]) == true - } - - def 'Validate CmHandle where #scenario.'() { - when: 'the validator is called on a cps path condition property' - def result = RestQueryParametersValidator.validateCpsPathConditionProperties(['cpsPath':cpsPath]) - then: 'the expected boolean value is returned' - result == expectedBoolean - where: - scenario | cpsPath || expectedBoolean - 'cpsPath is valid' | '/some/valid/path' || true - 'cpsPath attempts to query private properties' | "//additional-properties[@some-property='some-value']" || false - } -} |