diff options
Diffstat (limited to 'onap-client/onap_client/tests')
-rw-r--r-- | onap-client/onap_client/tests/test-spec.json | 21 | ||||
-rw-r--r-- | onap-client/onap_client/tests/test_engine.py | 49 | ||||
-rw-r--r-- | onap-client/onap_client/tests/testdata.py | 38 |
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", |