diff options
author | mark.j.leonard <mark.j.leonard@gmail.com> | 2019-02-14 13:51:11 +0000 |
---|---|---|
committer | mark.j.leonard <mark.j.leonard@gmail.com> | 2019-02-14 13:51:11 +0000 |
commit | 13b3d5d42bae10ce2733c86814177c3e31eb2014 (patch) | |
tree | 9ece0ac87d1725891a0bcaed8c186af0b74d563a /bundleconfig | |
parent | c9cdd245b2b575164a11785ab7a4710395f950c7 (diff) |
Add support for common rules across types
Refactor the Rule Driven Validator implementation for loading the Groovy
rules. Firstly, support multiple top-level folders. Secondly, include
each top-level folder in the set of paths to search for *.groovy files.
Pull a common rule up to the top-level to remove the duplication.
Add tests to exercise the exception handling code.
Change-Id: Ib70fe03ab5b1f2f8c1711760236b07850aaaa398
Issue-ID: AAI-2155
Signed-off-by: mark.j.leonard <mark.j.leonard@gmail.com>
Diffstat (limited to 'bundleconfig')
-rw-r--r-- | bundleconfig/etc/rules/aai-event/entity-generic-vnf.groovy | 21 | ||||
-rw-r--r-- | bundleconfig/etc/rules/common_rules.groovy (renamed from bundleconfig/etc/rules/gizmo-event/common_rules.groovy) | 23 | ||||
-rw-r--r-- | bundleconfig/etc/rules/spike-event/common_rules.groovy | 27 |
3 files changed, 20 insertions, 51 deletions
diff --git a/bundleconfig/etc/rules/aai-event/entity-generic-vnf.groovy b/bundleconfig/etc/rules/aai-event/entity-generic-vnf.groovy index d813eea..71bbd6a 100644 --- a/bundleconfig/etc/rules/aai-event/entity-generic-vnf.groovy +++ b/bundleconfig/etc/rules/aai-event/entity-generic-vnf.groovy @@ -1,7 +1,10 @@ /* - * ============LICENSE_START=================================================== - * Copyright (c) 2018 Amdocs - * ============================================================================ + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2018-2019 European Software Marketing Ltd. + * ================================================================================ * 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 @@ -13,7 +16,7 @@ * 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. - * ============LICENSE_END===================================================== + * ============LICENSE_END========================================================= */ entity { @@ -34,16 +37,6 @@ entity { } } -rule { - name 'valid_ipv4_addr' - category 'INVALID_VALUE' - description 'Validate an IPv4 address' - errorText 'Invalid value - attribute is not a valid IPv4 address' - severity 'MINOR' - attributes 'ipaddr' - validate 'ipaddr != null && ipaddr.matches("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])")' -} - // If generic-vnf.equipment-role="UCPE" and there is an l-interface - then there must be an IPV4 address related to the l-interface rule { name 'ipv4_addr_present' diff --git a/bundleconfig/etc/rules/gizmo-event/common_rules.groovy b/bundleconfig/etc/rules/common_rules.groovy index b30816e..36e8132 100644 --- a/bundleconfig/etc/rules/gizmo-event/common_rules.groovy +++ b/bundleconfig/etc/rules/common_rules.groovy @@ -1,7 +1,10 @@ /* - * ============LICENSE_START=================================================== - * Copyright (c) 2018 Amdocs - * ============================================================================ + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2018-2019 European Software Marketing Ltd. + * ================================================================================ * 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 @@ -13,15 +16,15 @@ * 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. - * ============LICENSE_END===================================================== + * ============LICENSE_END========================================================= */ rule { - name 'valid_ipv4_addr' + name 'valid_ipv4_addr' category 'INVALID_VALUE' description 'Validate an IPv4 address' - errorText 'Invalid value - attribute is not a valid IPv4 address' - severity 'MINOR' - attributes 'ipaddr' - validate 'ipaddr != null && ipaddr.matches("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])")' -} + errorText 'Invalid value - attribute is not a valid IPv4 address' + severity 'MINOR' + attributes 'ipaddr' + validate 'ipaddr != null && ipaddr.matches("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])")' +}
\ No newline at end of file diff --git a/bundleconfig/etc/rules/spike-event/common_rules.groovy b/bundleconfig/etc/rules/spike-event/common_rules.groovy deleted file mode 100644 index b30816e..0000000 --- a/bundleconfig/etc/rules/spike-event/common_rules.groovy +++ /dev/null @@ -1,27 +0,0 @@ -/* - * ============LICENSE_START=================================================== - * Copyright (c) 2018 Amdocs - * ============================================================================ - * 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. - * ============LICENSE_END===================================================== - */ - -rule { - name 'valid_ipv4_addr' - category 'INVALID_VALUE' - description 'Validate an IPv4 address' - errorText 'Invalid value - attribute is not a valid IPv4 address' - severity 'MINOR' - attributes 'ipaddr' - validate 'ipaddr != null && ipaddr.matches("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])")' -} |