aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_sdc_resource_properties.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_sdc_resource_properties.py')
-rw-r--r--tests/test_sdc_resource_properties.py1080
1 files changed, 1080 insertions, 0 deletions
diff --git a/tests/test_sdc_resource_properties.py b/tests/test_sdc_resource_properties.py
new file mode 100644
index 0000000..4502868
--- /dev/null
+++ b/tests/test_sdc_resource_properties.py
@@ -0,0 +1,1080 @@
+# Copyright 2022 Orange, Deutsche Telekom AG
+#
+# 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.
+from unittest import mock
+
+import pytest
+
+from onapsdk.exceptions import ParameterError
+from onapsdk.sdc.properties import Input, Property
+from onapsdk.sdc.sdc_resource import SdcResource
+from onapsdk.sdc.service import Service
+from onapsdk.sdc.vf import Vf
+from onapsdk.sdc.vl import Vl
+
+INPUTS = {
+ 'inputs': [
+ {
+ 'uniqueId': '9ee5fb23-4c4a-46bd-8682-68698559ee9c.skip_post_instantiation_configuration',
+ 'type': 'boolean',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': 'true',
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': 'skip_post_instantiation_configuration',
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '9ee5fb23-4c4a-46bd-8682-68698559ee9c',
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'inputs': None,
+ 'properties': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': '9ee5fb23-4c4a-46bd-8682-68698559ee9c',
+ 'empty': False
+ },
+ {
+ 'uniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079.test',
+ 'type': 'string',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': {
+ 'derivedFrom': None,
+ 'constraints': None,
+ 'properties': None,
+ 'property': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ },
+ 'password': False,
+ 'name': 'test',
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'propertyId': '4a84415b-4580-4a78-aa33-501f0cd3d079.sraka',
+ 'parentPropertyType': 'string',
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': 'cs0008',
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'inputs': None,
+ 'properties': None,
+ 'schemaType': '',
+ 'schemaProperty': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': 'cs0008',
+ 'empty': False
+ },
+ {
+ 'uniqueId': '9ee5fb23-4c4a-46bd-8682-68698559ee9c.controller_actor',
+ 'type': 'string',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': 'SO-REF-DATA',
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': 'controller_actor',
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '9ee5fb23-4c4a-46bd-8682-68698559ee9c',
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'inputs': None,
+ 'properties': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': '9ee5fb23-4c4a-46bd-8682-68698559ee9c',
+ 'empty': False
+ },
+ {
+ 'uniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079.lililili',
+ 'type': 'list',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': {
+ 'derivedFrom': None,
+ 'constraints': None,
+ 'properties': None,
+ 'property': {
+ 'uniqueId': None,
+ 'type': 'abc',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ },
+ 'password': False,
+ 'name': 'lililili',
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': True,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'inputs': None,
+ 'properties': None,
+ 'schemaType': 'abc',
+ 'schemaProperty': {
+ 'uniqueId': None,
+ 'type': 'abc',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ }
+ ]
+}
+
+
+PROPERTIES = {
+ "properties": [{
+ 'uniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079.llllll',
+ 'type': 'integer',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': {
+ 'derivedFrom': None,
+ 'constraints': None,
+ 'properties': None,
+ 'property': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ },
+ 'password': False,
+ 'name': 'llllll',
+ 'value': '{"get_input":["lililili","INDEX","llllll"]}',
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'getInputValues': [
+ {
+ 'propName': None,
+ 'inputName': 'lililili',
+ 'inputId': '4a84415b-4580-4a78-aa33-501f0cd3d079.lililili',
+ 'indexValue': None,
+ 'getInputIndex': None,
+ 'list': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ }
+ ],
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'schemaType': '',
+ 'schemaProperty': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'getInputProperty': True,
+ 'version': None,
+ 'ownerId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'empty': False
+ },
+ {
+ 'uniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079.test',
+ 'type': 'string',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': {
+ 'derivedFrom': None,
+ 'constraints': None,
+ 'properties': None,
+ 'property': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ },
+ 'password': False,
+ 'name': 'test',
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'getInputValues': [],
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'schemaType': '',
+ 'schemaProperty': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'getInputProperty': True,
+ 'version': None,
+ 'ownerId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'empty': False
+ },
+ {
+ 'uniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079.yyy',
+ 'type': 'string',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': {
+ 'derivedFrom': None,
+ 'constraints': None,
+ 'properties': None,
+ 'property': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ },
+ 'password': False,
+ 'name': 'yyy',
+ 'value': 'lalala',
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'schemaType': '',
+ 'schemaProperty': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'empty': False
+ },
+ {
+ 'uniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079.test2',
+ 'type': 'boolean',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': 'test2',
+ 'schema': {
+ 'derivedFrom': None,
+ 'constraints': None,
+ 'properties': None,
+ 'property': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ },
+ 'password': False,
+ 'name': 'test2',
+ 'value': '{"get_input":"test2"}',
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'getInputValues': [
+ {
+ 'propName': None,
+ 'inputName': 'test2',
+ 'inputId': '4a84415b-4580-4a78-aa33-501f0cd3d079.test2',
+ 'indexValue': None,
+ 'getInputIndex': None,
+ 'list': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False,
+ 'type': None
+ }
+ ],
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'schemaType': '',
+ 'schemaProperty': {
+ 'uniqueId': None,
+ 'type': '',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': None,
+ 'schema': None,
+ 'password': False,
+ 'name': None,
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': None,
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': None,
+ 'empty': False
+ },
+ 'getInputProperty': True,
+ 'version': None,
+ 'ownerId': '4a84415b-4580-4a78-aa33-501f0cd3d079',
+ 'empty': False
+ }]
+}
+
+
+VL_PROPERTIES = {
+ "properties": [{
+ 'uniqueId': 'd37cd65e-9842-4490-9343-a1a874e6b52a.network_role',
+ 'type': 'string',
+ 'required': False,
+ 'definition': False,
+ 'defaultValue': None,
+ 'description': 'Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network\n',
+ 'schema': None,
+ 'password': False,
+ 'name': 'network_role',
+ 'value': None,
+ 'label': None,
+ 'hidden': False,
+ 'immutable': False,
+ 'inputPath': None,
+ 'status': None,
+ 'inputId': None,
+ 'instanceUniqueId': None,
+ 'propertyId': None,
+ 'parentPropertyType': None,
+ 'subPropertyInputPath': None,
+ 'annotations': None,
+ 'parentUniqueId': '1af9771b-0f79-4e98-8747-30fd06da85cb',
+ 'getInputValues': None,
+ 'isDeclaredListInput': False,
+ 'getPolicyValues': None,
+ 'propertyConstraints': None,
+ 'constraints': None,
+ 'schemaType': None,
+ 'schemaProperty': None,
+ 'getInputProperty': False,
+ 'version': None,
+ 'ownerId': '1af9771b-0f79-4e98-8747-30fd06da85cb',
+ 'empty': False
+ }]
+}
+
+
+@mock.patch.object(Service, "send_message_json")
+@mock.patch.object(Service, "send_message")
+def test_service_properties(mock_send, mock_send_json):
+
+ service = Service(name="test")
+ service.unique_identifier = "toto"
+
+ mock_send_json.return_value = {}
+ assert len(list(service.properties)) == 0
+
+ mock_send_json.return_value = PROPERTIES
+ properties_list = list(service.properties)
+ assert len(properties_list) == 4
+ prop1, prop2, prop3, prop4 = properties_list
+
+ mock_send_json.return_value = INPUTS
+
+ assert prop1.sdc_resource == service
+ assert prop1.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.llllll"
+ assert prop1.name == "llllll"
+ assert prop1.property_type == "integer"
+ assert prop1.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop1.value == '{"get_input":["lililili","INDEX","llllll"]}'
+ assert prop1.description is None
+ assert prop1.get_input_values
+ prop1_input = prop1.input
+ assert prop1_input.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.lililili"
+ assert prop1_input.input_type == "list"
+ assert prop1_input.name == "lililili"
+ assert prop1_input.default_value is None
+
+ assert prop2.sdc_resource == service
+ assert prop2.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.test"
+ assert prop2.name == "test"
+ assert prop2.property_type == "string"
+ assert prop2.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop2.value is None
+ assert prop2.description is None
+ assert prop2.get_input_values == []
+ assert prop2.input is None
+
+ assert prop3.sdc_resource == service
+ assert prop3.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.yyy"
+ assert prop3.name == "yyy"
+ assert prop3.property_type == "string"
+ assert prop3.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop3.value == "lalala"
+ assert prop3.description is None
+ assert prop3.get_input_values is None
+ assert prop3.input is None
+
+ assert prop4.sdc_resource == service
+ assert prop4.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.test2"
+ assert prop4.name == "test2"
+ assert prop4.property_type == "boolean"
+ assert prop4.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop4.value == '{"get_input":"test2"}'
+ assert prop4.description == "test2"
+ assert prop4.get_input_values
+ with pytest.raises(ParameterError):
+ prop4.input
+
+
+@mock.patch.object(Service, "send_message_json")
+def test_service_inputs(mock_send_json):
+ service = Service(name="test")
+ service.unique_identifier = "toto"
+
+ mock_send_json.return_value = {}
+ assert len(list(service.inputs)) == 0
+
+ mock_send_json.return_value = INPUTS
+ inputs_list = list(service.inputs)
+ assert len(inputs_list) == 4
+
+ input1, input2, input3, input4 = inputs_list
+ assert input1.unique_id == "9ee5fb23-4c4a-46bd-8682-68698559ee9c.skip_post_instantiation_configuration"
+ assert input1.input_type == "boolean"
+ assert input1.name == "skip_post_instantiation_configuration"
+ assert input1.default_value == "true"
+
+ assert input2.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.test"
+ assert input2.input_type == "string"
+ assert input2.name == "test"
+ assert input2.default_value is None
+
+ assert input3.unique_id == "9ee5fb23-4c4a-46bd-8682-68698559ee9c.controller_actor"
+ assert input3.input_type == "string"
+ assert input3.name == "controller_actor"
+ assert input3.default_value == "SO-REF-DATA"
+
+ assert input4.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.lililili"
+ assert input4.input_type == "list"
+ assert input4.name == "lililili"
+ assert input4.default_value is None
+
+
+@mock.patch.object(Vf, "send_message_json")
+def test_vf_properties(mock_send_json):
+ vf = Vf(name="test")
+ vf.unique_identifier = "toto"
+
+ mock_send_json.return_value = {}
+ assert len(list(vf.properties)) == 0
+
+ mock_send_json.return_value = PROPERTIES
+ properties_list = list(vf.properties)
+ assert len(properties_list) == 4
+ prop1, prop2, prop3, prop4 = properties_list
+
+ mock_send_json.return_value = INPUTS
+
+ assert prop1.sdc_resource == vf
+ assert prop1.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.llllll"
+ assert prop1.name == "llllll"
+ assert prop1.property_type == "integer"
+ assert prop1.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop1.value == '{"get_input":["lililili","INDEX","llllll"]}'
+ assert prop1.description is None
+ assert prop1.get_input_values
+ prop1_input = prop1.input
+ assert prop1_input.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.lililili"
+ assert prop1_input.input_type == "list"
+ assert prop1_input.name == "lililili"
+ assert prop1_input.default_value is None
+
+ assert prop2.sdc_resource == vf
+ assert prop2.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.test"
+ assert prop2.name == "test"
+ assert prop2.property_type == "string"
+ assert prop2.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop2.value is None
+ assert prop2.description is None
+ assert prop2.get_input_values == []
+ assert prop2.input is None
+
+ assert prop3.sdc_resource == vf
+ assert prop3.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.yyy"
+ assert prop3.name == "yyy"
+ assert prop3.property_type == "string"
+ assert prop3.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop3.value == "lalala"
+ assert prop3.description is None
+ assert prop3.get_input_values is None
+ assert prop3.input is None
+
+ assert prop4.sdc_resource == vf
+ assert prop4.unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079.test2"
+ assert prop4.name == "test2"
+ assert prop4.property_type == "boolean"
+ assert prop4.parent_unique_id == "4a84415b-4580-4a78-aa33-501f0cd3d079"
+ assert prop4.value == '{"get_input":"test2"}'
+ assert prop4.description == "test2"
+ assert prop4.get_input_values
+ with pytest.raises(ParameterError):
+ prop4.input
+
+
+@mock.patch.object(Vl, "send_message_json")
+@mock.patch.object(Vl, "exists")
+def test_vl_properties(mock_exists, mock_send_json):
+ mock_exists.return_value = True
+ vl = Vl(name="test")
+ vl.unique_identifier = "toto"
+
+ mock_send_json.return_value = {}
+ assert len(list(vl.properties)) == 0
+
+ mock_send_json.return_value = VL_PROPERTIES
+ properties_list = list(vl.properties)
+ assert len(properties_list) == 1
+ prop = properties_list[0]
+
+ assert prop.sdc_resource == vl
+ assert prop.unique_id == "d37cd65e-9842-4490-9343-a1a874e6b52a.network_role"
+ assert prop.name == "network_role"
+ assert prop.property_type == "string"
+ assert prop.parent_unique_id == "1af9771b-0f79-4e98-8747-30fd06da85cb"
+ assert prop.value is None
+ assert prop.description == "Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network\n"
+ assert prop.get_input_values is None
+ assert prop.input is None
+
+
+@mock.patch.object(SdcResource, "send_message_json")
+def test_sdc_resource_is_own_property(mock_send_json):
+ sdc_resource = SdcResource(name="test")
+ sdc_resource.unique_identifier = "toto"
+ mock_send_json.return_value = PROPERTIES
+ prop1 = Property(
+ name="llllll",
+ property_type="integer"
+ )
+ prop2 = Property(
+ name="test2",
+ property_type="string"
+ )
+ assert sdc_resource.is_own_property(prop1)
+ assert not sdc_resource.is_own_property(prop2)
+
+@mock.patch.object(SdcResource, "properties", new_callable=mock.PropertyMock)
+@mock.patch.object(SdcResource, "send_message_json")
+def test_sdc_resource_set_property_value(mock_send_message_json, mock_sdc_resource_properties):
+ sdc_resource = SdcResource(name="test")
+ sdc_resource.unique_identifier = "toto"
+
+ mock_sdc_resource_properties.return_value = [
+ Property(name="test",
+ property_type="string",
+ sdc_resource=sdc_resource)
+ ]
+ with pytest.raises(ParameterError):
+ sdc_resource.set_property_value(Property(name="test2",
+ property_type="integer",
+ sdc_resource=sdc_resource),
+ value="lalala")
+ prop = sdc_resource.get_property(property_name="test")
+ assert prop.name == "test"
+ assert prop.property_type == "string"
+ assert not prop.value
+
+ prop.value = "test"
+ mock_send_message_json.assert_called_once()
+ assert prop.value == "test"
+
+@mock.patch.object(SdcResource, "inputs", new_callable=mock.PropertyMock)
+@mock.patch.object(SdcResource, "send_message_json")
+def test_sdc_resource_input_default_value(mock_send_message_json, mock_inputs):
+ sdc_resource = SdcResource(name="test")
+ sdc_resource.unique_identifier = "toto"
+
+ mock_inputs.return_value = [
+ Input(unique_id="123",
+ input_type="integer",
+ name="test",
+ sdc_resource=sdc_resource)
+ ]
+ assert sdc_resource.get_input("test")
+ input_obj = sdc_resource.get_input("test")
+ assert not input_obj.default_value
+ input_obj.default_value = "123"
+ mock_send_message_json.assert_called_once()
+ assert input_obj.default_value == "123"