From 81b9ed7a3af1032caa86f316a21e9b2912bb1271 Mon Sep 17 00:00:00 2001 From: Tommy Carpenter Date: Wed, 23 Aug 2017 11:21:44 -0400 Subject: Intiial utils push to ONAP Issue-Id: DCAEGEN2-80 Change-Id: I1dc8f2d384b0af346fccb86e6767b7e3ca484078 Signed-off-by: Tommy Carpenter --- python-discovery-client/tests/test_util.py | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 python-discovery-client/tests/test_util.py (limited to 'python-discovery-client/tests/test_util.py') 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) -- cgit 1.2.3-korg