From c604f64b971491f8c9b953adce54b847d7946e26 Mon Sep 17 00:00:00 2001 From: Prudence Au Date: Mon, 13 Aug 2018 17:06:59 -0400 Subject: Initial submission for validation service Change-Id: I9372430f1ae347373d5a9a0c7a427d7bd393d61e Issue-ID: LOG-427 Signed-off-by: Prudence Au (prudence.au@amdocs.com) Signed-off-by: Geora Barsky Signed-off-by: Pierre Rioux --- src/test/resources/aai-environment.properties | 31 + src/test/resources/auth/auth_policy.json | 55 + .../event-reader/generic-vnf-create-event.json | 75 + .../resources/event-reader/invalid-event-1.json | 165 + .../resources/event-reader/invalid-event-2.json | 165 + .../resources/event-reader/invalid-event-3.json | 75 + .../resources/event-reader/invalid-event-4.json | 150 + .../resources/event-reader/invalid-event-5.json | 165 + .../event-reader/test-validation-service-beans.xml | 38 + .../event-reader/vserver-create-event.json | 165 + .../info-service/test-validation-service-beans.xml | 120 + src/test/resources/json-reader/sample.json | 13 + src/test/resources/logback.xml | 180 + .../resources/model-instance-mapping.json_conf | 28 + .../instance-reader/connector-attributes.json | 399 ++ .../instance-reader/connector-model-name.json | 84 + .../connector-sibling-inventory-items.json | 118 + .../instance-reader/connector.json | 82 + .../instance-reader/expected-generic-vnf.json | 36 + .../instance-reader/expected-logical-link.json | 51 + .../instance-reader/expected-pserver.json | 28 + .../expected-virtual-data-center-model-name.json | 66 + .../expected-virtual-data-center.json | 65 + .../model-instance-mapping-attributes.json_conf | 12 + .../model-instance-mapping-root-missing.json_conf | 16 + .../model-instance-mapping-root-unknown.json_conf | 17 + .../model-instance-mapping.json_conf | 17 + .../test-validation-service-beans.xml | 35 + .../instance-validator/aai-environment.properties | 31 + .../instance-validator/all-models.xml | 1370 ++++ .../connector-instance-errors.json | 113 + .../connector-instance-multiple-missing-attrs.json | 50 + ...nnector-instance-multiple-unexpected-attrs.json | 72 + .../connector-instance-no-model-id.json | 111 + .../connector-instance-success.json | 62 + .../connector-instance-unknown-model-id.json | 113 + .../instance-validator/connector-instance.json | 113 + .../instance-validator/connector-widget-id.xml | 79 + .../model-instance-mapping.json_conf | 28 + .../test-validation-service-beans.xml | 116 + .../validation-service.properties | 29 + .../model-validation/model-parser/all-models.xml | 1370 ++++ .../model-reader/aai-environment.properties | 30 + .../model-validation/model-reader/all-models.xml | 1370 ++++ .../connector-widget-id-no-children-1.xml | 51 + .../connector-widget-id-no-children-2.xml | 79 + .../model-reader/connector-widget-id.xml | 107 + .../model-reader/logical-link-widget-id.xml | 181 + .../model-instance-mapping-attributes-1.json | 11 + .../model-instance-mapping-attributes-2.json | 11 + ...el-instance-mapping-relationships-filter-1.json | 18 + ...el-instance-mapping-relationships-filter-2.json | 18 + ...el-instance-mapping-relationships-filter-3.json | 17 + ...el-instance-mapping-relationships-filter-4.json | 18 + ...el-instance-mapping-relationships-filter-5.json | 17 + ...el-instance-mapping-relationships-filter-6.json | 14 + ...odel-instance-mapping-relationships-root-1.json | 18 + ...odel-instance-mapping-relationships-root-2.json | 17 + ...del-instance-mapping-relationships-with-id.json | 18 + .../model-instance-mapping-relationships.json | 18 + .../model-reader/test-validation-service-beans.xml | 52 + .../model-reader/validation-service.properties | 29 + .../model-reader/virtual-data-center-widget-id.xml | 72 + .../oxm-reader/multiple/test_business_v10.xml | 47 + .../oxm-reader/multiple/test_business_v13.xml | 42 + .../oxm-reader/multiple/test_network_v10.xml | 48 + .../oxm-reader/multiple/test_network_v13.xml | 73 + src/test/resources/oxm-reader/oxm-reader-beans.xml | 40 + .../resources/oxm-reader/schemaIngest.properties | 20 + .../resources/oxm-reader/single/aai_oxm_v0.xml | 23 + .../resources/oxm-reader/single/aai_oxm_v10.xml | 6569 ++++++++++++++++++++ .../resources/oxm-reader/single/aai_oxm_v8.xml | 4362 +++++++++++++ .../resources/oxm-reader/single/aai_oxm_v9.xml | 4772 ++++++++++++++ .../oxm-reader/single/aai_oxm_vnonDigit.xml | 23 + .../oxm-reader/single/test_v10_edges.json | 0 .../rest-config/aai-environment.properties | 29 + .../rest-config/test-validation-service-beans.xml | 29 + .../expected/generic-vnf-create-event.exp.json | 35 + ...pserver-create-event-invalid-ipaddress.exp.json | 24 + .../expected/gizmo-pserver-create-event.exp.json | 13 + ...AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.exp.json | 128 + ...AI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.exp.json | 23 + .../results/expected/vserver-create-event.exp.json | 208 + .../vserver-update-AAI-EVENT-devINT1.exp.json | 38 + .../rules/aai-event/common_rules.groovy | 69 + .../rules/aai-event/entity-complex.groovy | 146 + .../rules/aai-event/entity-newvce.groovy | 43 + .../rules/aai-event/generic-vnf-rules.groovy | 56 + .../rules/aai-event/rule-vserver-all_others.groovy | 118 + .../rule-vserver-related-generic-vnf.groovy | 42 + .../rules/aai-event/vserver-rules.groovy | 44 + .../rules/gizmo-event/common_rules.groovy | 27 + .../rules/gizmo-event/pserver-rules.groovy | 27 + .../test-rule-driven-validator-beans.xml | 55 + .../test_events/generic-vnf-create-event.json | 46 + ...zmo-pserver-create-event-invalid-ipaddress.json | 33 + .../test_events/gizmo-pserver-create-event.json | 33 + ...ate-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.json | 144 + ...te-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.json | 144 + .../test_events/vserver-create-event.json | 243 + .../vserver-update-AAI-EVENT-devINT1.json | 108 + .../test-validation-service-beans.xml | 28 + .../validation-service.properties | 20 + .../topic-config/test-topic-config-beans.xml | 49 + .../topic-config/test-validation-service-beans.xml | 25 + .../topic-config/topic-aai-data-export.properties | 23 + .../topic-aai-data-integrity.properties | 22 + .../topic-config/topic-aai-event.properties | 23 + .../test-validation-service-beans.xml | 29 + .../validation-controller-config.properties | 21 + .../test-validation-service-beans.xml | 38 + .../validation-result/vserver-create-event.json | 163 + src/test/resources/validation-service.properties | 27 + 113 files changed, 26666 insertions(+) create mode 100644 src/test/resources/aai-environment.properties create mode 100644 src/test/resources/auth/auth_policy.json create mode 100644 src/test/resources/event-reader/generic-vnf-create-event.json create mode 100644 src/test/resources/event-reader/invalid-event-1.json create mode 100644 src/test/resources/event-reader/invalid-event-2.json create mode 100644 src/test/resources/event-reader/invalid-event-3.json create mode 100644 src/test/resources/event-reader/invalid-event-4.json create mode 100644 src/test/resources/event-reader/invalid-event-5.json create mode 100644 src/test/resources/event-reader/test-validation-service-beans.xml create mode 100644 src/test/resources/event-reader/vserver-create-event.json create mode 100644 src/test/resources/info-service/test-validation-service-beans.xml create mode 100644 src/test/resources/json-reader/sample.json create mode 100644 src/test/resources/logback.xml create mode 100644 src/test/resources/model-instance-mapping.json_conf create mode 100644 src/test/resources/model-validation/instance-reader/connector-attributes.json create mode 100644 src/test/resources/model-validation/instance-reader/connector-model-name.json create mode 100644 src/test/resources/model-validation/instance-reader/connector-sibling-inventory-items.json create mode 100644 src/test/resources/model-validation/instance-reader/connector.json create mode 100644 src/test/resources/model-validation/instance-reader/expected-generic-vnf.json create mode 100644 src/test/resources/model-validation/instance-reader/expected-logical-link.json create mode 100644 src/test/resources/model-validation/instance-reader/expected-pserver.json create mode 100644 src/test/resources/model-validation/instance-reader/expected-virtual-data-center-model-name.json create mode 100644 src/test/resources/model-validation/instance-reader/expected-virtual-data-center.json create mode 100644 src/test/resources/model-validation/instance-reader/model-instance-mapping-attributes.json_conf create mode 100644 src/test/resources/model-validation/instance-reader/model-instance-mapping-root-missing.json_conf create mode 100644 src/test/resources/model-validation/instance-reader/model-instance-mapping-root-unknown.json_conf create mode 100644 src/test/resources/model-validation/instance-reader/model-instance-mapping.json_conf create mode 100644 src/test/resources/model-validation/instance-reader/test-validation-service-beans.xml create mode 100644 src/test/resources/model-validation/instance-validator/aai-environment.properties create mode 100644 src/test/resources/model-validation/instance-validator/all-models.xml create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance-errors.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance-multiple-missing-attrs.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance-multiple-unexpected-attrs.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance-no-model-id.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance-success.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance-unknown-model-id.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-instance.json create mode 100644 src/test/resources/model-validation/instance-validator/connector-widget-id.xml create mode 100644 src/test/resources/model-validation/instance-validator/model-instance-mapping.json_conf create mode 100644 src/test/resources/model-validation/instance-validator/test-validation-service-beans.xml create mode 100644 src/test/resources/model-validation/instance-validator/validation-service.properties create mode 100644 src/test/resources/model-validation/model-parser/all-models.xml create mode 100644 src/test/resources/model-validation/model-reader/aai-environment.properties create mode 100644 src/test/resources/model-validation/model-reader/all-models.xml create mode 100644 src/test/resources/model-validation/model-reader/connector-widget-id-no-children-1.xml create mode 100644 src/test/resources/model-validation/model-reader/connector-widget-id-no-children-2.xml create mode 100644 src/test/resources/model-validation/model-reader/connector-widget-id.xml create mode 100644 src/test/resources/model-validation/model-reader/logical-link-widget-id.xml create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-1.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-2.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-1.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-2.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-3.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-4.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-5.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-6.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-1.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-2.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-with-id.json create mode 100644 src/test/resources/model-validation/model-reader/model-instance-mapping-relationships.json create mode 100644 src/test/resources/model-validation/model-reader/test-validation-service-beans.xml create mode 100644 src/test/resources/model-validation/model-reader/validation-service.properties create mode 100644 src/test/resources/model-validation/model-reader/virtual-data-center-widget-id.xml create mode 100644 src/test/resources/oxm-reader/multiple/test_business_v10.xml create mode 100644 src/test/resources/oxm-reader/multiple/test_business_v13.xml create mode 100644 src/test/resources/oxm-reader/multiple/test_network_v10.xml create mode 100644 src/test/resources/oxm-reader/multiple/test_network_v13.xml create mode 100644 src/test/resources/oxm-reader/oxm-reader-beans.xml create mode 100644 src/test/resources/oxm-reader/schemaIngest.properties create mode 100644 src/test/resources/oxm-reader/single/aai_oxm_v0.xml create mode 100644 src/test/resources/oxm-reader/single/aai_oxm_v10.xml create mode 100644 src/test/resources/oxm-reader/single/aai_oxm_v8.xml create mode 100644 src/test/resources/oxm-reader/single/aai_oxm_v9.xml create mode 100644 src/test/resources/oxm-reader/single/aai_oxm_vnonDigit.xml create mode 100644 src/test/resources/oxm-reader/single/test_v10_edges.json create mode 100644 src/test/resources/rest-config/aai-environment.properties create mode 100644 src/test/resources/rest-config/test-validation-service-beans.xml create mode 100644 src/test/resources/rule-driven-validator/results/expected/generic-vnf-create-event.exp.json create mode 100644 src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event-invalid-ipaddress.exp.json create mode 100644 src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event.exp.json create mode 100644 src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.exp.json create mode 100644 src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.exp.json create mode 100644 src/test/resources/rule-driven-validator/results/expected/vserver-create-event.exp.json create mode 100644 src/test/resources/rule-driven-validator/results/expected/vserver-update-AAI-EVENT-devINT1.exp.json create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/common_rules.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/entity-complex.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/entity-newvce.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/generic-vnf-rules.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-all_others.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-related-generic-vnf.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/aai-event/vserver-rules.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/gizmo-event/common_rules.groovy create mode 100644 src/test/resources/rule-driven-validator/rules/gizmo-event/pserver-rules.groovy create mode 100644 src/test/resources/rule-driven-validator/test-rule-driven-validator-beans.xml create mode 100644 src/test/resources/rule-driven-validator/test_events/generic-vnf-create-event.json create mode 100644 src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event-invalid-ipaddress.json create mode 100644 src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event.json create mode 100644 src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.json create mode 100644 src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.json create mode 100644 src/test/resources/rule-driven-validator/test_events/vserver-create-event.json create mode 100644 src/test/resources/rule-driven-validator/test_events/vserver-update-AAI-EVENT-devINT1.json create mode 100644 src/test/resources/topic-admin-config/test-validation-service-beans.xml create mode 100644 src/test/resources/topic-admin-config/validation-service.properties create mode 100644 src/test/resources/topic-config/test-topic-config-beans.xml create mode 100644 src/test/resources/topic-config/test-validation-service-beans.xml create mode 100644 src/test/resources/topic-config/topic-aai-data-export.properties create mode 100644 src/test/resources/topic-config/topic-aai-data-integrity.properties create mode 100644 src/test/resources/topic-config/topic-aai-event.properties create mode 100644 src/test/resources/validation-controller-config/test-validation-service-beans.xml create mode 100644 src/test/resources/validation-controller-config/validation-controller-config.properties create mode 100644 src/test/resources/validation-result/test-validation-service-beans.xml create mode 100644 src/test/resources/validation-result/vserver-create-event.json create mode 100644 src/test/resources/validation-service.properties (limited to 'src/test/resources') diff --git a/src/test/resources/aai-environment.properties b/src/test/resources/aai-environment.properties new file mode 100644 index 0000000..463a2b0 --- /dev/null +++ b/src/test/resources/aai-environment.properties @@ -0,0 +1,31 @@ +# ============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===================================================== + +# This file is used by various tests (src/test and src/integration-test) as it loaded from the classpath +host=localhost +port=8443 +httpProtocol=file +trustStorePath=src/main/resources/authentication/tomcat_keystore +trustStorePassword.x=70c87528c88dcd9f9c2558d30e817868 +keyStorePath=src/main/resources/authentication/aai-client-cert.p12 +keyStorePassword.x=70c87528c88dcd9f9c2558d30e817868 +keyManagerFactoryAlgorithm=SunX509 +keyStoreType=PKCS12 +securityProtocol=TLS +connectionTimeout=5000 +readTimeout=1000 + +baseModelURI=src/test/resources/model-validation/instance-validator/all-models.xml \ No newline at end of file diff --git a/src/test/resources/auth/auth_policy.json b/src/test/resources/auth/auth_policy.json new file mode 100644 index 0000000..2bf63d1 --- /dev/null +++ b/src/test/resources/auth/auth_policy.json @@ -0,0 +1,55 @@ +{"roles": [ + { + "name": "admin", + "functions": [ + { + "name": "actions", + "methods": [ + {"name": "GET"}, + {"name": "DELETE"}, + {"name": "PUT"} + ] + }, + { + "name": "validate", + "methods": [{"name": "POST"}] + } + ], + "users": [ + {"username": "CN=common-name, OU=org-unit, O=org, L=location, ST=state, C=US"}, + {"username": "CN=test, OU=qa, O=Test Ltd, L=London, ST=London, C=GB"} + ] + }, + { + "name": "ops", + "functions": [{ + "name": "actions", + "methods": [{"name": "POST"}] + }], + "users": [ + {"username": "CN=common-name, OU=org-unit, O=org, L=location, ST=state, C=US"}, + {"username": "CN=test, OU=qa, O=Test Ltd, L=London, ST=London, C=GB"} + ] + }, + { + "name": "basicauth", + "functions": [{ + "name": "util", + "methods": [{"name": "GET"}] + }], + "users": [{ + "user": "aai", + "pass": "OBF:1u2a1t2v1vgb1s3g1s3m1vgj1t3b1u30" + }] + }, + { + "name": "nofuncauth", + "functions": [{ + "name": "nofuncutil" + }], + "users": [{ + "user": "aai", + "pass": "OBF:1u2a1t2v1vgb1s3g1s3m1vgj1t3b1u30" + }] + } +]} diff --git a/src/test/resources/event-reader/generic-vnf-create-event.json b/src/test/resources/event-reader/generic-vnf-create-event.json new file mode 100644 index 0000000..94235b7 --- /dev/null +++ b/src/test/resources/event-reader/generic-vnf-create-event.json @@ -0,0 +1,75 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525111931-22f454f0-93ff-4571-bed0-573ca6c85353", + "timestamp": "20160525-11:19:31:421", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "generic-vnf", + "top-entity-type": "generic-vnf", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/network/generic-vnfs/generic-vnf/VAPP-1581", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "vnf-id": "VAPP-1581", + "vnf-name": "example-vnf-name-val-3501", + "vnf-name2": "example-vnf-name2-val-3501", + "vnf-type": "example-vnf-type-val-3501", + "regional-resource-zone": "example-regional-resource-zone-val-3501", + "prov-status": "example-prov-status-val-3501", + "operational-state": "example-operational-state-val-3501", + "license-key": "example-license-key-val-3501", + "equipment-role": "example-equipment-role-val-3501", + "orchestration-status": "example-orchestration-status-val-3501", + "heat-stack-id": "example-heat-stack-id-val-3501", + "mso-catalog-key": "example-mso-catalog-key-val-3501", + "management-option": "example-management-option-val-3501", + "ipv4-oam-address": "example-ipv4-oam-address-val-3501", + "ipv4-loopback0-address": "example-ipv4-loopback0-address-val-3501", + "nm-lan-v6-address": "example-nm-lan-v6-address-val-3501", + "management-v6-address": "example-management-v6-address-val-3501", + "vcpu": 1817, + "vcpu-units": "example-vcpu-units-val-3501", + "vmemory": 6020, + "vmemory-units": "example-vmemory-units-val-3501", + "vdisk": 5281, + "vdisk-units": "example-vdisk-units-val-3501", + "in-maint": false, + "is-closed-loop-disabled": true, + "resource-version": "1464189571", + "relationship-list": { + "relationship": { + "related-to": "logical-link", + "related-link": "https://loopback.onap.org:8443/aai/v7/network/logical-links/logical-link/link-01/", + "relationship-data": { + "relationship-key": "logical-link.link-name", + "relationship-value": "link-01" + } + } + }, + "l-interfaces": { + + }, + "lag-interfaces": { + "lag-interface": { + "interface-name": "example-interface-name-val-3131", + "resource-version": "1464189571", + "relationship-list": { + + }, + "l-interfaces": { + + } + } + }, + "vf-modules": { + + } + } +} \ No newline at end of file diff --git a/src/test/resources/event-reader/invalid-event-1.json b/src/test/resources/event-reader/invalid-event-1.json new file mode 100644 index 0000000..523c9d8 --- /dev/null +++ b/src/test/resources/event-reader/invalid-event-1.json @@ -0,0 +1,165 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type-MISSING": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type-MISSING": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "PREPROV", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/event-reader/invalid-event-2.json b/src/test/resources/event-reader/invalid-event-2.json new file mode 100644 index 0000000..5d9def7 --- /dev/null +++ b/src/test/resources/event-reader/invalid-event-2.json @@ -0,0 +1,165 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "UNKNOWN-ENTITY-TYPE", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "PREPROV", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/event-reader/invalid-event-3.json b/src/test/resources/event-reader/invalid-event-3.json new file mode 100644 index 0000000..20160a8 --- /dev/null +++ b/src/test/resources/event-reader/invalid-event-3.json @@ -0,0 +1,75 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525111931-22f454f0-93ff-4571-bed0-573ca6c85353", + "timestamp": "20160525-11:19:31:421", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "UNKNOWN-ENTITY-TYPE", + "top-entity-type": "UNKNOWN-ENTITY-TYPE", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/network/generic-vnfs/generic-vnf/VAPP-1581", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "vnf-id": "VAPP-1581", + "vnf-name": "example-vnf-name-val-3501", + "vnf-name2": "example-vnf-name2-val-3501", + "vnf-type": "example-vnf-type-val-3501", + "regional-resource-zone": "example-regional-resource-zone-val-3501", + "prov-status": "example-prov-status-val-3501", + "operational-state": "example-operational-state-val-3501", + "license-key": "example-license-key-val-3501", + "equipment-role": "example-equipment-role-val-3501", + "orchestration-status": "example-orchestration-status-val-3501", + "heat-stack-id": "example-heat-stack-id-val-3501", + "mso-catalog-key": "example-mso-catalog-key-val-3501", + "management-option": "example-management-option-val-3501", + "ipv4-oam-address": "example-ipv4-oam-address-val-3501", + "ipv4-loopback0-address": "example-ipv4-loopback0-address-val-3501", + "nm-lan-v6-address": "example-nm-lan-v6-address-val-3501", + "management-v6-address": "example-management-v6-address-val-3501", + "vcpu": 1817, + "vcpu-units": "example-vcpu-units-val-3501", + "vmemory": 6020, + "vmemory-units": "example-vmemory-units-val-3501", + "vdisk": 5281, + "vdisk-units": "example-vdisk-units-val-3501", + "in-maint": false, + "is-closed-loop-disabled": true, + "resource-version": "1464189571", + "relationship-list": { + "relationship": { + "related-to": "logical-link", + "related-link": "https://loopback.onap.org:8443/aai/v7/network/logical-links/logical-link/link-01/", + "relationship-data": { + "relationship-key": "logical-link.link-name", + "relationship-value": "link-01" + } + } + }, + "l-interfaces": { + + }, + "lag-interfaces": { + "lag-interface": { + "interface-name": "example-interface-name-val-3131", + "resource-version": "1464189571", + "relationship-list": { + + }, + "l-interfaces": { + + } + } + }, + "vf-modules": { + + } + } +} \ No newline at end of file diff --git a/src/test/resources/event-reader/invalid-event-4.json b/src/test/resources/event-reader/invalid-event-4.json new file mode 100644 index 0000000..eb1a489 --- /dev/null +++ b/src/test/resources/event-reader/invalid-event-4.json @@ -0,0 +1,150 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "!!!!! TOO_MANY_ENTITIES !!!!!" + }, + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "PREPROV", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": {} + } + ] + }, + "relationship-list": {}, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": {}, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": {} + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": {} + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": {} + } + ] + }, + "relationship-list": {}, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": {} + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": {} + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/event-reader/invalid-event-5.json b/src/test/resources/event-reader/invalid-event-5.json new file mode 100644 index 0000000..c05ab30 --- /dev/null +++ b/src/test/resources/event-reader/invalid-event-5.json @@ -0,0 +1,165 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "PREPROV", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version-MISSING": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/event-reader/test-validation-service-beans.xml b/src/test/resources/event-reader/test-validation-service-beans.xml new file mode 100644 index 0000000..0d60484 --- /dev/null +++ b/src/test/resources/event-reader/test-validation-service-beans.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/event-reader/vserver-create-event.json b/src/test/resources/event-reader/vserver-create-event.json new file mode 100644 index 0000000..46f22c4 --- /dev/null +++ b/src/test/resources/event-reader/vserver-create-event.json @@ -0,0 +1,165 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "topic-name": "topicName", + "event-id": "7994f700-766b-47ed-a322-194346edd92e" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "PREPROV", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/info-service/test-validation-service-beans.xml b/src/test/resources/info-service/test-validation-service-beans.xml new file mode 100644 index 0000000..d1c6ace --- /dev/null +++ b/src/test/resources/info-service/test-validation-service-beans.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/json-reader/sample.json b/src/test/resources/json-reader/sample.json new file mode 100644 index 0000000..26bb497 --- /dev/null +++ b/src/test/resources/json-reader/sample.json @@ -0,0 +1,13 @@ +{ + "event-header": { + "entity-type": "vserver", + "sample-integer": 1, + "sample-boolean": true, + "sample-object": { + "property": "value" + }, + "sample-array": [ + "one" + ] + } +} \ No newline at end of file diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml new file mode 100644 index 0000000..47c6154 --- /dev/null +++ b/src/test/resources/logback.xml @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ${logDirectory}/${generalLogName}.log + + ${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip + + 60 + + + ${errorLogPattern} + + + + + + INFO + + 256 + + + + + + + ${logDirectory}/${auditLogName}.log + + ${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip + + 60 + + + ${auditLogPattern} + + + + 256 + + + + + ${logDirectory}/${metricsLogName}.log + + ${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip + + 60 + + + ${metricsLogPattern} + + + + + 256 + + + + + + ${logDirectory}/${debugLogName}.log + + + ${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip + + 60 + + + ${errorLogPattern} + + + + + + + + + e.level.toInt() < INFO.toInt() + + + DENY + NEUTRAL + + 256 + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/model-instance-mapping.json_conf b/src/test/resources/model-instance-mapping.json_conf new file mode 100644 index 0000000..12d39ea --- /dev/null +++ b/src/test/resources/model-instance-mapping.json_conf @@ -0,0 +1,28 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + }, + { + "mappingType": "ATTRIBUTE", + "model": { + "value": "metadata/metadatum/metaname" + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "value": "$..extra-properties.metadatum[*].metaname" + } + } +] diff --git a/src/test/resources/model-validation/instance-reader/connector-attributes.json b/src/test/resources/model-validation/instance-reader/connector-attributes.json new file mode 100644 index 0000000..3a4536f --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/connector-attributes.json @@ -0,0 +1,399 @@ +{ + "inventory-response-item": [ + { + "model-name": "WAN Connector v0.1", + "connector": { + "resource-instance-id": "100559", + "resource-version": "1465571381", + "persona-model-id": "dc700a83-c507-47d9-b775-1fdfcdd5f9eb", + "persona-model-version": "0.1" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id value 1", + "resource-version": "1466418452" + }, + { + "metaname": "unexpected", + "metaval": "unexpected value 1", + "resource-version": "1466418452" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "15001220", + "vdc-name": "SAN_DIEGO_CA01", + "resource-version": "1465571382" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vLAN on a Physical Wire", + "logical-link": { + "link-name": "sn6ca391ve2-xe-10/2/3.117|sn4ca01pbg", + "link-type": "l2bridge", + "resource-version": "1465571381", + "persona-model-id": "32bee148-2cae-4f3d-a42e-22c9e4f078a2", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "pBgf", + "pserver": { + "hostname": "sn4ca01pbg", + "in-maint": false, + "resource-version": "1470978156" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "sn6ca391ve2-ae6.1322|dbzx0003v", + "link-type": "l2bridge", + "resource-version": "1465571381", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-2883", + "vnf-name": "dbzx0004v", + "vnf-type": "vSRX vDBE-V VNF", + "service-id": "12a96a9d-4b4c-4349-a950-fe1159602621", + "prov-status": "ACTIVE", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978155" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "sn6ca392ve2-ae6.1322|dbzx0003v", + "link-type": "l2bridge", + "resource-version": "1465571382", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-2883", + "vnf-name": "dbzx0004v", + "vnf-type": "vSRX vDBE-V VNF", + "service-id": "12a96a9d-4b4c-4349-a950-fe1159602621", + "prov-status": "ACTIVE", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978155" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "sn6ca392ve2-ae6.1927|asbg0003v", + "link-type": "l2bridge", + "resource-version": "1465571382", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-9320", + "vnf-name": "asbg0003v", + "vnf-type": "ASBGv No TLS", + "service-id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", + "prov-status": "PROV", + "ipv4-oam-address": "135.193.152.168", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978156" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "vLAN on a Physical Wire", + "logical-link": { + "link-name": "sn6ca392ve2-xe-10/2/3.117|sn4ca01pbg", + "link-type": "l2bridge", + "resource-version": "1465571382", + "persona-model-id": "32bee148-2cae-4f3d-a42e-22c9e4f078a2", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "pBgf", + "pserver": { + "hostname": "sn4ca01pbg", + "in-maint": false, + "resource-version": "1470978156" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "sn6ca391ve2-ae6.1927|asbg0003v", + "link-type": "l2bridge", + "resource-version": "1465571381", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-9320", + "vnf-name": "asbg0003v", + "vnf-type": "ASBGv No TLS", + "service-id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", + "prov-status": "PROV", + "ipv4-oam-address": "135.193.152.168", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978156" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + } + ] + } + }, + { + "virtual-data-center": { + "vdc-id": "15001219", + "vdc-name": "ALPHARETTA_GA01", + "resource-version": "1465571380" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "alrga392ve2-ae6.1322|dbzx0004v", + "link-type": "l2bridge", + "resource-version": "1465571380", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-1883", + "vnf-name": "dbzx0003v", + "vnf-type": "vSRX vDBE-V VNF", + "service-id": "12a96a9d-4b4c-4349-a950-fe1159602621", + "prov-status": "ACTIVE", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978153" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "alrga391ve2-ae6.1322|dbzx0004v", + "link-type": "l2bridge", + "resource-version": "1465571379", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-1883", + "vnf-name": "dbzx0003v", + "vnf-type": "vSRX vDBE-V VNF", + "service-id": "12a96a9d-4b4c-4349-a950-fe1159602621", + "prov-status": "ACTIVE", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978153" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "alrga392ve2-ae6.1927|asbg0004v", + "link-type": "l2bridge", + "resource-version": "1465571380", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-5305", + "vnf-name": "asbg0004v", + "vnf-type": "ASBGv No TLS", + "service-id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", + "prov-status": "PROV", + "ipv4-oam-address": "135.190.182.168", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978152" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "vLAN on a Physical Wire", + "logical-link": { + "link-name": "alrga391ve2-xe-10/2/3.117|ar4ga01pbg", + "link-type": "l2bridge", + "resource-version": "1465571379", + "persona-model-id": "32bee148-2cae-4f3d-a42e-22c9e4f078a2", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "pBgf", + "pserver": { + "hostname": "ar4ga01pbg", + "in-maint": false, + "resource-version": "1470978153" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "VL ELAN", + "logical-link": { + "link-name": "alrga391ve2-ae6.1927|asbg0004v", + "link-type": "l2bridge", + "resource-version": "1465571380", + "persona-model-id": "932518e5-4260-4cc4-8038-df604a367f85", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "vDbe", + "generic-vnf": { + "vnf-id": "VAPP-5305", + "vnf-name": "asbg0004v", + "vnf-type": "ASBGv No TLS", + "service-id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", + "prov-status": "PROV", + "ipv4-oam-address": "135.190.182.168", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1470978152" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + }, + { + "model-name": "vLAN on a Physical Wire", + "logical-link": { + "link-name": "alrga392ve2-xe-10/2/3.117|ar4ga01pbg", + "link-type": "l2bridge", + "resource-version": "1465571380", + "persona-model-id": "32bee148-2cae-4f3d-a42e-22c9e4f078a2", + "persona-model-version": "1" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "pBgf", + "pserver": { + "hostname": "ar4ga01pbg", + "in-maint": false, + "resource-version": "1470978153" + }, + "extra-properties": {}, + "inventory-response-items": {} + } + ] + } + } + ] + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/connector-model-name.json b/src/test/resources/model-validation/instance-reader/connector-model-name.json new file mode 100644 index 0000000..60e6401 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/connector-model-name.json @@ -0,0 +1,84 @@ +{ + "model-name": "Test Connector Model Name", + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "Test VC Model Name", + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "Test LL Model Name", + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } +} diff --git a/src/test/resources/model-validation/instance-reader/connector-sibling-inventory-items.json b/src/test/resources/model-validation/instance-reader/connector-sibling-inventory-items.json new file mode 100644 index 0000000..b032966 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/connector-sibling-inventory-items.json @@ -0,0 +1,118 @@ +{ + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "Test LL Model Name", + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "generic-vnf": { + "vnf-id": "generic-vnf-01", + "vnf-name": "example-vnf-name-val-3501", + "vnf-name2": "example-vnf-name2-val-3501", + "vnf-type": "example-vnf-type-val-3501", + "regional-resource-zone": "example-regional-resource-zone-val-3501", + "prov-status": "example-prov-status-val-3501", + "operational-state": "example-operational-state-val-3501", + "license-key": "example-license-key-val-3501", + "equipment-role": "example-equipment-role-val-3501", + "orchestration-status": "example-orchestration-status-val-3501", + "heat-stack-id": "example-heat-stack-id-val-3501", + "mso-catalog-key": "example-mso-catalog-key-val-3501", + "management-option": "example-management-option-val-3501", + "ipv4-oam-address": "example-ipv4-oam-address-val-3501", + "ipv4-loopback0-address": "example-ipv4-loopback0-address-val-3501", + "nm-lan-v6-address": "example-nm-lan-v6-address-val-3501", + "management-v6-address": "example-management-v6-address-val-3501", + "vcpu": 1817, + "vcpu-units": "example-vcpu-units-val-3501", + "vmemory": 6020, + "vmemory-units": "example-vmemory-units-val-3501", + "vdisk": 5281, + "vdisk-units": "example-vdisk-units-val-3501", + "in-maint": false, + "is-closed-loop-disabled": true, + "resource-version": "1468321711" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + }, + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } +} diff --git a/src/test/resources/model-validation/instance-reader/connector.json b/src/test/resources/model-validation/instance-reader/connector.json new file mode 100644 index 0000000..1870dc8 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/connector.json @@ -0,0 +1,82 @@ +{ + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "Test LL Model Name", + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } +} diff --git a/src/test/resources/model-validation/instance-reader/expected-generic-vnf.json b/src/test/resources/model-validation/instance-reader/expected-generic-vnf.json new file mode 100644 index 0000000..ab5bb10 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/expected-generic-vnf.json @@ -0,0 +1,36 @@ +{ + "generic-vnf": { + "vnf-id": "generic-vnf-01", + "vnf-name": "example-vnf-name-val-3501", + "vnf-name2": "example-vnf-name2-val-3501", + "vnf-type": "example-vnf-type-val-3501", + "regional-resource-zone": "example-regional-resource-zone-val-3501", + "prov-status": "example-prov-status-val-3501", + "operational-state": "example-operational-state-val-3501", + "license-key": "example-license-key-val-3501", + "equipment-role": "example-equipment-role-val-3501", + "orchestration-status": "example-orchestration-status-val-3501", + "heat-stack-id": "example-heat-stack-id-val-3501", + "mso-catalog-key": "example-mso-catalog-key-val-3501", + "management-option": "example-management-option-val-3501", + "ipv4-oam-address": "example-ipv4-oam-address-val-3501", + "ipv4-loopback0-address": "example-ipv4-loopback0-address-val-3501", + "nm-lan-v6-address": "example-nm-lan-v6-address-val-3501", + "management-v6-address": "example-management-v6-address-val-3501", + "vcpu": 1817, + "vcpu-units": "example-vcpu-units-val-3501", + "vmemory": 6020, + "vmemory-units": "example-vmemory-units-val-3501", + "vdisk": 5281, + "vdisk-units": "example-vdisk-units-val-3501", + "in-maint": false, + "is-closed-loop-disabled": true, + "resource-version": "1468321711" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } +} diff --git a/src/test/resources/model-validation/instance-reader/expected-logical-link.json b/src/test/resources/model-validation/instance-reader/expected-logical-link.json new file mode 100644 index 0000000..90bb7de --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/expected-logical-link.json @@ -0,0 +1,51 @@ +{ + "model-name": "Test LL Model Name", + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/expected-pserver.json b/src/test/resources/model-validation/instance-reader/expected-pserver.json new file mode 100644 index 0000000..8d4b8c5 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/expected-pserver.json @@ -0,0 +1,28 @@ +{ + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/expected-virtual-data-center-model-name.json b/src/test/resources/model-validation/instance-reader/expected-virtual-data-center-model-name.json new file mode 100644 index 0000000..e72a52f --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/expected-virtual-data-center-model-name.json @@ -0,0 +1,66 @@ +{ + "model-name": "Test VC Model Name", + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "Test LL Model Name", + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/expected-virtual-data-center.json b/src/test/resources/model-validation/instance-reader/expected-virtual-data-center.json new file mode 100644 index 0000000..7445823 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/expected-virtual-data-center.json @@ -0,0 +1,65 @@ +{ + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "model-name": "Test LL Model Name", + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/model-instance-mapping-attributes.json_conf b/src/test/resources/model-validation/instance-reader/model-instance-mapping-attributes.json_conf new file mode 100644 index 0000000..1abe24f --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/model-instance-mapping-attributes.json_conf @@ -0,0 +1,12 @@ +[ + { + "mappingType": "ATTRIBUTE", + "model": { + "value": "metadata/metadatum/metaname" + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "value": "$..extra-properties.metadatum[*].metaname" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/model-instance-mapping-root-missing.json_conf b/src/test/resources/model-validation/instance-reader/model-instance-mapping-root-missing.json_conf new file mode 100644 index 0000000..c8d5591 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/model-instance-mapping-root-missing.json_conf @@ -0,0 +1,16 @@ +[ + { + "mappingType" : "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + }, + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']" + }, + "instance": { + "origin": "$.inventory-response-item[0]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/model-instance-mapping-root-unknown.json_conf b/src/test/resources/model-validation/instance-reader/model-instance-mapping-root-unknown.json_conf new file mode 100644 index 0000000..990d0c7 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/model-instance-mapping-root-unknown.json_conf @@ -0,0 +1,17 @@ +[ + { + "mappingType" : "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + }, + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']" + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "NOT_KNOWN" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/model-instance-mapping.json_conf b/src/test/resources/model-validation/instance-reader/model-instance-mapping.json_conf new file mode 100644 index 0000000..917c575 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/model-instance-mapping.json_conf @@ -0,0 +1,17 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + }, + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']" + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-reader/test-validation-service-beans.xml b/src/test/resources/model-validation/instance-reader/test-validation-service-beans.xml new file mode 100644 index 0000000..baf07b2 --- /dev/null +++ b/src/test/resources/model-validation/instance-reader/test-validation-service-beans.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/aai-environment.properties b/src/test/resources/model-validation/instance-validator/aai-environment.properties new file mode 100644 index 0000000..c595e7f --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/aai-environment.properties @@ -0,0 +1,31 @@ +# ============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===================================================== + +httpProtocol=file +baseModelURI=src/test/resources/model-validation/instance-validator/all-models.xml + +# the following fields are autowired but will never be used +host= +port= +trustStorePath= +trustStorePassword.x= +keyStorePath= +keyStorePassword.x= +keyManagerFactoryAlgorithm= +keyStoreType= +securityProtocol= +connectionTimeout= +readTimeout= diff --git a/src/test/resources/model-validation/instance-validator/all-models.xml b/src/test/resources/model-validation/instance-validator/all-models.xml new file mode 100644 index 0000000..9acbd2b --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/all-models.xml @@ -0,0 +1,1370 @@ + + + + + 22382f81-70cb-470d-8ab2-3e1b9fad10df + widget + generic-vnf + 6dcdbbc8-23b6-42c3-ac9f-2c0a3fe8cfba + v1.0 + 1466698747 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/43095b8a-8e9c-4a76-8490-6120140f6804/model-elements/model-element/41e6d6e5-aa69-4d33-b9f2-975bf418d1e3/ + + model.model-invariant-id + 43095b8a-8e9c-4a76-8490-6120140f6804 + + + model-element.model-element-uuid + 41e6d6e5-aa69-4d33-b9f2-975bf418d1e3 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/model-elements/model-element/17e48d38-e055-4158-ae6b-a170e8a647cd/ + + model.model-invariant-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model-element.model-element-uuid + 17e48d38-e055-4158-ae6b-a170e8a647cd + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/a97e8ab3-addd-40ee-9d29-3de505a56374/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + a97e8ab3-addd-40ee-9d29-3de505a56374 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/759ef1e4-3eca-4d55-8a9c-a8be31179f47/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + 759ef1e4-3eca-4d55-8a9c-a8be31179f47 + + + + + + connector-widget-id + widget + connector + connector-model-id + v2.0 + 1466689944 + + + 43095b8a-8e9c-4a76-8490-6120140f6804 + resource + vSbg + b23fb31b-4c21-45f7-9d92-96ed70e63df1 + v1.0 + 1466698622 + + + 41e6d6e5-aa69-4d33-b9f2-975bf418d1e3 + F + unbounded + + 1466698619 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/22382f81-70cb-470d-8ab2-3e1b9fad10df/ + + model.model-invariant-id + 22382f81-70cb-470d-8ab2-3e1b9fad10df + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/6cf69470-ccbf-4034-a37f-f714c135f05c/ + + model.model-invariant-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 6cf69470-ccbf-4034-a37f-f714c135f05c + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/059db56c-6d72-4023-9fc3-0db29534ddff/ + + model.model-invariant-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + 059db56c-6d72-4023-9fc3-0db29534ddff + + + + + + 523f0645-8182-4c91-9d6a-2f968e923937 + widget + pserver + c277c968-7e2b-4a88-9094-2b8a55dfb9f4 + v1.0 + 1466698757 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/ + + model.model-invariant-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/model-elements/model-element/0204aad0-fe13-4f75-b022-f91f245f0e9e/ + + model.model-invariant-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model-element.model-element-uuid + 0204aad0-fe13-4f75-b022-f91f245f0e9e + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/a79552d6-20dc-4b9e-b4d4-f29a8a2a8447/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + a79552d6-20dc-4b9e-b4d4-f29a8a2a8447 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/41294247-9f7e-4abf-becd-3bbca6945c09/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + 41294247-9f7e-4abf-becd-3bbca6945c09 + + + + + + 99469866-95bb-400e-8786-f83e87696725 + widget + virtual-data-center + 3c70c43f-99ed-4476-82f4-92a30616e512 + v1.0 + 1466698727 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/ + + model.model-invariant-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + + + + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + resource + ipe + e8f973a5-418a-44f2-9784-159e3e37d708 + v1.0 + 1466698622 + + + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + F + unbounded + + 1466698621 + + + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + F + unbounded + + 1466698621 + + + ebc25508-b2e3-4021-b684-269cfd2b63c0 + T + unbounded + + 1466698621 + + + f610d699-11af-4c13-a918-a89344e4a1bd + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/49032ff1-5466-4054-b64b-15395ac10c00/ + + model.model-invariant-id + 49032ff1-5466-4054-b64b-15395ac10c00 + + + model.model-name + vlan + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0a706320-b8e7-4b18-9485-fba156ea00cf/ + + model.model-invariant-id + 0a706320-b8e7-4b18-9485-fba156ea00cf + + + model.model-name + l-interface + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/3d9f4b1d-360c-4862-9623-703b150157ce/ + + model.model-invariant-id + 3d9f4b1d-360c-4862-9623-703b150157ce + + + model.model-name + p-interface + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/523f0645-8182-4c91-9d6a-2f968e923937/ + + model.model-invariant-id + 523f0645-8182-4c91-9d6a-2f968e923937 + + + model.model-name + pserver + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/304ddca5-47cd-49ec-a2d7-1ce17baa5b70/ + + model.model-invariant-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 304ddca5-47cd-49ec-a2d7-1ce17baa5b70 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/193ec825-44ce-4416-85ac-20a6b6663575/ + + model.model-invariant-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + 193ec825-44ce-4416-85ac-20a6b6663575 + + + + + + 668464da-6d41-4599-bdbb-2576147b440e + resource + WAN Connector v0.1 + dc700a83-c507-47d9-b775-1fdfcdd5f9eb + 0.1 + Connects a customer vpn to the border elements of a vendor product + 1466698623 + + + 93a37846-b497-490e-bc97-7d130022d6db + T + unbounded + + 1466698622 + + + 200de3d5-c207-47c2-a507-8846ba1d7068 + T + unbounded + + 1466698622 + + + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/ + + model.model-invariant-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model.model-name + VL ELAN + + + model.model-type + resource + + + + + + dfd30146-74f4-49e9-bad6-019d413352ac + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/ + + model.model-invariant-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model.model-name + vLAN on a Physical Wire + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/99469866-95bb-400e-8786-f83e87696725/ + + model.model-invariant-id + 99469866-95bb-400e-8786-f83e87696725 + + + model.model-name + virtual-data-center + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/15f47352-28b7-4bbd-9828-393eaf79eeff/ + + model.model-invariant-id + 15f47352-28b7-4bbd-9828-393eaf79eeff + + + model.model-name + connector + + + model.model-type + widget + + + + + + + + product + product-value-1 + 1466698623 + + + vpn-id + vpn-id-value-1 + 1466698623 + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/460c6de2-a92b-4e3b-9ba3-538ce782b2fa/model-elements/model-element/71b825be-febf-45f7-b86a-ca0e3de19c90/model-elements/model-element/986167cb-57d3-4aad-8896-784a22c5289c/ + + model.model-invariant-id + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + + + model-element.model-element-uuid + 71b825be-febf-45f7-b86a-ca0e3de19c90 + + + model-element.model-element-uuid + 986167cb-57d3-4aad-8896-784a22c5289c + + + + + + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + service + WAN Bonding v0.1 + 0ee8c1bc-7cbd-4b0a-a1ac-e9999255abc1 + 0.1 + service-instance of the wan object + 1466698623 + + + 71b825be-febf-45f7-b86a-ca0e3de19c90 + T + unbounded + + 1466698623 + + + 986167cb-57d3-4aad-8896-784a22c5289c + T + unbounded + + 1466698623 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/ + + model.model-invariant-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model.model-name + WAN Connector v0.1 + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/46b92144-923a-4d20-b85a-3cbd847668a9/ + + model.model-invariant-id + 46b92144-923a-4d20-b85a-3cbd847668a9 + + + model.model-name + service-instance + + + model.model-type + widget + + + + + + + + b + product + 1466698623 + + + a + vpn-id + 1466698623 + + + + + generic-vnf-widget-id + widget + generic-vnf + generic-vnf-model-id + v1.0 + 1466624623 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/vMME-resource-id/model-elements/model-element/af4b6df2-65d0-4d10-b25e-02206799e1fa/ + + model.model-invariant-id + vMME-resource-id + + + model-element.model-element-uuid + af4b6df2-65d0-4d10-b25e-02206799e1fa + + + + + + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + resource + pBgf + 9038f1d7-61f2-49ef-a61d-ace468d4ab32 + v1.0 + 1466698622 + + + 0204aad0-fe13-4f75-b022-f91f245f0e9e + F + unbounded + + 1466698620 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/523f0645-8182-4c91-9d6a-2f968e923937/ + + model.model-invariant-id + 523f0645-8182-4c91-9d6a-2f968e923937 + + + model.model-name + pserver + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/ad161a89-ef32-4b2c-b86d-7fbb7a251571/ + + model.model-invariant-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + ad161a89-ef32-4b2c-b86d-7fbb7a251571 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/d0d50aad-bb97-4865-a3bb-72dbf41be50b/ + + model.model-invariant-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + d0d50aad-bb97-4865-a3bb-72dbf41be50b + + + + + + 15f47352-28b7-4bbd-9828-393eaf79eeff + widget + connector + 4f0dbd2d-b667-4d19-a563-84a764e62fa7 + v1.0 + 1466698717 + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/ + + model.model-invariant-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + + + + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + resource + vLAN on a Physical Wire + 32bee148-2cae-4f3d-a42e-22c9e4f078a2 + 1 + An l2-bridge used by a wan connector connects an ipe to a BGF + 1466698622 + + + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + T + unbounded + + 1466698622 + + + d0d50aad-bb97-4865-a3bb-72dbf41be50b + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/ + + model.model-invariant-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model.model-name + pBgf + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-invariant-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/dfd30146-74f4-49e9-bad6-019d413352ac/ + + model.model-invariant-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + dfd30146-74f4-49e9-bad6-019d413352ac + + + + + + 46b92144-923a-4d20-b85a-3cbd847668a9 + widget + service-instance + 82194af1-3c2c-485a-8f44-420e22a9eaa4 + v1.0 + 1466698646 + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/460c6de2-a92b-4e3b-9ba3-538ce782b2fa/model-elements/model-element/71b825be-febf-45f7-b86a-ca0e3de19c90/ + + model.model-invariant-id + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + + + model-element.model-element-uuid + 71b825be-febf-45f7-b86a-ca0e3de19c90 + + + + + + 3d9f4b1d-360c-4862-9623-703b150157ce + widget + p-interface + 479f5f13-51d9-4ccb-bddf-f554f1af0cfc + v1.0 + 1466698621 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/ + + model.model-invariant-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + + + + 0d23052d-8ffe-433e-a25d-da5da027bb7c + resource + vDbe + fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8 + v1.0 + 1466698622 + + + 17e48d38-e055-4158-ae6b-a170e8a647cd + F + unbounded + + 1466698618 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/22382f81-70cb-470d-8ab2-3e1b9fad10df/ + + model.model-invariant-id + 22382f81-70cb-470d-8ab2-3e1b9fad10df + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/1d73a0dc-e7f6-4b6d-9450-5dda720d1a7f/ + + model.model-invariant-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 1d73a0dc-e7f6-4b6d-9450-5dda720d1a7f + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/a1b205ea-17bb-442b-83a3-38b4e0fcb099/ + + model.model-invariant-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + + + + + + vMME-resource-id + resource + vMME + vMME-model-id + v1.0 + 1466624623 + + + af4b6df2-65d0-4d10-b25e-02206799e1fa + true + unbounded + + 1466624623 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/generic-vnf-widget-id/ + + model.model-invariant-id + generic-vnf-widget-id + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + widget + logical-link + 8742d5b3-ee98-4165-8bd5-fc012a7885b9 + v1.0 + 1466698737 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/ + + model.model-invariant-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/ + + model.model-invariant-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + + + + 0a706320-b8e7-4b18-9485-fba156ea00cf + widget + l-interface + d9131b0d-698f-4297-8699-af0a3ac7ebdc + v1.0 + 1466698767 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/model-elements/model-element/ebc25508-b2e3-4021-b684-269cfd2b63c0/ + + model.model-invariant-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + model-element.model-element-uuid + ebc25508-b2e3-4021-b684-269cfd2b63c0 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/29ac58b9-37fa-4d6a-9d2e-29f33e1e3b7a/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + 29ac58b9-37fa-4d6a-9d2e-29f33e1e3b7a + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/eda1554f-3eff-4195-9185-bcbc4f75826f/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + eda1554f-3eff-4195-9185-bcbc4f75826f + + + + + + 49032ff1-5466-4054-b64b-15395ac10c00 + widget + vlan + 2febb0bc-b776-45b3-af50-75a578a8a4c4 + v1.0 + 1466698621 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/model-elements/model-element/ebc25508-b2e3-4021-b684-269cfd2b63c0/model-elements/model-element/f610d699-11af-4c13-a918-a89344e4a1bd/ + + model.model-invariant-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + model-element.model-element-uuid + ebc25508-b2e3-4021-b684-269cfd2b63c0 + + + model-element.model-element-uuid + f610d699-11af-4c13-a918-a89344e4a1bd + + + + + + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + resource + VL ELAN + 932518e5-4260-4cc4-8038-df604a367f85 + 1 + An l2-bridge used by a wan connector connects an ipe to a SBG or DBE + 1466698622 + + + c44dbdf9-494e-49c1-b462-74e24e837b22 + T + unbounded + + 1466698621 + + + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/ + + model.model-invariant-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model.model-name + vDbe + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-invariant-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/7ccfe6b5-6566-4b44-83d3-b79f5de7a87b/ + + model.model-invariant-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance-errors.json b/src/test/resources/model-validation/instance-validator/connector-instance-errors.json new file mode 100644 index 0000000..b932344 --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance-errors.json @@ -0,0 +1,113 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "unexpected", + "metaval": "unexpected-value-1", + "resource-version": "1465990410" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance-multiple-missing-attrs.json b/src/test/resources/model-validation/instance-validator/connector-instance-multiple-missing-attrs.json new file mode 100644 index 0000000..5b92692 --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance-multiple-missing-attrs.json @@ -0,0 +1,50 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance-multiple-unexpected-attrs.json b/src/test/resources/model-validation/instance-validator/connector-instance-multiple-unexpected-attrs.json new file mode 100644 index 0000000..254433b --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance-multiple-unexpected-attrs.json @@ -0,0 +1,72 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "product", + "metaval": "product-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "city", + "metaval": "city-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "state", + "metaval": "state-value-1", + "resource-version": "1465990410" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance-no-model-id.json b/src/test/resources/model-validation/instance-validator/connector-instance-no-model-id.json new file mode 100644 index 0000000..8d2664d --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance-no-model-id.json @@ -0,0 +1,111 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "unexpected", + "metaval": "unexpected-value-1", + "resource-version": "1465990410" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance-success.json b/src/test/resources/model-validation/instance-validator/connector-instance-success.json new file mode 100644 index 0000000..629321c --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance-success.json @@ -0,0 +1,62 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "product", + "metaval": "product-value-1", + "resource-version": "1465990410" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance-unknown-model-id.json b/src/test/resources/model-validation/instance-validator/connector-instance-unknown-model-id.json new file mode 100644 index 0000000..c293606 --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance-unknown-model-id.json @@ -0,0 +1,113 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "UNKNOWN-MODEL", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "unexpected", + "metaval": "unexpected-value-1", + "resource-version": "1465990410" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-instance.json b/src/test/resources/model-validation/instance-validator/connector-instance.json new file mode 100644 index 0000000..4fb489e --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-instance.json @@ -0,0 +1,113 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v9", + "action": "CREATE", + "entity-type": "connector", + "top-entity-type": "connector", + "entity-link": "https://dummy-host.onap.org:8443/aai/v9/business/connectors/connector/c7611ebe-c324-48f1-8085-94aef0c12fd" + }, + "entity": { + "inventory-response-item": [ + { + "connector": { + "resource-instance-id": "c7611ebe-c324-48f1-8085-94aef0c12fd", + "resource-version": "1467975776", + "persona-model-id": "connector-widget-id", + "persona-model-version": "v1.0", + "widget-model-id": "example-widget-model-id-val-69486", + "widget-model-version": "v1.0" + }, + "extra-properties": { + "metadatum": [ + { + "metaname": "vpn-id", + "metaval": "vpn-id-value-1", + "resource-version": "1465990410" + }, + { + "metaname": "product", + "metaval": "product-value-1", + "resource-version": "1465990410" + } + ] + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "virtual-data-center": { + "vdc-id": "vdc-01", + "vdc-name": "example-vdc-name-val-10107", + "resource-version": "1467975781" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "logical-link": { + "link-name": "example-link-name-val-23759", + "link-type": "example-link-type-val-23759", + "speed-value": "example-speed-value-val-23759", + "speed-units": "example-speed-units-val-23759", + "ip-version": "example-ip-version-val-23759", + "routing-protocol": "example-routing-protocol-val-23759", + "resource-version": "1467975786", + "persona-model-id": "example-persona-model-id-val-23759", + "persona-model-version": "example-persona-model-version-val-23759", + "widget-model-id": "example-widget-model-id-val-23759", + "widget-model-version": "example-widget-model-version-val-23759" + }, + "extra-properties": { + + }, + "inventory-response-items": { + "inventory-response-item": [ + { + "pserver": { + "hostname": "example-hostname-val-79914", + "ptnii-equip-name": "example-ptnii-equip-name-val-79914", + "number-of-cpus": 79914, + "disk-in-gigabytes": 79914, + "ram-in-megabytes": 79914, + "equip-type": "example-equip-type-val-79914", + "equip-vendor": "example-equip-vendor-val-79914", + "equip-model": "example-equip-model-val-79914", + "fqdn": "example-fqdn-val-79914", + "pserver-selflink": "example-pserver-selflink-val-79914", + "ipv4-oam-address": "example-ipv4-oam-address-val-79914", + "serial-number": "example-serial-number-val-79914", + "pserver-id": "example-pserver-id-val-79914", + "internet-topology": "example-internet-topology-val-79914", + "in-maint": true, + "resource-version": "1467994603", + "pserver-name2": "example-pserver-name2-val-79914", + "purpose": "example-purpose-val-79914" + }, + "extra-properties": { + + }, + "inventory-response-items": { + + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/connector-widget-id.xml b/src/test/resources/model-validation/instance-validator/connector-widget-id.xml new file mode 100644 index 0000000..924ce67 --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/connector-widget-id.xml @@ -0,0 +1,79 @@ + + + connector-widget-id + widget + connector + connector-model-id + v1.0 + 1466417894 + + + 8c0fd413-0d2b-491b-ad14-10c434c359bb + T + unbounded + + 1466417894 + + + + model + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/models/model/virtual-data-center-widget-id/ + + model.model-name-version-id + virtual-data-center-widget-id + + + model.model-name + virtual-data-center + + + model.model-type + widget + + + + + + + + vpn-id + a + 1466417844 + + + product + b + 1466417844 + + + + + model-element + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/model-elements/model-element/54629607-160a-4dcf-8c5c-15b8a3756f9a/ + + model-element.model-element-uuid + 54629607-160a-4dcf-8c5c-15b8a3756f9a + + + model.model-name-version-id + wan-connector-service-id + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/instance-validator/model-instance-mapping.json_conf b/src/test/resources/model-validation/instance-validator/model-instance-mapping.json_conf new file mode 100644 index 0000000..12d39ea --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/model-instance-mapping.json_conf @@ -0,0 +1,28 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + }, + { + "mappingType": "ATTRIBUTE", + "model": { + "value": "metadata/metadatum/metaname" + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "value": "$..extra-properties.metadatum[*].metaname" + } + } +] diff --git a/src/test/resources/model-validation/instance-validator/test-validation-service-beans.xml b/src/test/resources/model-validation/instance-validator/test-validation-service-beans.xml new file mode 100644 index 0000000..82fe160 --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/test-validation-service-beans.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/model-validation/instance-validator/validation-service.properties b/src/test/resources/model-validation/instance-validator/validation-service.properties new file mode 100644 index 0000000..4e1b264 --- /dev/null +++ b/src/test/resources/model-validation/instance-validator/validation-service.properties @@ -0,0 +1,29 @@ +# ============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===================================================== + +topic.publish.enable=true +topic.publish.retries=3 +topic.consume.enable=true +topic.consume.polling.interval.seconds=3 + +event.domain=devINT1 +event.action.exclude=DELETE +event.type.rule=AAI-EVENT,AAI-DATA-EXPORT-API,GIZMO-EVENT +event.type.model=AAI-DATA-EXPORT-NQ +event.type.end=END-EVENT + +model.cache.expirySeconds=3 +aai.oxm.version=12 diff --git a/src/test/resources/model-validation/model-parser/all-models.xml b/src/test/resources/model-validation/model-parser/all-models.xml new file mode 100644 index 0000000..a295a5f --- /dev/null +++ b/src/test/resources/model-validation/model-parser/all-models.xml @@ -0,0 +1,1370 @@ + + + + + 22382f81-70cb-470d-8ab2-3e1b9fad10df + widget + generic-vnf + 6dcdbbc8-23b6-42c3-ac9f-2c0a3fe8cfba + v1.0 + 1466698747 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/43095b8a-8e9c-4a76-8490-6120140f6804/model-elements/model-element/41e6d6e5-aa69-4d33-b9f2-975bf418d1e3/ + + model.model-name-version-id + 43095b8a-8e9c-4a76-8490-6120140f6804 + + + model-element.model-element-uuid + 41e6d6e5-aa69-4d33-b9f2-975bf418d1e3 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/model-elements/model-element/17e48d38-e055-4158-ae6b-a170e8a647cd/ + + model.model-name-version-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model-element.model-element-uuid + 17e48d38-e055-4158-ae6b-a170e8a647cd + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/a97e8ab3-addd-40ee-9d29-3de505a56374/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + a97e8ab3-addd-40ee-9d29-3de505a56374 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/759ef1e4-3eca-4d55-8a9c-a8be31179f47/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + 759ef1e4-3eca-4d55-8a9c-a8be31179f47 + + + + + + connector-widget-id + widget + connector + connector-model-id + v2.0 + 1466689944 + + + 43095b8a-8e9c-4a76-8490-6120140f6804 + resource + vSbg + b23fb31b-4c21-45f7-9d92-96ed70e63df1 + v1.0 + 1466698622 + + + 41e6d6e5-aa69-4d33-b9f2-975bf418d1e3 + F + unbounded + + 1466698619 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/22382f81-70cb-470d-8ab2-3e1b9fad10df/ + + model.model-name-version-id + 22382f81-70cb-470d-8ab2-3e1b9fad10df + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/6cf69470-ccbf-4034-a37f-f714c135f05c/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 6cf69470-ccbf-4034-a37f-f714c135f05c + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/059db56c-6d72-4023-9fc3-0db29534ddff/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + 059db56c-6d72-4023-9fc3-0db29534ddff + + + + + + 523f0645-8182-4c91-9d6a-2f968e923937 + widget + pserver + c277c968-7e2b-4a88-9094-2b8a55dfb9f4 + v1.0 + 1466698757 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/model-elements/model-element/0204aad0-fe13-4f75-b022-f91f245f0e9e/ + + model.model-name-version-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model-element.model-element-uuid + 0204aad0-fe13-4f75-b022-f91f245f0e9e + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/a79552d6-20dc-4b9e-b4d4-f29a8a2a8447/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + a79552d6-20dc-4b9e-b4d4-f29a8a2a8447 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/41294247-9f7e-4abf-becd-3bbca6945c09/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + 41294247-9f7e-4abf-becd-3bbca6945c09 + + + + + + 99469866-95bb-400e-8786-f83e87696725 + widget + virtual-data-center + 3c70c43f-99ed-4476-82f4-92a30616e512 + v1.0 + 1466698727 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + + + + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + resource + ipe + e8f973a5-418a-44f2-9784-159e3e37d708 + v1.0 + 1466698622 + + + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + F + unbounded + + 1466698621 + + + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + F + unbounded + + 1466698621 + + + ebc25508-b2e3-4021-b684-269cfd2b63c0 + T + unbounded + + 1466698621 + + + f610d699-11af-4c13-a918-a89344e4a1bd + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/49032ff1-5466-4054-b64b-15395ac10c00/ + + model.model-name-version-id + 49032ff1-5466-4054-b64b-15395ac10c00 + + + model.model-name + vlan + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0a706320-b8e7-4b18-9485-fba156ea00cf/ + + model.model-name-version-id + 0a706320-b8e7-4b18-9485-fba156ea00cf + + + model.model-name + l-interface + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/3d9f4b1d-360c-4862-9623-703b150157ce/ + + model.model-name-version-id + 3d9f4b1d-360c-4862-9623-703b150157ce + + + model.model-name + p-interface + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/523f0645-8182-4c91-9d6a-2f968e923937/ + + model.model-name-version-id + 523f0645-8182-4c91-9d6a-2f968e923937 + + + model.model-name + pserver + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/304ddca5-47cd-49ec-a2d7-1ce17baa5b70/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 304ddca5-47cd-49ec-a2d7-1ce17baa5b70 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/193ec825-44ce-4416-85ac-20a6b6663575/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + 193ec825-44ce-4416-85ac-20a6b6663575 + + + + + + 668464da-6d41-4599-bdbb-2576147b440e + resource + WAN Connector v0.1 + dc700a83-c507-47d9-b775-1fdfcdd5f9eb + 0.1 + Connects a customer vpn to the border elements of a vendor product + 1466698623 + + + 93a37846-b497-490e-bc97-7d130022d6db + T + unbounded + + 1466698622 + + + 200de3d5-c207-47c2-a507-8846ba1d7068 + T + unbounded + + 1466698622 + + + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model.model-name + VL ELAN + + + model.model-type + resource + + + + + + dfd30146-74f4-49e9-bad6-019d413352ac + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model.model-name + vLAN on a Physical Wire + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/99469866-95bb-400e-8786-f83e87696725/ + + model.model-name-version-id + 99469866-95bb-400e-8786-f83e87696725 + + + model.model-name + virtual-data-center + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/15f47352-28b7-4bbd-9828-393eaf79eeff/ + + model.model-name-version-id + 15f47352-28b7-4bbd-9828-393eaf79eeff + + + model.model-name + connector + + + model.model-type + widget + + + + + + + + product + product-value-1 + 1466698623 + + + vpn-id + vpn-id-value-1 + 1466698623 + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/460c6de2-a92b-4e3b-9ba3-538ce782b2fa/model-elements/model-element/71b825be-febf-45f7-b86a-ca0e3de19c90/model-elements/model-element/986167cb-57d3-4aad-8896-784a22c5289c/ + + model.model-name-version-id + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + + + model-element.model-element-uuid + 71b825be-febf-45f7-b86a-ca0e3de19c90 + + + model-element.model-element-uuid + 986167cb-57d3-4aad-8896-784a22c5289c + + + + + + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + service + WAN Bonding v0.1 + 0ee8c1bc-7cbd-4b0a-a1ac-e9999255abc1 + 0.1 + service-instance of the wan object + 1466698623 + + + 71b825be-febf-45f7-b86a-ca0e3de19c90 + T + unbounded + + 1466698623 + + + 986167cb-57d3-4aad-8896-784a22c5289c + T + unbounded + + 1466698623 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model.model-name + NetBond WAN Connector v0.1 + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/46b92144-923a-4d20-b85a-3cbd847668a9/ + + model.model-name-version-id + 46b92144-923a-4d20-b85a-3cbd847668a9 + + + model.model-name + service-instance + + + model.model-type + widget + + + + + + + + b + product + 1466698623 + + + a + vpn-id + 1466698623 + + + + + generic-vnf-widget-id + widget + generic-vnf + generic-vnf-model-id + v1.0 + 1466624623 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/vMME-resource-id/model-elements/model-element/af4b6df2-65d0-4d10-b25e-02206799e1fa/ + + model.model-name-version-id + vMME-resource-id + + + model-element.model-element-uuid + af4b6df2-65d0-4d10-b25e-02206799e1fa + + + + + + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + resource + pBgf + 9038f1d7-61f2-49ef-a61d-ace468d4ab32 + v1.0 + 1466698622 + + + 0204aad0-fe13-4f75-b022-f91f245f0e9e + F + unbounded + + 1466698620 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/523f0645-8182-4c91-9d6a-2f968e923937/ + + model.model-name-version-id + 523f0645-8182-4c91-9d6a-2f968e923937 + + + model.model-name + pserver + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/ad161a89-ef32-4b2c-b86d-7fbb7a251571/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + ad161a89-ef32-4b2c-b86d-7fbb7a251571 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/d0d50aad-bb97-4865-a3bb-72dbf41be50b/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + d0d50aad-bb97-4865-a3bb-72dbf41be50b + + + + + + 15f47352-28b7-4bbd-9828-393eaf79eeff + widget + connector + 4f0dbd2d-b667-4d19-a563-84a764e62fa7 + v1.0 + 1466698717 + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + + + + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + resource + vLAN on a Physical Wire + 32bee148-2cae-4f3d-a42e-22c9e4f078a2 + 1 + An l2-bridge used by a wan connector connects an ipe to a BGF + 1466698622 + + + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + T + unbounded + + 1466698622 + + + d0d50aad-bb97-4865-a3bb-72dbf41be50b + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/ + + model.model-name-version-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model.model-name + pBgf + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-name-version-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/dfd30146-74f4-49e9-bad6-019d413352ac/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + dfd30146-74f4-49e9-bad6-019d413352ac + + + + + + 46b92144-923a-4d20-b85a-3cbd847668a9 + widget + service-instance + 82194af1-3c2c-485a-8f44-420e22a9eaa4 + v1.0 + 1466698646 + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/460c6de2-a92b-4e3b-9ba3-538ce782b2fa/model-elements/model-element/71b825be-febf-45f7-b86a-ca0e3de19c90/ + + model.model-name-version-id + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + + + model-element.model-element-uuid + 71b825be-febf-45f7-b86a-ca0e3de19c90 + + + + + + 3d9f4b1d-360c-4862-9623-703b150157ce + widget + p-interface + 479f5f13-51d9-4ccb-bddf-f554f1af0cfc + v1.0 + 1466698621 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + + + + 0d23052d-8ffe-433e-a25d-da5da027bb7c + resource + vDbe + fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8 + v1.0 + 1466698622 + + + 17e48d38-e055-4158-ae6b-a170e8a647cd + F + unbounded + + 1466698618 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/22382f81-70cb-470d-8ab2-3e1b9fad10df/ + + model.model-name-version-id + 22382f81-70cb-470d-8ab2-3e1b9fad10df + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/1d73a0dc-e7f6-4b6d-9450-5dda720d1a7f/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 1d73a0dc-e7f6-4b6d-9450-5dda720d1a7f + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/a1b205ea-17bb-442b-83a3-38b4e0fcb099/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + + + + + + vMME-resource-id + resource + vMME + vMME-model-id + v1.0 + 1466624623 + + + af4b6df2-65d0-4d10-b25e-02206799e1fa + true + unbounded + + 1466624623 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/generic-vnf-widget-id/ + + model.model-name-version-id + generic-vnf-widget-id + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + widget + logical-link + 8742d5b3-ee98-4165-8bd5-fc012a7885b9 + v1.0 + 1466698737 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + + + + 0a706320-b8e7-4b18-9485-fba156ea00cf + widget + l-interface + d9131b0d-698f-4297-8699-af0a3ac7ebdc + v1.0 + 1466698767 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/model-elements/model-element/ebc25508-b2e3-4021-b684-269cfd2b63c0/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + model-element.model-element-uuid + ebc25508-b2e3-4021-b684-269cfd2b63c0 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/29ac58b9-37fa-4d6a-9d2e-29f33e1e3b7a/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + 29ac58b9-37fa-4d6a-9d2e-29f33e1e3b7a + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/eda1554f-3eff-4195-9185-bcbc4f75826f/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + eda1554f-3eff-4195-9185-bcbc4f75826f + + + + + + 49032ff1-5466-4054-b64b-15395ac10c00 + widget + vlan + 2febb0bc-b776-45b3-af50-75a578a8a4c4 + v1.0 + 1466698621 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/model-elements/model-element/ebc25508-b2e3-4021-b684-269cfd2b63c0/model-elements/model-element/f610d699-11af-4c13-a918-a89344e4a1bd/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + model-element.model-element-uuid + ebc25508-b2e3-4021-b684-269cfd2b63c0 + + + model-element.model-element-uuid + f610d699-11af-4c13-a918-a89344e4a1bd + + + + + + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + resource + VL ELAN + 932518e5-4260-4cc4-8038-df604a367f85 + 1 + An l2-bridge used by a wan connector connects an ipe to a SBG or DBE + 1466698622 + + + c44dbdf9-494e-49c1-b462-74e24e837b22 + T + unbounded + + 1466698621 + + + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/ + + model.model-name-version-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model.model-name + vDbe + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-name-version-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/7ccfe6b5-6566-4b44-83d3-b79f5de7a87b/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/aai-environment.properties b/src/test/resources/model-validation/model-reader/aai-environment.properties new file mode 100644 index 0000000..3450105 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/aai-environment.properties @@ -0,0 +1,30 @@ +# ============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===================================================== + +httpProtocol=file +baseModelURI=src/test/resources/model-validation/model-reader/all-models.xml + +# the following fields are autowired but will never be used +host= +port= +trustStorePath= +keyStorePath= +keyStorePassword.x= +keyManagerFactoryAlgorithm= +keyStoreType= +securityProtocol= +connectionTimeout= +readTimeout= diff --git a/src/test/resources/model-validation/model-reader/all-models.xml b/src/test/resources/model-validation/model-reader/all-models.xml new file mode 100644 index 0000000..afc5dda --- /dev/null +++ b/src/test/resources/model-validation/model-reader/all-models.xml @@ -0,0 +1,1370 @@ + + + + + 22382f81-70cb-470d-8ab2-3e1b9fad10df + widget + generic-vnf + 6dcdbbc8-23b6-42c3-ac9f-2c0a3fe8cfba + v1.0 + 1466698747 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/43095b8a-8e9c-4a76-8490-6120140f6804/model-elements/model-element/41e6d6e5-aa69-4d33-b9f2-975bf418d1e3/ + + model.model-name-version-id + 43095b8a-8e9c-4a76-8490-6120140f6804 + + + model-element.model-element-uuid + 41e6d6e5-aa69-4d33-b9f2-975bf418d1e3 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/model-elements/model-element/17e48d38-e055-4158-ae6b-a170e8a647cd/ + + model.model-name-version-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model-element.model-element-uuid + 17e48d38-e055-4158-ae6b-a170e8a647cd + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/a97e8ab3-addd-40ee-9d29-3de505a56374/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + a97e8ab3-addd-40ee-9d29-3de505a56374 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/759ef1e4-3eca-4d55-8a9c-a8be31179f47/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + 759ef1e4-3eca-4d55-8a9c-a8be31179f47 + + + + + + connector-widget-id + widget + connector + connector-model-id + v2.0 + 1466689944 + + + 43095b8a-8e9c-4a76-8490-6120140f6804 + resource + vSbg + b23fb31b-4c21-45f7-9d92-96ed70e63df1 + v1.0 + 1466698622 + + + 41e6d6e5-aa69-4d33-b9f2-975bf418d1e3 + F + unbounded + + 1466698619 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/22382f81-70cb-470d-8ab2-3e1b9fad10df/ + + model.model-name-version-id + 22382f81-70cb-470d-8ab2-3e1b9fad10df + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/6cf69470-ccbf-4034-a37f-f714c135f05c/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 6cf69470-ccbf-4034-a37f-f714c135f05c + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/059db56c-6d72-4023-9fc3-0db29534ddff/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + 059db56c-6d72-4023-9fc3-0db29534ddff + + + + + + 523f0645-8182-4c91-9d6a-2f968e923937 + widget + pserver + c277c968-7e2b-4a88-9094-2b8a55dfb9f4 + v1.0 + 1466698757 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/model-elements/model-element/0204aad0-fe13-4f75-b022-f91f245f0e9e/ + + model.model-name-version-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model-element.model-element-uuid + 0204aad0-fe13-4f75-b022-f91f245f0e9e + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/a79552d6-20dc-4b9e-b4d4-f29a8a2a8447/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + a79552d6-20dc-4b9e-b4d4-f29a8a2a8447 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/41294247-9f7e-4abf-becd-3bbca6945c09/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + 41294247-9f7e-4abf-becd-3bbca6945c09 + + + + + + 99469866-95bb-400e-8786-f83e87696725 + widget + virtual-data-center + 3c70c43f-99ed-4476-82f4-92a30616e512 + v1.0 + 1466698727 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + + + + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + resource + ipe + e8f973a5-418a-44f2-9784-159e3e37d708 + v1.0 + 1466698622 + + + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + F + unbounded + + 1466698621 + + + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + F + unbounded + + 1466698621 + + + ebc25508-b2e3-4021-b684-269cfd2b63c0 + T + unbounded + + 1466698621 + + + f610d699-11af-4c13-a918-a89344e4a1bd + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/49032ff1-5466-4054-b64b-15395ac10c00/ + + model.model-name-version-id + 49032ff1-5466-4054-b64b-15395ac10c00 + + + model.model-name + vlan + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0a706320-b8e7-4b18-9485-fba156ea00cf/ + + model.model-name-version-id + 0a706320-b8e7-4b18-9485-fba156ea00cf + + + model.model-name + l-interface + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/3d9f4b1d-360c-4862-9623-703b150157ce/ + + model.model-name-version-id + 3d9f4b1d-360c-4862-9623-703b150157ce + + + model.model-name + p-interface + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/523f0645-8182-4c91-9d6a-2f968e923937/ + + model.model-name-version-id + 523f0645-8182-4c91-9d6a-2f968e923937 + + + model.model-name + pserver + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/304ddca5-47cd-49ec-a2d7-1ce17baa5b70/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 304ddca5-47cd-49ec-a2d7-1ce17baa5b70 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/193ec825-44ce-4416-85ac-20a6b6663575/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + 193ec825-44ce-4416-85ac-20a6b6663575 + + + + + + 668464da-6d41-4599-bdbb-2576147b440e + resource + WAN Connector v0.1 + dc700a83-c507-47d9-b775-1fdfcdd5f9eb + 0.1 + Connects a customer vpn to the border elements of a vendor product + 1466698623 + + + 93a37846-b497-490e-bc97-7d130022d6db + T + unbounded + + 1466698622 + + + 200de3d5-c207-47c2-a507-8846ba1d7068 + T + unbounded + + 1466698622 + + + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model.model-name + VL ELAN + + + model.model-type + resource + + + + + + dfd30146-74f4-49e9-bad6-019d413352ac + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model.model-name + vLAN on a Physical Wire + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/99469866-95bb-400e-8786-f83e87696725/ + + model.model-name-version-id + 99469866-95bb-400e-8786-f83e87696725 + + + model.model-name + virtual-data-center + + + model.model-type + widget + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/15f47352-28b7-4bbd-9828-393eaf79eeff/ + + model.model-name-version-id + 15f47352-28b7-4bbd-9828-393eaf79eeff + + + model.model-name + connector + + + model.model-type + widget + + + + + + + + product + product-value-1 + 1466698623 + + + vpn-id + vpn-id-value-1 + 1466698623 + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/460c6de2-a92b-4e3b-9ba3-538ce782b2fa/model-elements/model-element/71b825be-febf-45f7-b86a-ca0e3de19c90/model-elements/model-element/986167cb-57d3-4aad-8896-784a22c5289c/ + + model.model-name-version-id + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + + + model-element.model-element-uuid + 71b825be-febf-45f7-b86a-ca0e3de19c90 + + + model-element.model-element-uuid + 986167cb-57d3-4aad-8896-784a22c5289c + + + + + + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + service + WAN Bonding v0.1 + 0ee8c1bc-7cbd-4b0a-a1ac-e9999255abc1 + 0.1 + service-instance of the wan object + 1466698623 + + + 71b825be-febf-45f7-b86a-ca0e3de19c90 + T + unbounded + + 1466698623 + + + 986167cb-57d3-4aad-8896-784a22c5289c + T + unbounded + + 1466698623 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model.model-name + WAN Connector v0.1 + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/46b92144-923a-4d20-b85a-3cbd847668a9/ + + model.model-name-version-id + 46b92144-923a-4d20-b85a-3cbd847668a9 + + + model.model-name + service-instance + + + model.model-type + widget + + + + + + + + b + product + 1466698623 + + + a + vpn-id + 1466698623 + + + + + generic-vnf-widget-id + widget + generic-vnf + generic-vnf-model-id + v1.0 + 1466624623 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/vMME-resource-id/model-elements/model-element/af4b6df2-65d0-4d10-b25e-02206799e1fa/ + + model.model-name-version-id + vMME-resource-id + + + model-element.model-element-uuid + af4b6df2-65d0-4d10-b25e-02206799e1fa + + + + + + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + resource + pBgf + 9038f1d7-61f2-49ef-a61d-ace468d4ab32 + v1.0 + 1466698622 + + + 0204aad0-fe13-4f75-b022-f91f245f0e9e + F + unbounded + + 1466698620 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/523f0645-8182-4c91-9d6a-2f968e923937/ + + model.model-name-version-id + 523f0645-8182-4c91-9d6a-2f968e923937 + + + model.model-name + pserver + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/ad161a89-ef32-4b2c-b86d-7fbb7a251571/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + ad161a89-ef32-4b2c-b86d-7fbb7a251571 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/d0d50aad-bb97-4865-a3bb-72dbf41be50b/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + d0d50aad-bb97-4865-a3bb-72dbf41be50b + + + + + + 15f47352-28b7-4bbd-9828-393eaf79eeff + widget + connector + 4f0dbd2d-b667-4d19-a563-84a764e62fa7 + v1.0 + 1466698717 + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + + + + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + resource + vLAN on a Physical Wire + 32bee148-2cae-4f3d-a42e-22c9e4f078a2 + 1 + An l2-bridge used by a wan connector connects an ipe to a BGF + 1466698622 + + + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + T + unbounded + + 1466698622 + + + d0d50aad-bb97-4865-a3bb-72dbf41be50b + T + unbounded + + 1466698622 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/ + + model.model-name-version-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model.model-name + pBgf + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-name-version-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/dfd30146-74f4-49e9-bad6-019d413352ac/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + dfd30146-74f4-49e9-bad6-019d413352ac + + + + + + 46b92144-923a-4d20-b85a-3cbd847668a9 + widget + service-instance + 82194af1-3c2c-485a-8f44-420e22a9eaa4 + v1.0 + 1466698646 + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/460c6de2-a92b-4e3b-9ba3-538ce782b2fa/model-elements/model-element/71b825be-febf-45f7-b86a-ca0e3de19c90/ + + model.model-name-version-id + 460c6de2-a92b-4e3b-9ba3-538ce782b2fa + + + model-element.model-element-uuid + 71b825be-febf-45f7-b86a-ca0e3de19c90 + + + + + + 3d9f4b1d-360c-4862-9623-703b150157ce + widget + p-interface + 479f5f13-51d9-4ccb-bddf-f554f1af0cfc + v1.0 + 1466698621 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + + + + 0d23052d-8ffe-433e-a25d-da5da027bb7c + resource + vDbe + fe8aac07-ce6c-4f9f-aa0d-b561c77da9e8 + v1.0 + 1466698622 + + + 17e48d38-e055-4158-ae6b-a170e8a647cd + F + unbounded + + 1466698618 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/22382f81-70cb-470d-8ab2-3e1b9fad10df/ + + model.model-name-version-id + 22382f81-70cb-470d-8ab2-3e1b9fad10df + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/model-elements/model-element/1d73a0dc-e7f6-4b6d-9450-5dda720d1a7f/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + model-element.model-element-uuid + 1d73a0dc-e7f6-4b6d-9450-5dda720d1a7f + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/model-elements/model-element/a1b205ea-17bb-442b-83a3-38b4e0fcb099/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + model-element.model-element-uuid + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + + + + + + vMME-resource-id + resource + vMME + vMME-model-id + v1.0 + 1466624623 + + + af4b6df2-65d0-4d10-b25e-02206799e1fa + true + unbounded + + 1466624623 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/generic-vnf-widget-id/ + + model.model-name-version-id + generic-vnf-widget-id + + + model.model-name + generic-vnf + + + model.model-type + widget + + + + + + + + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + widget + logical-link + 8742d5b3-ee98-4165-8bd5-fc012a7885b9 + v1.0 + 1466698737 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161/model-elements/model-element/c44dbdf9-494e-49c1-b462-74e24e837b22/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model-element.model-element-uuid + c44dbdf9-494e-49c1-b462-74e24e837b22 + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/682ae094-0aaa-4381-a55d-bc633c40e4c0/model-elements/model-element/9ce59457-81b7-4f0e-8b72-a044a1be4bdf/ + + model.model-name-version-id + 682ae094-0aaa-4381-a55d-bc633c40e4c0 + + + model-element.model-element-uuid + 9ce59457-81b7-4f0e-8b72-a044a1be4bdf + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + + + + 0a706320-b8e7-4b18-9485-fba156ea00cf + widget + l-interface + d9131b0d-698f-4297-8699-af0a3ac7ebdc + v1.0 + 1466698767 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/model-elements/model-element/ebc25508-b2e3-4021-b684-269cfd2b63c0/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + model-element.model-element-uuid + ebc25508-b2e3-4021-b684-269cfd2b63c0 + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/be890aae-cf27-4b6a-aeae-e6fa4b5ee17f/named-query-elements/named-query-element/1ac142fb-2caf-4f59-975e-8ad7631c301e/named-query-elements/named-query-element/311f1cad-b41c-4833-8b9f-0d54d85f9009/named-query-elements/named-query-element/dc38d8ae-0993-4426-af79-a7aff4a4b4f3/named-query-elements/named-query-element/29ac58b9-37fa-4d6a-9d2e-29f33e1e3b7a/ + + named-query.named-query-uuid + be890aae-cf27-4b6a-aeae-e6fa4b5ee17f + + + named-query-element.named-query-element-uuid + 1ac142fb-2caf-4f59-975e-8ad7631c301e + + + named-query-element.named-query-element-uuid + 311f1cad-b41c-4833-8b9f-0d54d85f9009 + + + named-query-element.named-query-element-uuid + dc38d8ae-0993-4426-af79-a7aff4a4b4f3 + + + named-query-element.named-query-element-uuid + 29ac58b9-37fa-4d6a-9d2e-29f33e1e3b7a + + + + named-query-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/named-queries/named-query/55f38763-9820-4fce-82a1-e0fa3c38ed24/named-query-elements/named-query-element/dc799ed9-45a5-4323-a2dc-bd1ec3242499/named-query-elements/named-query-element/97ae5271-9ad9-4815-804d-89af014d5b07/named-query-elements/named-query-element/7d189446-54de-49db-b786-8e946f0aece5/named-query-elements/named-query-element/920399b7-21c1-4e81-8fb9-a3b2283a72ba/named-query-elements/named-query-element/eda1554f-3eff-4195-9185-bcbc4f75826f/ + + named-query.named-query-uuid + 55f38763-9820-4fce-82a1-e0fa3c38ed24 + + + named-query-element.named-query-element-uuid + dc799ed9-45a5-4323-a2dc-bd1ec3242499 + + + named-query-element.named-query-element-uuid + 97ae5271-9ad9-4815-804d-89af014d5b07 + + + named-query-element.named-query-element-uuid + 7d189446-54de-49db-b786-8e946f0aece5 + + + named-query-element.named-query-element-uuid + 920399b7-21c1-4e81-8fb9-a3b2283a72ba + + + named-query-element.named-query-element-uuid + eda1554f-3eff-4195-9185-bcbc4f75826f + + + + + + 49032ff1-5466-4054-b64b-15395ac10c00 + widget + vlan + 2febb0bc-b776-45b3-af50-75a578a8a4c4 + v1.0 + 1466698621 + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/model-elements/model-element/76624fe1-0f28-4e17-ae9f-f0e2bba6d13d/model-elements/model-element/b7b48ba6-427b-4d23-ada7-a67ac9e0f84f/model-elements/model-element/ebc25508-b2e3-4021-b684-269cfd2b63c0/model-elements/model-element/f610d699-11af-4c13-a918-a89344e4a1bd/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model-element.model-element-uuid + 76624fe1-0f28-4e17-ae9f-f0e2bba6d13d + + + model-element.model-element-uuid + b7b48ba6-427b-4d23-ada7-a67ac9e0f84f + + + model-element.model-element-uuid + ebc25508-b2e3-4021-b684-269cfd2b63c0 + + + model-element.model-element-uuid + f610d699-11af-4c13-a918-a89344e4a1bd + + + + + + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + resource + VL ELAN + 932518e5-4260-4cc4-8038-df604a367f85 + 1 + An l2-bridge used by a wan connector connects an ipe to a SBG or DBE + 1466698622 + + + c44dbdf9-494e-49c1-b462-74e24e837b22 + T + unbounded + + 1466698621 + + + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/ + + model.model-name-version-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model.model-name + vDbe + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-name-version-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/7ccfe6b5-6566-4b44-83d3-b79f5de7a87b/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/connector-widget-id-no-children-1.xml b/src/test/resources/model-validation/model-reader/connector-widget-id-no-children-1.xml new file mode 100644 index 0000000..e60416c --- /dev/null +++ b/src/test/resources/model-validation/model-reader/connector-widget-id-no-children-1.xml @@ -0,0 +1,51 @@ + + + connector-widget-id + widget + connector + connector-model-id + v1.0 + 1466417894 + + + vpn-id + a + 1466417844 + + + product + b + 1466417844 + + + + + model-element + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/model-elements/model-element/54629607-160a-4dcf-8c5c-15b8a3756f9a/ + + model-element.model-element-uuid + 54629607-160a-4dcf-8c5c-15b8a3756f9a + + + model.model-name-version-id + wan-connector-service-id + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/connector-widget-id-no-children-2.xml b/src/test/resources/model-validation/model-reader/connector-widget-id-no-children-2.xml new file mode 100644 index 0000000..924ce67 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/connector-widget-id-no-children-2.xml @@ -0,0 +1,79 @@ + + + connector-widget-id + widget + connector + connector-model-id + v1.0 + 1466417894 + + + 8c0fd413-0d2b-491b-ad14-10c434c359bb + T + unbounded + + 1466417894 + + + + model + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/models/model/virtual-data-center-widget-id/ + + model.model-name-version-id + virtual-data-center-widget-id + + + model.model-name + virtual-data-center + + + model.model-type + widget + + + + + + + + vpn-id + a + 1466417844 + + + product + b + 1466417844 + + + + + model-element + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/model-elements/model-element/54629607-160a-4dcf-8c5c-15b8a3756f9a/ + + model-element.model-element-uuid + 54629607-160a-4dcf-8c5c-15b8a3756f9a + + + model.model-name-version-id + wan-connector-service-id + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/connector-widget-id.xml b/src/test/resources/model-validation/model-reader/connector-widget-id.xml new file mode 100644 index 0000000..bd2edfc --- /dev/null +++ b/src/test/resources/model-validation/model-reader/connector-widget-id.xml @@ -0,0 +1,107 @@ + + + connector-widget-id + widget + connector + connector-model-id + v1.0 + 1466417894 + + + 8c0fd413-0d2b-491b-ad14-10c434c359bb + T + unbounded + + 1466417894 + + + 6d2dbb11-d509-4e03-8ed9-05bf4aad99d2 + T + unbounded + + 1466417894 + + + + model + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/models/model/l2-bridge-for-wan-connector-resource-id/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model.model-name + l2-bridge-for-wan-connector + + + model.model-type + resource + + + + + + + + + model + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/models/model/virtual-data-center-widget-id/ + + model.model-name-version-id + virtual-data-center-widget-id + + + model.model-name + virtual-data-center + + + model.model-type + widget + + + + + + + + vpn-id + a + 1466417844 + + + product + b + 1466417844 + + + + + model-element + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/model-elements/model-element/54629607-160a-4dcf-8c5c-15b8a3756f9a/ + + model-element.model-element-uuid + 54629607-160a-4dcf-8c5c-15b8a3756f9a + + + model.model-name-version-id + wan-connector-service-id + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/logical-link-widget-id.xml b/src/test/resources/model-validation/model-reader/logical-link-widget-id.xml new file mode 100644 index 0000000..39c08a3 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/logical-link-widget-id.xml @@ -0,0 +1,181 @@ + + + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + resource + VL ELAN + 932518e5-4260-4cc4-8038-df604a367f85 + 1 + An l2-bridge used by a wan connector connects an ipe to a SBG or DBE + 1466698622 + + + c44dbdf9-494e-49c1-b462-74e24e837b22 + T + unbounded + + 1466698621 + + + ad161a89-ef32-4b2c-b86d-7fbb7a251571 + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/6614ffae-6e64-4c78-9dea-4d5c0f057ea2/ + + model.model-name-version-id + 6614ffae-6e64-4c78-9dea-4d5c0f057ea2 + + + model.model-name + pBgf + + + model.model-type + resource + + + + + + a1b205ea-17bb-442b-83a3-38b4e0fcb099 + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/0d23052d-8ffe-433e-a25d-da5da027bb7c/ + + model.model-name-version-id + 0d23052d-8ffe-433e-a25d-da5da027bb7c + + + model.model-name + vDbe + + + model.model-type + resource + + + + + + 193ec825-44ce-4416-85ac-20a6b6663575 + T + unbounded + + pserver|lag-interface|l-interface + pserver|p-interface|l-interface + vlan|l-interface + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/5ed1c299-4d31-4531-ae43-4bb56f8f10c8/ + + model.model-name-version-id + 5ed1c299-4d31-4531-ae43-4bb56f8f10c8 + + + model.model-name + ipe + + + model.model-type + resource + + + + + + 059db56c-6d72-4023-9fc3-0db29534ddff + T + unbounded + + 1466698621 + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/43095b8a-8e9c-4a76-8490-6120140f6804/ + + model.model-name-version-id + 43095b8a-8e9c-4a76-8490-6120140f6804 + + + model.model-name + vSbg + + + model.model-type + resource + + + + + + + + model + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/fa01ef50-bbb5-49d4-91d1-ebbda9816e01/ + + model.model-name-version-id + fa01ef50-bbb5-49d4-91d1-ebbda9816e01 + + + model.model-name + logical-link + + + model.model-type + widget + + + + + + + + model-element + https://dummy-host.test.onap.org:8443/aai/v7/service-design-and-creation/models/model/668464da-6d41-4599-bdbb-2576147b440e/model-elements/model-element/93a37846-b497-490e-bc97-7d130022d6db/model-elements/model-element/200de3d5-c207-47c2-a507-8846ba1d7068/model-elements/model-element/7ccfe6b5-6566-4b44-83d3-b79f5de7a87b/ + + model.model-name-version-id + 668464da-6d41-4599-bdbb-2576147b440e + + + model-element.model-element-uuid + 93a37846-b497-490e-bc97-7d130022d6db + + + model-element.model-element-uuid + 200de3d5-c207-47c2-a507-8846ba1d7068 + + + model-element.model-element-uuid + 7ccfe6b5-6566-4b44-83d3-b79f5de7a87b + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-1.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-1.json new file mode 100644 index 0000000..916f898 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-1.json @@ -0,0 +1,11 @@ +[ + { + "mappingType": "ATTRIBUTE", + "model": { + "value": "metadata/metadatum/metaname" + }, + "instance": { + "value": "$..metadata.metadatum[*].metaname" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-2.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-2.json new file mode 100644 index 0000000..7bd8829 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-attributes-2.json @@ -0,0 +1,11 @@ +[ + { + "mappingType": "ATTRIBUTE", + "model": { + "value": "unkown" + }, + "instance": { + "value": "$..metadata.metadatum[*].metaname" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-1.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-1.json new file mode 100644 index 0000000..4d550f0 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-1.json @@ -0,0 +1,18 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["INVALID_TYPE"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-2.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-2.json new file mode 100644 index 0000000..2c9799e --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-2.json @@ -0,0 +1,18 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": [] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-3.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-3.json new file mode 100644 index 0000000..6442d7b --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-3.json @@ -0,0 +1,17 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']" + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-4.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-4.json new file mode 100644 index 0000000..4f50042 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-4.json @@ -0,0 +1,18 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "INVALID_PATH", + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-5.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-5.json new file mode 100644 index 0000000..8085cfd --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-5.json @@ -0,0 +1,17 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-6.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-6.json new file mode 100644 index 0000000..67be561 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-filter-6.json @@ -0,0 +1,14 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']" + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-1.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-1.json new file mode 100644 index 0000000..de11bb2 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-1.json @@ -0,0 +1,18 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "INVALID_ROOT", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-2.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-2.json new file mode 100644 index 0000000..7bc88ae --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-root-2.json @@ -0,0 +1,17 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-with-id.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-with-id.json new file mode 100644 index 0000000..2c9799e --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships-with-id.json @@ -0,0 +1,18 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": [] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships.json b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships.json new file mode 100644 index 0000000..89bcae9 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/model-instance-mapping-relationships.json @@ -0,0 +1,18 @@ +[ + { + "mappingType": "RELATIONSHIP", + "model": { + "root": "model-elements/model-element", + "id": "relationship-list/relationship/relationship-data/relationship-value[../relationship-key/text()='model.model-name-version-id']", + "value": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-name']", + "filter": { + "path": "relationship-list/relationship/related-to-property/property-value[../property-key/text()='model.model-type']", + "valid": ["widget"] + } + }, + "instance": { + "origin": "$.inventory-response-item[0]", + "root": "$.inventory-response-items.inventory-response-item[*]" + } + } +] \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/test-validation-service-beans.xml b/src/test/resources/model-validation/model-reader/test-validation-service-beans.xml new file mode 100644 index 0000000..81dab3e --- /dev/null +++ b/src/test/resources/model-validation/model-reader/test-validation-service-beans.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/model-validation/model-reader/validation-service.properties b/src/test/resources/model-validation/model-reader/validation-service.properties new file mode 100644 index 0000000..4e1b264 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/validation-service.properties @@ -0,0 +1,29 @@ +# ============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===================================================== + +topic.publish.enable=true +topic.publish.retries=3 +topic.consume.enable=true +topic.consume.polling.interval.seconds=3 + +event.domain=devINT1 +event.action.exclude=DELETE +event.type.rule=AAI-EVENT,AAI-DATA-EXPORT-API,GIZMO-EVENT +event.type.model=AAI-DATA-EXPORT-NQ +event.type.end=END-EVENT + +model.cache.expirySeconds=3 +aai.oxm.version=12 diff --git a/src/test/resources/model-validation/model-reader/virtual-data-center-widget-id.xml b/src/test/resources/model-validation/model-reader/virtual-data-center-widget-id.xml new file mode 100644 index 0000000..aadee37 --- /dev/null +++ b/src/test/resources/model-validation/model-reader/virtual-data-center-widget-id.xml @@ -0,0 +1,72 @@ + + + virtual-data-center-widget-id + widget + virtual-data-center + vdc-model-id + v1.0 + 1466417894 + + + 6d2dbb11-d509-4e03-8ed9-05bf4aad99d2 + T + unbounded + + 1466417894 + + + + model + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/models/model/l2-bridge-for-wan-connector-resource-id/ + + model.model-name-version-id + e2ccd5c5-bc6e-4ed0-8378-6805ee6ba161 + + + model.model-name + l2-bridge-for-wan-connector + + + model.model-type + resource + + + + + + + + + model-element + https://dummy-host.onap.org:8443/aai/v7/service-design-and-creation/model-elements/model-element/8c0fd413-0d2b-491b-ad14-10c434c359bb/ + + model-element.model-element-uuid + 8c0fd413-0d2b-491b-ad14-10c434c359bb + + + model-element.model-element-uuid + 54629607-160a-4dcf-8c5c-15b8a3756f9a + + + model.model-name-version-id + wan-connector-service-id + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/multiple/test_business_v10.xml b/src/test/resources/oxm-reader/multiple/test_business_v10.xml new file mode 100644 index 0000000..f0dc93f --- /dev/null +++ b/src/test/resources/oxm-reader/multiple/test_business_v10.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/multiple/test_business_v13.xml b/src/test/resources/oxm-reader/multiple/test_business_v13.xml new file mode 100644 index 0000000..2529c6d --- /dev/null +++ b/src/test/resources/oxm-reader/multiple/test_business_v13.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/multiple/test_network_v10.xml b/src/test/resources/oxm-reader/multiple/test_network_v10.xml new file mode 100644 index 0000000..9767de6 --- /dev/null +++ b/src/test/resources/oxm-reader/multiple/test_network_v10.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/multiple/test_network_v13.xml b/src/test/resources/oxm-reader/multiple/test_network_v13.xml new file mode 100644 index 0000000..892f626 --- /dev/null +++ b/src/test/resources/oxm-reader/multiple/test_network_v13.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/oxm-reader-beans.xml b/src/test/resources/oxm-reader/oxm-reader-beans.xml new file mode 100644 index 0000000..c9f064a --- /dev/null +++ b/src/test/resources/oxm-reader/oxm-reader-beans.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/oxm-reader/schemaIngest.properties b/src/test/resources/oxm-reader/schemaIngest.properties new file mode 100644 index 0000000..bb1027e --- /dev/null +++ b/src/test/resources/oxm-reader/schemaIngest.properties @@ -0,0 +1,20 @@ +# ============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===================================================== + +# Test properties for the org.onap.aai.setup.SchemaLocationsBean +schemaConfig=NA +nodeDir=src/test/resources/oxm-reader/single/ +edgeDir=src/test/resources/oxm-reader/single/ \ No newline at end of file diff --git a/src/test/resources/oxm-reader/single/aai_oxm_v0.xml b/src/test/resources/oxm-reader/single/aai_oxm_v0.xml new file mode 100644 index 0000000..ffab598 --- /dev/null +++ b/src/test/resources/oxm-reader/single/aai_oxm_v0.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/single/aai_oxm_v10.xml b/src/test/resources/oxm-reader/single/aai_oxm_v10.xml new file mode 100644 index 0000000..b4c880a --- /dev/null +++ b/src/test/resources/oxm-reader/single/aai_oxm_v10.xml @@ -0,0 +1,6569 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/single/aai_oxm_v8.xml b/src/test/resources/oxm-reader/single/aai_oxm_v8.xml new file mode 100644 index 0000000..40939a4 --- /dev/null +++ b/src/test/resources/oxm-reader/single/aai_oxm_v8.xml @@ -0,0 +1,4362 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/single/aai_oxm_v9.xml b/src/test/resources/oxm-reader/single/aai_oxm_v9.xml new file mode 100644 index 0000000..6fe7379 --- /dev/null +++ b/src/test/resources/oxm-reader/single/aai_oxm_v9.xml @@ -0,0 +1,4772 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/single/aai_oxm_vnonDigit.xml b/src/test/resources/oxm-reader/single/aai_oxm_vnonDigit.xml new file mode 100644 index 0000000..ffab598 --- /dev/null +++ b/src/test/resources/oxm-reader/single/aai_oxm_vnonDigit.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/resources/oxm-reader/single/test_v10_edges.json b/src/test/resources/oxm-reader/single/test_v10_edges.json new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/rest-config/aai-environment.properties b/src/test/resources/rest-config/aai-environment.properties new file mode 100644 index 0000000..988ae90 --- /dev/null +++ b/src/test/resources/rest-config/aai-environment.properties @@ -0,0 +1,29 @@ +# ============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===================================================== + +# Used by org.onap.aai.validation.config.TestRestConfig +host=localhost +port=8080 +httpProtocol=https +trustStorePath=/dir1/dir2/trustStorePath +trustStorePassword.x=70c87528c88dcd9f9c2558d30e817868 +keyStorePath=/dir1/dir2/keyStorePath +keyStorePassword.x=70c87528c88dcd9f9c2558d30e817868 +keyManagerFactoryAlgorithm=AES +keyStoreType=jks +securityProtocol=TLS +connectionTimeout=100 +readTimeout=200 diff --git a/src/test/resources/rest-config/test-validation-service-beans.xml b/src/test/resources/rest-config/test-validation-service-beans.xml new file mode 100644 index 0000000..487bfe9 --- /dev/null +++ b/src/test/resources/rest-config/test-validation-service-beans.xml @@ -0,0 +1,29 @@ + + + + + + + + + + diff --git a/src/test/resources/rule-driven-validator/results/expected/generic-vnf-create-event.exp.json b/src/test/resources/rule-driven-validator/results/expected/generic-vnf-create-event.exp.json new file mode 100644 index 0000000..ef0848a --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/generic-vnf-create-event.exp.json @@ -0,0 +1,35 @@ +{ + "validationId": "", + "validationTimestamp": "", + "entityId": { + "vnf-id": "e5365951-9d90-4853-afae-c34a0707e3b6" + }, + "entityType": "generic-vnf", + "entityLink": "network/generic-vnfs/generic-vnf/e5365951-9d90-4853-afae-c34a0707e3b6", + "resourceVersion": "1476736914", + "entity":"fkdlfkdl", + "violations": [ + { + "violationId": "f47ce3b89d92659086e986f674cec4a7bed54601b8007aac69c6157101973b90", + "category": "INVALID_VALUE", + "severity": "CRITICAL", + "violationType": "Rule", + "validationRule": "prov-status", + "violationDetails": { + "prov-status": null + }, + "errorMessage": "Invalid prov-status value. Must be PREPROV, NVTPROV, PROV, CAPPED, DECOM, or RETIRED" + }, + { + "violationId": "227d68c5fb944636cc9b8a08e8fcefadf13bfd1ba2c40547d664b7150f1ebc14", + "category": "INVALID_VALUE", + "severity": "MINOR", + "violationType": "Rule", + "validationRule": "valid_ipv4_addr", + "violationDetails": { + "ipv4-oam-address": "" + }, + "errorMessage": "Invalid value - attribute is not a valid IPv4 address" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event-invalid-ipaddress.exp.json b/src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event-invalid-ipaddress.exp.json new file mode 100644 index 0000000..b6b851c --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event-invalid-ipaddress.exp.json @@ -0,0 +1,24 @@ +{ + "validationId":"5d37dd63-8289-4e0c-8da0-9007c1de4e39", + "validationTimestamp":"20180220T173524Z", + "entityId":{ + "hostname":"myhost" + }, + "entityType":"pserver", + "entityLink":"", + "resourceVersion":"1477013499", + "violations":[ + { + "violationId":"f0c12d0f91779de43034ca5be323d0e0b076d228f49a998a910127af0da0009b", + "modelName":null, + "category":"INVALID_VALUE", + "severity":"MINOR", + "violationType":"Rule", + "validationRule":"valid_ipv4_addr", + "violationDetails":{ + "vertex.properties.ipv4-oam-address":"1.2.3." + }, + "errorMessage":"Invalid value - attribute is not a valid IPv4 address" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event.exp.json b/src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event.exp.json new file mode 100644 index 0000000..256a488 --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/gizmo-pserver-create-event.exp.json @@ -0,0 +1,13 @@ +{ + "validationId":"f7c28a16-2bdf-40a9-9414-ad430e2550c8", + "validationTimestamp":"20180220T172745Z", + "entityId":{ + "hostname":"myhost" + }, + "entityType":"pserver", + "entityLink":"", + "resourceVersion":"1477013499", + "violations":[ + + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.exp.json b/src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.exp.json new file mode 100644 index 0000000..a8a4ae2 --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.exp.json @@ -0,0 +1,128 @@ +{ + "validationId": "VALIDATIONID", + "validationTimestamp": "TIMESTAMP", + "entityId": { + "vserver-id": "c385bb3e-6ebd-4898-bc92-792e0ac2db50" + }, + "entityType": "vserver", + "entityLink": "cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "resourceVersion": "1475160142", + "violations": [ + { + "violationId": "3855354af5e3da4383dd39beac0c814e5125e0afa3bf0332f9289aa6178db5d6", + "category": "INVALID_VALUE", + "severity": "CRITICAL", + "violationType": "Rule", + "validationRule": "prov-status", + "violationDetails": { + "prov-status": "ACTIVE" + }, + "errorMessage": "Invalid prov-status value. Must be PREPROV, NVTPROV, PROV, CAPPED, DECOM, or RETIRED" + }, + { + "violationId": "2adb3dbf7ab2acb68033608ab5641962a953f720a76a7fe8c143792851ca0901", + "category": "INVALID_NAME", + "severity": "MINOR", + "violationType": "Rule", + "validationRule": "vserver related to TRINITY image and generic-vnf.vnf-name matches naming convention", + "violationDetails": { + "relationship-list.relationship[*]": [ + { + "related-to": "generic-vnf", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/ctpx12345v/", + "relationship-data": [ + { + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "ctpx12345v" + } + ], + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "ctpx12345v" + } + ] + }, + { + "related-to": "vf-module", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/ctpx12345v/vf-modules/vf-module/ctpx12345v/", + "relationship-data": [ + { + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "ctpx12345v" + }, + { + "relationship-key": "vf-module.vf-module-id", + "relationship-value": "ctpx12345v" + } + ] + }, + { + "related-to": "image", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/TRINITY-IMAGE/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "TRINITY-IMAGE" + } + ], + "related-to-property": [ + { + "property-key": "image.image-name", + "property-value": "TRINITY IMAGE" + } + ] + }, + { + "related-to": "pserver", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/pservers/pserver/TRINITY-PSERVER/", + "relationship-data": [ + { + "relationship-key": "pserver.hostname", + "relationship-value": "TRINITY-PSERVER" + } + ], + "related-to-property": [ + { + "property-key": "pserver.pserver-name2" + } + ] + }, + { + "related-to": "flavor", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/TRINITY-Flavor/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "TRINITY-Flavor" + } + ], + "related-to-property": [ + { + "property-key": "flavor.flavor-name", + "property-value": "TRINITY Flavor" + } + ] + } + ] + }, + "errorMessage": "Invalid name - if vserver is related to an image named TRINITY, then the related generic-vnf name must match xxxxnnnnv (where x = character and n = number)" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.exp.json b/src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.exp.json new file mode 100644 index 0000000..6e63d7f --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.exp.json @@ -0,0 +1,23 @@ +{ + "validationId": "VALIDATIONID", + "validationTimestamp": "TIMESTAMP", + "entityId": { + "vserver-id": "c385bb3e-6ebd-4898-bc92-792e0ac2db50" + }, + "entityType": "vserver", + "entityLink": "cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "resourceVersion": "1475160142", + "violations": [ + { + "violationId": "3855354af5e3da4383dd39beac0c814e5125e0afa3bf0332f9289aa6178db5d6", + "category": "INVALID_VALUE", + "severity": "CRITICAL", + "violationType": "Rule", + "validationRule": "prov-status", + "violationDetails": { + "prov-status": "ACTIVE" + }, + "errorMessage": "Invalid prov-status value. Must be PREPROV, NVTPROV, PROV, CAPPED, DECOM, or RETIRED" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/results/expected/vserver-create-event.exp.json b/src/test/resources/rule-driven-validator/results/expected/vserver-create-event.exp.json new file mode 100644 index 0000000..7042c13 --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/vserver-create-event.exp.json @@ -0,0 +1,208 @@ +{ + "validationId": "VALIDATIONID", + "validationTimestamp": "TIMESTAMP", + "entityId": { + "vserver-id": "example-vserver-id-val-34666" + }, + "entityType": "vserver", + "entityLink": "cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666", + "resourceVersion": "1464193654", + "violations": [ + { + "violationId": "312ed832aed6adfff008732d5d3c4e03d46195ea38f2c305c4e58c9779e4721f", + "category": "INVALID_VALUE", + "severity": "CRITICAL", + "violationType": "Rule", + "validationRule": "prov-status", + "violationDetails": { + "prov-status": "INVALID" + }, + "errorMessage": "Invalid prov-status value. Must be PREPROV, NVTPROV, PROV, CAPPED, DECOM, or RETIRED" + }, + { + "violationId": "819a20606acf8eefa64ea06ddb1041edebdec7eb18c5695860eda5e3d1729460", + "modelName": null, + "category": "INVALID_NAME", + "severity": "MINOR", + "violationType": "Rule", + "validationRule": "vserver related to TRINITY image and generic-vnf.vnf-name matches naming convention", + "violationDetails": { + "relationship-list.relationship[*]": [ + { + "related-to": "generic-vnf", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/bmsx0001v-1661/", + "relationship-data": [ + { + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "bmsx0001v-1661" + } + ], + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "bmsx000x" + } + ] + }, + { + "related-to": "image", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/ee49d429-283d-4f79-9c58-e11cc38d8856/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "ee49d429-283d-4f79-9c58-e11cc38d8856" + } + ], + "related-to-property": [ + { + "property-key": "image.image-name", + "property-value": "TRINITY" + } + ] + }, + { + "related-to": "pserver", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/pservers/pserver/dpa2r03c007/", + "relationship-data": [ + { + "relationship-key": "pserver.hostname", + "relationship-value": "dpa2r03c007" + } + ], + "related-to-property": [ + { + "property-key": "pserver.pserver-name2" + } + ] + }, + { + "related-to": "flavor", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/5288f576-d9c6-46fc-9dcb-f6946a2b3597/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "5288f576-d9c6-46fc-9dcb-f6946a2b3597" + } + ], + "related-to-property": [ + { + "property-key": "flavor.flavor-name", + "property-value": "l5.xLarge" + } + ] + } + ] + }, + "errorMessage": "Invalid name - if vserver is related to an image named TRINITY, then the related generic-vnf name must match xxxxnnnnv (where x = character and n = number)" + }, + { + "violationId": "50819193f02c57e6878573dbe4d8d43942ee0b20cb539aed817c067072733f6e", + "modelName": null, + "category": "INVALID_NAME", + "severity": "MINOR", + "violationType": "Rule", + "validationRule": "vserver is related to a TRINITY image and vserver-name matches naming convention", + "violationDetails": { + "relationship-list.relationship[*]": [ + { + "related-to": "generic-vnf", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/bmsx0001v-1661/", + "relationship-data": [ + { + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "bmsx0001v-1661" + } + ], + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "bmsx000x" + } + ] + }, + { + "related-to": "image", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/ee49d429-283d-4f79-9c58-e11cc38d8856/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "ee49d429-283d-4f79-9c58-e11cc38d8856" + } + ], + "related-to-property": [ + { + "property-key": "image.image-name", + "property-value": "TRINITY" + } + ] + }, + { + "related-to": "pserver", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/pservers/pserver/dpa2r03c007/", + "relationship-data": [ + { + "relationship-key": "pserver.hostname", + "relationship-value": "dpa2r03c007" + } + ], + "related-to-property": [ + { + "property-key": "pserver.pserver-name2" + } + ] + }, + { + "related-to": "flavor", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/5288f576-d9c6-46fc-9dcb-f6946a2b3597/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "5288f576-d9c6-46fc-9dcb-f6946a2b3597" + } + ], + "related-to-property": [ + { + "property-key": "flavor.flavor-name", + "property-value": "l5.xLarge" + } + ] + } + ], + "vserver-name": "example-vserver-name-val-34666" + }, + "errorMessage": "Invalid name - if vserver is related to an image named TRINITY, then the vserver name must match xxxxnnnnvmnnn (where x = character and n = number)" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/results/expected/vserver-update-AAI-EVENT-devINT1.exp.json b/src/test/resources/rule-driven-validator/results/expected/vserver-update-AAI-EVENT-devINT1.exp.json new file mode 100644 index 0000000..4cf7264 --- /dev/null +++ b/src/test/resources/rule-driven-validator/results/expected/vserver-update-AAI-EVENT-devINT1.exp.json @@ -0,0 +1,38 @@ +{ + "validationId": "VALIDATIONID", + "validationTimestamp": "TIMESTAMP", + "entityId": { + "vserver-id": "fd280243-cd5c-424e-b629-533cabe2a164" + }, + "entityType": "vserver", + "entityLink": "cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/d52b9dea5d0f4e5d90be3590ac8c78a9/vservers/vserver/fd280243-cd5c-424e-b629-533cabe2a164", + "resourceVersion": "1476735222", + "violations": [ + { + "violationId": "af7226e6b786fb8ad20e1ef088c1b04fd0408093405ca51559f001607ab758e0", + "category": "INVALID_VALUE", + "severity": "CRITICAL", + "violationType": "Rule", + "validationRule": "prov-status", + "violationDetails": { + "prov-status": null + }, + "errorMessage": "Invalid prov-status value. Must be PREPROV, NVTPROV, PROV, CAPPED, DECOM, or RETIRED" + }, + { + "violationId": "daf1c3d071651c081f05f913e0fe2ba4750d2a1fa1699d60a7693126615c4a07", + "category": "MISSING_REL", + "severity": "MINOR", + "violationType": "Rule", + "validationRule": "vserver is related to a vnf (vce or newvce or vpe or generic-vnf)", + "violationDetails": { + "relationship-list.relationship[*].related-to": [ + "image", + "pserver", + "flavor" + ] + }, + "errorMessage": "Missing relationship - a vserver must be related to a vnf (vce or newvce or vpe or generic-vnf)" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/common_rules.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/common_rules.groovy new file mode 100644 index 0000000..70980fe --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/common_rules.groovy @@ -0,0 +1,69 @@ +/* + * ============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 'prov-status' + category 'INVALID_VALUE' + description 'prov-status value restricted to one of PREPROV, NVTPROV, PROV, CAPPED, DECOM, RETIRED' + errorText 'Invalid prov-status value. Must be PREPROV, NVTPROV, PROV, CAPPED, DECOM, or RETIRED' + severity 'CRITICAL' + attributes 'status' + validate '''switch (status) { + case "PREPROV": + case "NVTPROV": + case "PROV": + case "CAPPED": + case "DECOM": + case "RETIRED": + return true + default: return false + }''' +} + +// The following are used by both vce and newvce + +rule { + name 'vnf-name' + category 'INVALID_NAME' + description 'Invalid naming convention' + errorText 'Invalid name - attribute does not match xxxxxnnnvbc (where x = alphanumeric and n = numeric)' + severity 'MINOR' + attributes 'name' + validate 'name != null && name.matches("[a-z,0-9]{5}[0-9]{3}vbc")' +} + +rule { + name 'vnf-type' + category 'INVALID_VALUE' + description 'Invalid value' + errorText 'Invalid value - attribute must equal esx-vce' + severity 'MINOR' + attributes 'name' + validate 'name != null && name.matches("esx-vce")' +} + +rule { + name 'heat-stack-id equals first 11 bytes of vnf-name' + category 'INVALID_VALUE' + description 'The value of heat-stack-id must equal the first 11 bytes of vnf-name' + errorText 'Invalid value - the value of heat-stack-id must equal the first 11 bytes of vnf-name' + severity 'MINOR' + attributes 'heatstackid', 'vnfname' + validate '''def firstEleven = { str -> str ? str.take(11) : null } + heatstackid.equals(firstEleven(vnfname))''' +} diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/entity-complex.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/entity-complex.groovy new file mode 100644 index 0000000..48d2f26 --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/entity-complex.groovy @@ -0,0 +1,146 @@ +/* + * ============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===================================================== + */ + +entity { + type 'complex' + validation { + useRule { + name 'CLLI' + attributes 'physical-location-id' + } + useRule { + name 'not AAI default' + attributes 'street1' + } + useRule { + name 'not AAI default' + attributes 'city' + } + useRule { + name 'not AAI default' + attributes 'state' + } + useRule { + name 'not AAI default' + attributes 'postal-code' + } + useRule { + name 'not AAI default' + attributes 'region' + } + useRule { + name 'not AAI default' + attributes 'country' + } + useRule { + name 'critical not AAI default' + attributes 'physical-location-type' + } + useRule { + name 'length five or null' + attributes 'complex-name' + } + useRule {name 'complex is related to availability zone' } + useRule {name 'complex is related to 1 oam-network' } + useRule { + name 'if a customer is related to an oam-network then oam-network.network-name must match naming convention' + attributes 'relationship-list.relationship[*]' + } + } +} + +rule { + name 'CLLI' + category 'FIELD_LENGTH' + description 'Field must be 8 or 11 characters long' + errorText 'Invalid length - field must be 8 or 11 characters long' + severity 'CRITICAL' + attributes 'field' + validate 'field.size() == 8 || field.size() == 11' +} + +rule { + name 'not AAI default' + category 'FIELD_LENGTH' + description 'Invalid length - field must not be AAIDEFAULT or null' + errorText 'Invalid Value - must not be AAIDEFAULT or null' + severity 'MINOR' + attributes 'field' + validate 'field != null && field.size() > 0 && !field.equalsIgnoreCase("AAIDEFAULT")' +} + +rule { + name 'length five or null' + category 'FIELD_LENGTH' + description 'Field must be 5 characters long or null' + errorText 'Invalid Length - field must be 5 characters long or null' + severity 'MINOR' + attributes 'field' + validate 'field == null || field.size() == 5' +} + +rule { + name 'critical not AAI default' + category 'INVALID_VALUE' + description 'Field must not be AAIDEFAULT or null' + errorText 'Invalid Value - must not be AAIDEFAULT or null' + severity 'CRITICAL' + attributes 'field' + validate 'field != null && field.size() > 0 && !field.equalsIgnoreCase("AAIDEFAULT")' +} + +rule { + name 'complex is related to availability zone' + category 'MISSING_REL' + description 'Validates that a complex is related to an availability zone' + errorText 'Missing relationship - a complex must be related to an availability zone' + severity 'CRITICAL' + attributes 'relationship-list.relationship[*].related-to' + validate 'related-to != null && related-to.contains("availability-zone")' +} + +rule { + name 'complex is related to 1 oam-network' + category 'MISSING_REL' + description 'Validates that a complex is related to 1 oam-network (and not more than 1 oam-network)' + errorText 'Missing relationship - complex must be related to 1 oam-network' + severity 'MAJOR' + attributes 'relationship-list.relationship[*].related-to' + validate 'related-to != null && related-to.count("oam-network") == 1' +} + +rule { + name 'if a customer is related to an oam-network then oam-network.network-name must match naming convention' + category 'INVALID_NAME' + description 'validates that if a customer is related to an oam-network then oam-network.network-name must match naming convention' + errorText 'Invalid name - if a customer is related to an oam-network then network-name must start with VLAN' + severity 'MINOR' + attributes 'relationships' + validate ''' + def getStringProperty = { jsonObject, propertyName -> jsonObject.get(propertyName).getAsString() } + + relatedToOamNetwork = relationships.findAll { getStringProperty(it, "related-to") == "oam-network" } + + networkNameIsValid = relationships.findAll { getStringProperty(it, "related-to") == "oam-network" } + .collect { it."related-to-property".get(0) } + .findAll { getStringProperty(it, "property-key") == "oam-network.network-name" } + .find { getStringProperty(it, "property-value").startsWith("VLAN") } + + return !relatedToOamNetwork || networkNameIsValid + ''' +} diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/entity-newvce.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/entity-newvce.groovy new file mode 100644 index 0000000..dce812a --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/entity-newvce.groovy @@ -0,0 +1,43 @@ +/* + * ============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===================================================== + */ + +entity { + type 'newvce' + validation { + useRule { + name 'prov-status' + attributes 'prov-status' + } + useRule { + name 'vnf-name' + attributes 'vnf-name' + } + useRule { + name 'vnf-type' + attributes 'vnf-type' + } + useRule { + name 'valid_ipv4_addr' + attributes 'ipv4-oam-address' + } + useRule { + name 'heat-stack-id equals first 11 bytes of vnf-name' + attributes 'heat-stack-id', 'vnf-name' + } + } +} diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/generic-vnf-rules.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/generic-vnf-rules.groovy new file mode 100644 index 0000000..d890c36 --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/generic-vnf-rules.groovy @@ -0,0 +1,56 @@ +/* + * ============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===================================================== + */ + +entity { + type 'generic-vnf' + validation { + useRule { + name 'prov-status' + attributes 'prov-status' + } + useRule { + name 'valid_ipv4_addr' + attributes 'ipv4-oam-address' + } + useRule { + name 'ipv4_addr_present' + attributes 'equipment-role', 'l-interfaces.l-interface[*].l3-interface-ipv4-address-list' + } + } +} + +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' + category 'MISSING_REL' + description 'Validates that ICPE equipment has a related IPv4 address' + errorText 'UCPE l-interface missing the IPv4 relationship' + severity 'MINOR' + attributes 'equipment', 'ipv4' + validate 'equipment != "UCPE" || ipv4 != null' +} diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-all_others.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-all_others.groovy new file mode 100644 index 0000000..d922df9 --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-all_others.groovy @@ -0,0 +1,118 @@ +/* + * ============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 'vserver is related to a vnf (vce or newvce or vpe or generic-vnf)' + category 'MISSING_REL' + description 'Validates that a vserver is related to a vnf (vce or newvce or vpe or generic-vnf)' + errorText 'Missing relationship - a vserver must be related to a vnf (vce or newvce or vpe or generic-vnf)' + severity 'MINOR' + attributes 'related-to' + validate 'related-to != null && (related-to.contains("vce") || related-to.contains("newvce") || related-to.contains("vpe") || related-to.contains("generic-vnf"))' +} + +rule { + name 'vserver is related to 1 pserver' + category 'MISSING_REL' + description 'Validates that a vserver is related to 1 pserver (and not more than 1 pserver)' + errorText 'Missing relationship - vserver must be related to 1 pserver' + severity 'MINOR' + attributes 'relationship-list.relationship[*].related-to' + validate 'related-to == null || related-to.count("pserver") == 1' +} + +rule { + name 'vserver is related to 0 or 1 image' + category 'MISSING_REL' + description 'Validates that a vserver is either not related to an image or related to only 1 image' + errorText 'Missing relationship - vserver must be related to 0 or 1 image' + severity 'MINOR' + attributes 'relationship-list.relationship[*].related-to' + validate 'related-to == null || related-to.count("image") <= 1' +} + +rule { + name 'vserver is related to 0 or 1 flavor' + category 'MISSING_REL' + description 'Validates that a vserver is either not related to a flavor or related to only 1 flavor' + errorText 'Missing relationship - vserver must be related to 0 or 1 flavor' + severity 'MINOR' + attributes 'relationship-list.relationship[*].related-to' + validate 'related-to == null || related-to.count("flavor") <= 1' +} + +rule { + name 'vserver is related to vpe and vserver-name matches naming convention' + category 'INVALID_NAME' + description 'Validates that if a vserver is related to a vpe then vserver-name must contain me6' + errorText 'Invalid name - if vserver is related to vpe then vserver-name must contain me6' + severity 'MINOR' + attributes 'relationship-list.relationship[*].related-to', 'vserver-name' + validate '!related-to.contains("vpe") || vserver-name =~ "me6"' +} + +rule { + name 'vserver is related to vce and vserver-name matches naming convention' + category 'INVALID_NAME' + description 'Validates that if a vserver is related to a vce then vserver-name must match naming convention' + errorText 'Invalid name - if vserver is related to vce then vserver-name must match xxxxxxxxvbcnnceb (where x = alphanumeric and n = numeric)' + severity 'MINOR' + attributes 'relationship-list.relationship[*].related-to', 'vserver-name' + validate '!related-to.contains("vce") || vserver-name =~ "[a-z0-9]{8}vbc[0-9]{2}ceb"' +} + +rule { + name 'vserver is related to a TRINITY image and vserver-name matches naming convention' + category 'INVALID_NAME' + description 'Validates that if vserver is related to an image named TRINITY, then the vserver name matches naming convention' + errorText 'Invalid name - if vserver is related to an image named TRINITY, then the vserver name must match xxxxnnnnvmnnn (where x = character and n = number)' + severity 'MINOR' + attributes 'relationships', 'vservername' + validate ''' + def getStringProperty = { jsonObject, propertyName -> jsonObject.get(propertyName)?.getAsString() } + + relatedToTrinity = relationships.findAll { getStringProperty(it, "related-to") == "image" } + .findAll { it."related-to-property" != null } + .collect { it."related-to-property".get(0) } + .findAll { getStringProperty(it, "property-key") == "image.image-name" } + .find { getStringProperty(it, "property-value").startsWith("TRINITY") } + + // If (and only if) related to TRINITY then check the vserver name + return !relatedToTrinity || vservername != null && vservername ==~ "[a-z]{4}[0-9]{4}vm[0-9]{3}" + ''' +} + +rule { + name 'availability-zone must be related to a service-capability and service-capability.service-type matches naming convention' + category 'INVALID_NAME' + description 'Validates that an availability-zone is related to a service-capability and service-capability.service-type matches naming convention' + errorText 'Invalid name - availability-zone must be related to a service-capability and service-capability.service-type must be set to SDN-ETHERNET-INTERNET' + severity 'CRITICAL' + attributes 'relationships' + validate ''' + def getStringProperty = { jsonObject, propertyName -> jsonObject.get(propertyName)?.getAsString() } + + if (!relationships.find { getStringProperty(it, "related-to") == "service-capability" }) { return true } + + return relationships.findAll { getStringProperty(it, "related-to") == "service-capability" } + .findAll { it."related-to-property" != null } + .collect { it."relationship-data".get(0) } + .findAll { getStringProperty(it, "relationship-key") == "service-capability.service-type" } + .find { getStringProperty(it, "relationship-value") == "SDN-ETHERNET-INTERNET" } + ''' +} diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-related-generic-vnf.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-related-generic-vnf.groovy new file mode 100644 index 0000000..feeffa8 --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/rule-vserver-related-generic-vnf.groovy @@ -0,0 +1,42 @@ +/* + * ============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 'vserver related to TRINITY image and generic-vnf.vnf-name matches naming convention' + category 'INVALID_NAME' + description 'Validates that if vserver is related to an image named TRINITY, then the related generic-vnf name matches naming convention' + errorText 'Invalid name - if vserver is related to an image named TRINITY, then the related generic-vnf name must match xxxxnnnnv (where x = character and n = number)' + severity 'MINOR' + attributes 'relationships' + validate ''' + def getStringProperty = { jsonObject, propertyName -> jsonObject.get(propertyName).getAsString() } + + vnf_name = relationships.findAll { getStringProperty(it, "related-to") == "generic-vnf" } + .collect { it."related-to-property".get(0) } + .find { getStringProperty(it, "property-key") == "generic-vnf.vnf-name" } + .findResult { getStringProperty(it, "property-value") } + + relatedToTrinity = relationships.findAll { getStringProperty(it, "related-to") == "image" } + .collect { it."related-to-property".get(0) } + .findAll { getStringProperty(it, "property-key") == "image.image-name" } + .find { getStringProperty(it, "property-value").startsWith("TRINITY") } + + // If (and only if) related to TRINITY then check the generic-vnf name + return !relatedToTrinity || vnf_name?.matches("[a-z]{4}[0-9]{4}v") + ''' +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/rules/aai-event/vserver-rules.groovy b/src/test/resources/rule-driven-validator/rules/aai-event/vserver-rules.groovy new file mode 100644 index 0000000..d379e17 --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/aai-event/vserver-rules.groovy @@ -0,0 +1,44 @@ +/* + * ============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===================================================== + */ + +entity { + type 'vserver' + validation { + useRule { + name 'prov-status' + attributes 'prov-status' + } + useRule {name 'vserver is related to 0 or 1 image' } + useRule {name 'vserver is related to 0 or 1 flavor' } + useRule {name 'vserver is related to 1 pserver' } + useRule {name 'vserver is related to vpe and vserver-name matches naming convention' } + useRule {name 'vserver is related to vce and vserver-name matches naming convention' } + useRule { + name 'vserver related to TRINITY image and generic-vnf.vnf-name matches naming convention' + attributes 'relationship-list.relationship[*]' + } + useRule { + name 'vserver is related to a TRINITY image and vserver-name matches naming convention' + attributes 'relationship-list.relationship[*]', 'vserver-name' + } + useRule { + name 'vserver is related to a vnf (vce or newvce or vpe or generic-vnf)' + attributes 'relationship-list.relationship[*].related-to' + } + } +} diff --git a/src/test/resources/rule-driven-validator/rules/gizmo-event/common_rules.groovy b/src/test/resources/rule-driven-validator/rules/gizmo-event/common_rules.groovy new file mode 100644 index 0000000..b30816e --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/gizmo-event/common_rules.groovy @@ -0,0 +1,27 @@ +/* + * ============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])")' +} diff --git a/src/test/resources/rule-driven-validator/rules/gizmo-event/pserver-rules.groovy b/src/test/resources/rule-driven-validator/rules/gizmo-event/pserver-rules.groovy new file mode 100644 index 0000000..79b3cc2 --- /dev/null +++ b/src/test/resources/rule-driven-validator/rules/gizmo-event/pserver-rules.groovy @@ -0,0 +1,27 @@ +/* + * ============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===================================================== + */ + +entity { + type 'pserver' + validation { + useRule { + name 'valid_ipv4_addr' + attributes 'vertex.properties.ipv4-oam-address' + } + } +} diff --git a/src/test/resources/rule-driven-validator/test-rule-driven-validator-beans.xml b/src/test/resources/rule-driven-validator/test-rule-driven-validator-beans.xml new file mode 100644 index 0000000..b087680 --- /dev/null +++ b/src/test/resources/rule-driven-validator/test-rule-driven-validator-beans.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/rule-driven-validator/test_events/generic-vnf-create-event.json b/src/test/resources/rule-driven-validator/test_events/generic-vnf-create-event.json new file mode 100644 index 0000000..e1e5618 --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/generic-vnf-create-event.json @@ -0,0 +1,46 @@ +{ + "cambria.partition": "AAI", + "entity": { + "resource-version": "1476736914", + "equipment-role": "UCPE", + "ipv4-oam-address": "", + "is-closed-loop-disabled": false, + "vnf-name": "USETEJORLFL0154UJTE08", + "vnf-type": "TE", + "nm-lan-v6-address": "2001:1890:e00e:fffe::943", + "vnf-id": "e5365951-9d90-4853-afae-c34a0707e3b6", + "in-maint": false, + "ipv4-loopback0-address": "", + "management-option": "ATT", + "orchestration-status": "created", + "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", + "management-v6-address": "", + "relationship-list": { + "relationship": [{ + "relationship-data":[{ + "relationship-key": "service-instance.service-instance-id", + "relationship-value": "USETEJORLFL0154UJZZ01" + }], + "related-to-property": [{ + "property-key": "service-instance.service-instance-name" + }], + "related-link": "https://aai-app-e2e.test.onap.org:8443/aai/v8/business/customers/customer/300DLE/service-subscriptions/service-subscription/uCPE-VMS/service-instances/service-instance/USETEJORLFL0154UJZZ01/", + "related-to": "service-instance" + }] + } + }, + "event-header": { + "timestamp": "20161017-20:41:55:044", + "id": "20161017204155-be84d9c2-909c-427c-9ad5-0bdcdb498a06", + "action": "CREATE", + "domain": "e2e1", + "source-name": "SDNC", + "entity-link": "https://aai-app.test.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/e5365951-9d90-4853-afae-c34a0707e3b6", + "entity-type": "generic-vnf", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "top-entity-type": "generic-vnf", + "version": "v8" + } +} diff --git a/src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event-invalid-ipaddress.json b/src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event-invalid-ipaddress.json new file mode 100644 index 0000000..0be90fe --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event-invalid-ipaddress.json @@ -0,0 +1,33 @@ +{ + "cambria.partition":"AAI", + "entity":{ + "timestamp":1514927928167, + "operation":"CREATE", + "vertex":{ + "properties":{ + "ipv4-oam-address":"1.2.3.", + "resource-version":"1477013499", + "purpose":"my-purpose", + "fqdn":"myhost.onap.net", + "in-maint":false, + "equip-model":"DL380p-nd", + "equip-vendor":"HP", + "equip-type":"server", + "hostname":"myhost", + "ptnii-equip-name":"e-name" + }, + "key":"", + "type":"pserver", + "schema-version":"vX" + }, + "transaction-id":"c0a81fa7-5ef4-49cd-ab39-e42c53c9b9a4", + "database-transaction-id":"b3e2853e-f643-47a3-a0c3-cb54cc997ad3" + }, + "event-header":{ + "timestamp":"1514927928167", + "id":"c0a81fa7-5ef4-49cd-ab39-e42c53c9b9a4", + "source-name":"GIZMO", + "entity-type":"pserver", + "event-type":"GIZMO-EVENT" + } +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event.json b/src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event.json new file mode 100644 index 0000000..2ba5550 --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/gizmo-pserver-create-event.json @@ -0,0 +1,33 @@ +{ + "cambria.partition":"AAI", + "entity":{ + "timestamp":1514927928167, + "operation":"CREATE", + "vertex":{ + "properties":{ + "ipv4-oam-address":"1.2.3.4", + "resource-version":"1477013499", + "purpose":"my-purpose", + "fqdn":"myhost.onap.net", + "in-maint":false, + "equip-model":"DL380p-nd", + "equip-vendor":"HP", + "equip-type":"server", + "hostname":"myhost", + "ptnii-equip-name":"e-name" + }, + "key":"", + "type":"pserver", + "schema-version":"vX" + }, + "transaction-id":"c0a81fa7-5ef4-49cd-ab39-e42c53c9b9a4", + "database-transaction-id":"b3e2853e-f643-47a3-a0c3-cb54cc997ad3" + }, + "event-header":{ + "timestamp":"1514927928167", + "id":"c0a81fa7-5ef4-49cd-ab39-e42c53c9b9a4", + "source-name":"GIZMO", + "entity-type":"pserver", + "event-type":"GIZMO-EVENT" + } +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.json b/src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.json new file mode 100644 index 0000000..b5c0a31 --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-BAD.json @@ -0,0 +1,144 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [{ + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [{ + "vserver-id": "c385bb3e-6ebd-4898-bc92-792e0ac2db50", + "vserver-name": "bems0001vm001", + "vserver-name2": "bems0001vm001bem001-1452", + "prov-status": "ACTIVE", + "vserver-selflink": "TRINITY vserverLink", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1475160142", + "relationship-list": { + "relationship": [{ + "related-to": "generic-vnf", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/ctpx12345v/", + "relationship-data": [{ + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "ctpx12345v" + }], + "related-to-property": [{ + "property-key": "generic-vnf.vnf-name", + "property-value": "ctpx12345v" + }] + }, + { + "related-to": "vf-module", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/ctpx12345v/vf-modules/vf-module/ctpx12345v/", + "relationship-data": [{ + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "ctpx12345v" + }, + { + "relationship-key": "vf-module.vf-module-id", + "relationship-value": "ctpx12345v" + }] + }, + { + "related-to": "image", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/TRINITY-IMAGE/", + "relationship-data": [{ + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "TRINITY-IMAGE" + }], + "related-to-property": [{ + "property-key": "image.image-name", + "property-value": "TRINITY IMAGE" + }] + }, + { + "related-to": "pserver", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/pservers/pserver/TRINITY-PSERVER/", + "relationship-data": [{ + "relationship-key": "pserver.hostname", + "relationship-value": "TRINITY-PSERVER" + }], + "related-to-property": [{ + "property-key": "pserver.pserver-name2" + }] + }, + { + "related-to": "flavor", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/TRINITY-Flavor/", + "relationship-data": [{ + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "TRINITY-Flavor" + }], + "related-to-property": [{ + "property-key": "flavor.flavor-name", + "property-value": "TRINITY Flavor" + }] + }] + }, + "l-interfaces": { + "l-interface": [{ + "interface-name": "BSFT-EMS-VMVNIC1", + "resource-version": "1455590484", + "l3-interface-ipv4-address-list": [{ + "l3-interface-ipv4-address": "130.3.148.14", + "l3-interface-ipv4-prefix-length": 32, + "resource-version": "1455590484", + "relationship-list": { + "relationship": [{ + "related-to": "subnet", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/l3-networks/l3-network/AIC_SBG_NSDNet_Trinity_OAMP_3900-1234-1/subnets/subnet/AIC_SBG_NSDNet_Trinity_OAMP_3900-1234-1-ipv4/", + "relationship-data": [{ + "relationship-key": "l3-network.network-id", + "relationship-value": "AIC_SBG_NSDNet_Trinity_OAMP_3900-1234-1" + }, + { + "relationship-key": "subnet.subnet-id", + "relationship-value": "AIC_SBG_NSDNet_Trinity_OAMP_3900-1234-1-ipv4" + }], + "related-to-property": [{ + "property-key": "subnet.subnet-name" + }] + }] + } + }] + }] + } + }] + } + }] + } + } +} diff --git a/src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.json b/src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.json new file mode 100644 index 0000000..962210a --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/vserver-create-AAI-EVENT-devINT1-TRINITY-VNF-NAME-GOOD.json @@ -0,0 +1,144 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.test.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [{ + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [{ + "vserver-id": "c385bb3e-6ebd-4898-bc92-792e0ac2db50", + "vserver-name": "bems0001vm001", + "vserver-name2": "bems0001vm001bem001-1452", + "prov-status": "ACTIVE", + "vserver-selflink": "TRINITY vserverLink", + "in-maint": false, + "is-closed-loop-disabled": false, + "resource-version": "1475160142", + "relationship-list": { + "relationship": [{ + "related-to": "generic-vnf", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/ctpx0001v/", + "relationship-data": [{ + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "ctpx0001v" + }], + "related-to-property": [{ + "property-key": "generic-vnf.vnf-name", + "property-value": "ctpx0001v" + }] + }, + { + "related-to": "vf-module", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/ctpx0001v/vf-modules/vf-module/ctpx0001v/", + "relationship-data": [{ + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "ctpx0001v" + }, + { + "relationship-key": "vf-module.vf-module-id", + "relationship-value": "ctpx0001v" + }] + }, + { + "related-to": "image", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/TRINITY-IMAGE/", + "relationship-data": [{ + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "TRINITY-IMAGE" + }], + "related-to-property": [{ + "property-key": "image.image-name", + "property-value": "TRINITY IMAGE" + }] + }, + { + "related-to": "pserver", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/pservers/pserver/TRINITY-PSERVER/", + "relationship-data": [{ + "relationship-key": "pserver.hostname", + "relationship-value": "TRINITY-PSERVER" + }], + "related-to-property": [{ + "property-key": "pserver.pserver-name2" + }] + }, + { + "related-to": "flavor", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/TRINITY-Flavor/", + "relationship-data": [{ + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "TRINITY-Flavor" + }], + "related-to-property": [{ + "property-key": "flavor.flavor-name", + "property-value": "TRINITY Flavor" + }] + }] + }, + "l-interfaces": { + "l-interface": [{ + "interface-name": "BSFT-EMS-VMVNIC1", + "resource-version": "1455590484", + "l3-interface-ipv4-address-list": [{ + "l3-interface-ipv4-address": "130.3.148.14", + "l3-interface-ipv4-prefix-length": 32, + "resource-version": "1455590484", + "relationship-list": { + "relationship": [{ + "related-to": "subnet", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/l3-networks/l3-network/VendorCloud_Trinity_OAMP_3900-1234-1/subnets/subnet/VendorCloud_Trinity_OAMP_3900-1234-1-ipv4/", + "relationship-data": [{ + "relationship-key": "l3-network.network-id", + "relationship-value": "VendorCloud_Trinity_OAMP_3900-1234-1" + }, + { + "relationship-key": "subnet.subnet-id", + "relationship-value": "VendorCloud_Trinity_OAMP_3900-1234-1-ipv4" + }], + "related-to-property": [{ + "property-key": "subnet.subnet-name" + }] + }] + } + }] + }] + } + }] + } + }] + } + } +} diff --git a/src/test/resources/rule-driven-validator/test_events/vserver-create-event.json b/src/test/resources/rule-driven-validator/test_events/vserver-create-event.json new file mode 100644 index 0000000..85bcdf3 --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/vserver-create-event.json @@ -0,0 +1,243 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.test.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "INVALID", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + "relationship": [ + { + "related-to": "generic-vnf", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/network/generic-vnfs/generic-vnf/bmsx0001v-1661/", + "relationship-data": [ + { + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "bmsx0001v-1661" + } + ], + "related-to-property": [ + { + "property-key": "generic-vnf.vnf-name", + "property-value": "bmsx000x" + } + ] + }, + { + "related-to": "image", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/ee49d429-283d-4f79-9c58-e11cc38d8856/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "ee49d429-283d-4f79-9c58-e11cc38d8856" + } + ], + "related-to-property": [ + { + "property-key": "image.image-name", + "property-value": "TRINITY" + } + ] + }, + { + "related-to": "pserver", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/pservers/pserver/dpa2r03c007/", + "relationship-data": [ + { + "relationship-key": "pserver.hostname", + "relationship-value": "dpa2r03c007" + } + ], + "related-to-property": [ + { + "property-key": "pserver.pserver-name2" + } + ] + }, + { + "related-to": "flavor", + "related-link": "https://dummy-host.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/5288f576-d9c6-46fc-9dcb-f6946a2b3597/", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "5288f576-d9c6-46fc-9dcb-f6946a2b3597" + } + ], + "related-to-property": [ + { + "property-key": "flavor.flavor-name", + "property-value": "l5.xLarge" + } + ] + } + ] + }, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/rule-driven-validator/test_events/vserver-update-AAI-EVENT-devINT1.json b/src/test/resources/rule-driven-validator/test_events/vserver-update-AAI-EVENT-devINT1.json new file mode 100644 index 0000000..92bec16 --- /dev/null +++ b/src/test/resources/rule-driven-validator/test_events/vserver-update-AAI-EVENT-devINT1.json @@ -0,0 +1,108 @@ +{ + "cambria.partition": "AAI", + "entity": { + "cloud-region-id": "AAIregion1", + "cloud-owner": "region1", + "tenants": { + "tenant": [{ + "vservers": { + "vserver": [{ + "resource-version": "1476735222", + "is-closed-loop-disabled": false, + "vserver-selflink": "http://compute.test.onap.org:8774/v2/d52b9dea5d0f4e5d90be3590ac8c78a9/servers/fd280243-cd5c-424e-b629-533cabe2a164", + "vserver-name": "vm-54", + "vserver-id": "fd280243-cd5c-424e-b629-533cabe2a164", + "in-maint": false, + "vserver-name2": "VM_54", + "l-interfaces": { + "l-interface": [{ + "resource-version": "1452288058", + "macaddr": "02:fd:59:37:be:3c", + "selflink": "http://network.test.onap.org:9696/v2.0/ports/fd5937be-3ca4-4db0-89c9-e210bf8bf31f", + "interface-id": "fd5937be-3ca4-4db0-89c9-e210bf8bf31f", + "l3-interface-ipv4-address-list": [{ + "resource-version": "1452288058", + "l3-interface-ipv4-address": "192.168.112.56", + "neutron-network-id": "a2e5433f-38c7-420e-9c06-134ee893de3f", + "neutron-subnet-id": "b58a5b21-1f3b-42b8-93a6-109b2a700fdb", + "is-floating": false, + "l3-interface-ipv4-prefix-length": 24 + }], + "interface-name": "fd5937be-3ca4-4db0-89c9-e210bf8bf31f", + "network-name": "CinderVolumeNetwork" + }] + }, + "relationship-list": { + "relationship": [{ + "relationship-data": [{ + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "image.image-id", + "relationship-value": "fc2b5df5-0e28-4c05-9e8c-75cebbd537e5" + }], + "related-to-property": [{ + "property-value": "TestVM", + "property-key": "image.image-name" + }], + "related-link": "https://aai-app-e2e.test.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/images/image/fc2b5df5-0e28-4c05-9e8c-75cebbd537e5/", + "related-to": "image" + }, + { + "relationship-data": [{ + "relationship-key": "pserver.hostname", + "relationship-value": "dummy-host.test.onap.org" + }], + "related-to-property": [{ + "property-key": "pserver.pserver-name2" + }], + "related-link": "https://aai-app-e2e.test.onap.org:8443/aai/v7/cloud-infrastructure/pservers/pserver/dummy-host.test.onap.org/", + "related-to": "pserver" + }, + { + "relationship-data": [{ + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "region1" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "AAIregion1" + }, + { + "relationship-key": "flavor.flavor-id", + "relationship-value": "31" + }], + "related-to-property": [{ + "property-value": "m1.small", + "property-key": "flavor.flavor-name" + }], + "related-link": "https://aai-app-e2e.test.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/flavors/flavor/31/", + "related-to": "flavor" + }] + } + }] + }, + "tenant-id": "d52b9dea5d0f4e5d90be3590ac8c78a9" + }] + } + }, + "event-header": { + "timestamp": "20161017-20:13:45:472", + "id": "20161017201345-af157723-3835-4619-b6d8-dc16c19308bb", + "action": "UPDATE", + "domain": "devINT1", + "source-name": "RO", + "entity-link": "https://aai-app.test.onap.org:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/d52b9dea5d0f4e5d90be3590ac8c78a9/vservers/vserver/fd280243-cd5c-424e-b629-533cabe2a164", + "entity-type": "vserver", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "top-entity-type": "cloud-region", + "version": "v8" + } +} diff --git a/src/test/resources/topic-admin-config/test-validation-service-beans.xml b/src/test/resources/topic-admin-config/test-validation-service-beans.xml new file mode 100644 index 0000000..caf63c3 --- /dev/null +++ b/src/test/resources/topic-admin-config/test-validation-service-beans.xml @@ -0,0 +1,28 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/topic-admin-config/validation-service.properties b/src/test/resources/topic-admin-config/validation-service.properties new file mode 100644 index 0000000..01b02dd --- /dev/null +++ b/src/test/resources/topic-admin-config/validation-service.properties @@ -0,0 +1,20 @@ +# ============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===================================================== + +topic.publish.enable=true +topic.publish.retries=3 +topic.consume.enable=true +topic.consume.polling.interval.seconds=3 \ No newline at end of file diff --git a/src/test/resources/topic-config/test-topic-config-beans.xml b/src/test/resources/topic-config/test-topic-config-beans.xml new file mode 100644 index 0000000..0466f81 --- /dev/null +++ b/src/test/resources/topic-config/test-topic-config-beans.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + aai-event + aai-data-export + + + + + aai-data-integrity + + + + + + + + + classpath:topic-config/topic-aai-event.properties + classpath:topic-config/topic-aai-data-export.properties + classpath:topic-config/topic-aai-data-integrity.properties + + + + \ No newline at end of file diff --git a/src/test/resources/topic-config/test-validation-service-beans.xml b/src/test/resources/topic-config/test-validation-service-beans.xml new file mode 100644 index 0000000..9d880a3 --- /dev/null +++ b/src/test/resources/topic-config/test-validation-service-beans.xml @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/topic-config/topic-aai-data-export.properties b/src/test/resources/topic-config/topic-aai-data-export.properties new file mode 100644 index 0000000..af182ca --- /dev/null +++ b/src/test/resources/topic-config/topic-aai-data-export.properties @@ -0,0 +1,23 @@ +# ============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===================================================== + +aai-data-export.name=aai-data-export +aai-data-export.host=export-dummy-host +aai-data-export.username=export-dummy-username +aai-data-export.password=export-dummy-password +aai-data-export.consumer.group=export-dummy-consumer-group +aai-data-export.consumer.id=export-dummy-consumer-id +aai-data-export.transport.type=export-dummy-transport-type \ No newline at end of file diff --git a/src/test/resources/topic-config/topic-aai-data-integrity.properties b/src/test/resources/topic-config/topic-aai-data-integrity.properties new file mode 100644 index 0000000..f5a5839 --- /dev/null +++ b/src/test/resources/topic-config/topic-aai-data-integrity.properties @@ -0,0 +1,22 @@ +# ============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===================================================== + +aai-data-integrity.name=aai-data-integrity +aai-data-integrity.host=integrity-dummy-host +aai-data-integrity.publisher.partition=integrity-dummy-partition +aai-data-integrity.username=integrity-dummy-username +aai-data-integrity.password=integrity-dummy-password +aai-data-integrity.transport.type=integrity-dummy-transport-type \ No newline at end of file diff --git a/src/test/resources/topic-config/topic-aai-event.properties b/src/test/resources/topic-config/topic-aai-event.properties new file mode 100644 index 0000000..2779f13 --- /dev/null +++ b/src/test/resources/topic-config/topic-aai-event.properties @@ -0,0 +1,23 @@ +# ============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===================================================== + +aai-event.name=aai-event +aai-event.host=event-dummy-host +aai-event.username=event-dummy-username +aai-event.password=event-dummy-password +aai-event.consumer.group=event-dummy-consumer-group +aai-event.consumer.id=event-dummy-consumer-id +aai-event.transport.type=event-dummy-transport-type \ No newline at end of file diff --git a/src/test/resources/validation-controller-config/test-validation-service-beans.xml b/src/test/resources/validation-controller-config/test-validation-service-beans.xml new file mode 100644 index 0000000..b6f8099 --- /dev/null +++ b/src/test/resources/validation-controller-config/test-validation-service-beans.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/validation-controller-config/validation-controller-config.properties b/src/test/resources/validation-controller-config/validation-controller-config.properties new file mode 100644 index 0000000..d30008f --- /dev/null +++ b/src/test/resources/validation-controller-config/validation-controller-config.properties @@ -0,0 +1,21 @@ +# ============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===================================================== + +event.domain=devINT1 +event.action.exclude=DELETE +event.type.rule=AAI-EVENT,AAI-DATA-EXPORT-API +event.type.model=AAI-DATA-EXPORT-NQ +event.type.end=END-EVENT \ No newline at end of file diff --git a/src/test/resources/validation-result/test-validation-service-beans.xml b/src/test/resources/validation-result/test-validation-service-beans.xml new file mode 100644 index 0000000..9a67d0a --- /dev/null +++ b/src/test/resources/validation-result/test-validation-service-beans.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/test/resources/validation-result/vserver-create-event.json b/src/test/resources/validation-result/vserver-create-event.json new file mode 100644 index 0000000..21e4da8 --- /dev/null +++ b/src/test/resources/validation-result/vserver-create-event.json @@ -0,0 +1,163 @@ +{ + "cambria.partition": "AAI", + "event-header": { + "id": "20160525162737-61c49d41-5338-4755-af54-06cee9fe4acf", + "timestamp": "20160525-16:27:37:353", + "source-name": "RO", + "domain": "devINT1", + "sequence-number": "0", + "severity": "NORMAL", + "event-type": "AAI-EVENT", + "version": "v7", + "action": "CREATE", + "entity-type": "vserver", + "top-entity-type": "cloud-region", + "entity-link": "https://dummy-host.onap.org:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/region1/AAIregion1/tenants/tenant/example-tenant-id-val-88551/vservers/vserver/example-vserver-id-val-34666" + }, + "entity": { + "cloud-owner": "region1", + "cloud-region-id": "AAIregion1", + "tenants": { + "tenant": [ + { + "tenant-id": "example-tenant-id-val-88551", + "tenant-name": "example-tenant-name-val-88551", + "vservers": { + "vserver": [ + { + "vserver-id": "example-vserver-id-val-34666", + "vserver-name": "example-vserver-name-val-34666", + "vserver-name2": "example-vserver-name2-val-34666", + "prov-status": "PREPROV", + "vserver-selflink": "example-vserver-selflink-val-34666", + "in-maint": true, + "is-closed-loop-disabled": true, + "resource-version": "1464193654", + "volumes": { + "volume": [ + { + "volume-id": "example-volume-id-val-79195", + "volume-selflink": "example-volume-selflink-val-79195", + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l-interfaces": { + "l-interface": [ + { + "interface-name": "example-interface-name-val-25679", + "interface-role": "example-interface-role-val-25679", + "v6-wan-link-ip": "example-v6-wan-link-ip-val-25679", + "selflink": "example-selflink-val-25679", + "interface-id": "example-interface-id-val-25679", + "macaddr": "example-macaddr-val-25679", + "network-name": "example-network-name-val-25679", + "resource-version": "1464193654", + "vlans": { + "vlan": [ + { + "vlan-interface": "example-vlan-interface-val-28675", + "vlan-id-inner": 22278797, + "vlan-id-outer": 22278797, + "resource-version": "1464193654", + "speed-value": "example-speed-value-val-28675", + "speed-units": "example-speed-units-val-28675", + "vlan-description": "example-vlan-description-val-28675", + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-39271", + "l3-interface-ipv4-prefix-length": 78868308, + "vlan-id-inner": 78868308, + "vlan-id-outer": 78868308, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-4005", + "l3-interface-ipv6-prefix-length": 78340763, + "vlan-id-inner": 78340763, + "vlan-id-outer": 78340763, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + }, + "sriov-vfs": { + "sriov-vf": [ + { + "pci-id": "example-pci-id-val-85354", + "vf-vlan-filter": "example-vf-vlan-filter-val-85354", + "vf-mac-filter": "example-vf-mac-filter-val-85354", + "vf-vlan-strip": true, + "vf-vlan-anti-spoof-check": true, + "vf-mac-anti-spoof-check": true, + "vf-mirrors": "example-vf-mirrors-val-85354", + "vf-broadcast-allow": true, + "vf-unknown-multicast-allow": true, + "vf-unknown-unicast-allow": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + }, + "relationship-list": { + + }, + "l3-interface-ipv4-address-list": [ + { + "l3-interface-ipv4-address": "example-l3-interface-ipv4-address-val-21446", + "l3-interface-ipv4-prefix-length": 71127022, + "vlan-id-inner": 71127022, + "vlan-id-outer": 71127022, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ], + "l3-interface-ipv6-address-list": [ + { + "l3-interface-ipv6-address": "example-l3-interface-ipv6-address-val-88071", + "l3-interface-ipv6-prefix-length": 55080281, + "vlan-id-inner": 55080281, + "vlan-id-outer": 55080281, + "is-floating": true, + "resource-version": "1464193654", + "relationship-list": { + + } + } + ] + } + ] + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/test/resources/validation-service.properties b/src/test/resources/validation-service.properties new file mode 100644 index 0000000..9321c41 --- /dev/null +++ b/src/test/resources/validation-service.properties @@ -0,0 +1,27 @@ +# ============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===================================================== + +topic.publish.enable=true +topic.publish.retries=3 +topic.consume.enable=true +topic.consume.polling.interval.seconds=7 + +event.domain=devINT1 +event.action.exclude=DELETE +event.type.rule=AAI-EVENT,AAI-DATA-EXPORT-API,GIZMO-EVENT,SPIKE-EVENT,EMPTY-RULESET-EVENT +event.type.model=AAI-DATA-EXPORT-NQ + +model.cache.expirySeconds=3 \ No newline at end of file -- cgit 1.2.3-korg