aboutsummaryrefslogtreecommitdiffstats
path: root/onap-client/onap_client/tests
diff options
context:
space:
mode:
Diffstat (limited to 'onap-client/onap_client/tests')
-rw-r--r--onap-client/onap_client/tests/test-spec.json21
-rw-r--r--onap-client/onap_client/tests/test_engine.py49
-rw-r--r--onap-client/onap_client/tests/testdata.py38
3 files changed, 107 insertions, 1 deletions
diff --git a/onap-client/onap_client/tests/test-spec.json b/onap-client/onap_client/tests/test-spec.json
new file mode 100644
index 0000000..b2fa428
--- /dev/null
+++ b/onap-client/onap_client/tests/test-spec.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "test1": "test1value"
+ },
+ "spec": [
+ {
+ "type": "TEST_RESOURCE",
+ "resource_spec": {
+ "test1": "{{test1}}",
+ "test2": [
+ {
+ "test2_nested": "test2nested",
+ "test2_nesteddict": {
+ "abc": "123"
+ }
+ }
+ ]
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/onap-client/onap_client/tests/test_engine.py b/onap-client/onap_client/tests/test_engine.py
new file mode 100644
index 0000000..808e5b7
--- /dev/null
+++ b/onap-client/onap_client/tests/test_engine.py
@@ -0,0 +1,49 @@
+# -*- coding: utf8 -*-
+# ============LICENSE_START=======================================================
+# org.onap.vvp/validation-scripts
+# ===================================================================
+# Copyright © 2020 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the "License");
+# you may not use this software 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.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# 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============================================
+from onap_client.tests.testdata import TestResource # noqa: F401
+from onap_client.engine import load_spec
+from os.path import dirname, abspath
+
+THIS_DIR = dirname(abspath(__file__))
+
+
+def test_engine():
+ spec_file = "{}/test-spec.json".format(THIS_DIR)
+
+ t = load_spec(spec_file)
+
+ assert isinstance(t, dict)
diff --git a/onap-client/onap_client/tests/testdata.py b/onap-client/onap_client/tests/testdata.py
index ade4713..c5cb235 100644
--- a/onap-client/onap_client/tests/testdata.py
+++ b/onap-client/onap_client/tests/testdata.py
@@ -37,7 +37,7 @@
from functools import partial
from os.path import dirname, abspath
-
+from onap_client.resource import Resource
from onap_client.client.clients import Client
TEST_URI = "http://this.is.a.test.com"
@@ -54,6 +54,42 @@ class TestClient(Client):
return CATALOG_RESOURCES
+class TestResource(Resource):
+ resource_name = "TEST_RESOURCE"
+ spec = {
+ "test1": {"type": str, "required": True},
+ "test2": {
+ "type": list,
+ "list_item": dict,
+ "required": False,
+ "default": [],
+ "nested": {
+ "test2_nested": {"type": str, "required": True},
+ "test2_nesteddict": {"type": dict, "required": True, "default": {}},
+ },
+ },
+ }
+
+ def __init__(self, test1, test2):
+ instance_input = {}
+
+ instance_input["test1"] = test1
+ instance_input["test2"] = test2
+
+ super().__init__(instance_input)
+
+ def _create(self, instance_input):
+ print("creating test instance {}".format(instance_input))
+
+ return instance_input
+
+ def _post_create(self):
+ print("post create for test instance")
+
+ def _submit(self):
+ print("submit for test instance")
+
+
CATALOG_RESOURCES = {
"MAKE_TEST_REQUEST": {
"verb": "POST",