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/etc/rules/common_rules.groovy | |
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/etc/rules/common_rules.groovy')
-rw-r--r-- | bundleconfig/etc/rules/common_rules.groovy | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bundleconfig/etc/rules/common_rules.groovy b/bundleconfig/etc/rules/common_rules.groovy new file mode 100644 index 0000000..36e8132 --- /dev/null +++ b/bundleconfig/etc/rules/common_rules.groovy @@ -0,0 +1,30 @@ +/* + * ============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 + * + * 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])")' +}
\ No newline at end of file |