summaryrefslogtreecommitdiffstats
path: root/python-discovery-client/tests/test_util.py
diff options
context:
space:
mode:
Diffstat (limited to 'python-discovery-client/tests/test_util.py')
-rw-r--r--python-discovery-client/tests/test_util.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/python-discovery-client/tests/test_util.py b/python-discovery-client/tests/test_util.py
new file mode 100644
index 0000000..8256359
--- /dev/null
+++ b/python-discovery-client/tests/test_util.py
@@ -0,0 +1,59 @@
+# org.onap.dcae
+# ================================================================================
+# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+from collections import Counter
+from discovery_client import util
+
+
+def test_update_json():
+ # Simple
+ test_json = { "a": "{ funk }", "b": "spring" }
+ test_key = ("a", )
+ test_value = "funk is alive"
+ expected = dict(test_json)
+ expected["a"] = test_value
+ actual = util.update_json(test_json, test_key, test_value)
+ assert Counter(expected) == Counter(actual)
+
+ # Nothing to replace, key is empty which translates to repalce the entire
+ # json
+ test_key = ()
+ expected = test_value
+ actual = util.update_json(test_json, test_key, test_value)
+ assert Counter(expected) == Counter(actual)
+
+ # Nested in dicts
+ test_json = { "a": { "aa": { "aaa": "{ funk }", "bbb": "fall" },
+ "bb": "summer" }, "b": "spring" }
+ test_key = ("a", "aa", "aaa")
+ test_value = "funk is alive"
+ expected = dict(test_json)
+ expected["a"]["aa"]["aaa"] = test_value
+ actual = util.update_json(test_json, test_key, test_value)
+ assert Counter(expected) == Counter(actual)
+
+ # Nested in dict list
+ test_json = { "a": { "aa": [ 123, { "aaa": "{ funk }", "bbb": "fall" } ],
+ "bb": "summer" }, "b": "spring" }
+ test_key = ("a", "aa", 1, "aaa")
+ test_value = "funk is alive"
+ expected = dict(test_json)
+ expected["a"]["aa"][1]["aaa"] = test_value
+ actual = util.update_json(test_json, test_key, test_value)
+ assert Counter(expected) == Counter(actual)