aboutsummaryrefslogtreecommitdiffstats
path: root/tests/optf-cmso/cmso/attlibs/JSONUtils.py
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2018-11-02 00:13:27 +0000
committerGerrit Code Review <gerrit@onap.org>2018-11-02 00:13:27 +0000
commitbbfb8ee3e7ffdd69ac4173acb1bbb06dee0842f9 (patch)
treed8bf9c8a4dd90768fe332630d047a154360debfd /tests/optf-cmso/cmso/attlibs/JSONUtils.py
parent6b94dbdcf230c1f880f76ffd8224a5ef5c9222e9 (diff)
parent8bf49988b7d6af5fdb48b5d2c1f830fbe318e83a (diff)
Merge "Change Management Schedule Optimization"
Diffstat (limited to 'tests/optf-cmso/cmso/attlibs/JSONUtils.py')
-rw-r--r--tests/optf-cmso/cmso/attlibs/JSONUtils.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/optf-cmso/cmso/attlibs/JSONUtils.py b/tests/optf-cmso/cmso/attlibs/JSONUtils.py
new file mode 100644
index 00000000..5df1e5c7
--- /dev/null
+++ b/tests/optf-cmso/cmso/attlibs/JSONUtils.py
@@ -0,0 +1,37 @@
+import json
+
+from deepdiff import DeepDiff
+
+class JSONUtils:
+ """JSONUtils is common resource for simple json helper keywords."""
+
+ def json_equals(self, left, right):
+ """JSON Equals takes in two strings or json objects, converts them into json if needed and then compares them, returning if they are equal or not."""
+ if isinstance(left, basestring):
+ left_json = json.loads(left);
+ else:
+ left_json = left;
+ if isinstance(right, basestring):
+ right_json = json.loads(right);
+ else:
+ right_json = right;
+
+ ddiff = DeepDiff(left_json, right_json, ignore_order=True);
+ if ddiff == {}:
+ return True;
+ else:
+ return False;
+
+ def json_escape(self, jsonObject):
+ jsonstr = json.dumps(jsonObject)
+ outstr = jsonstr.replace('"', '\\"').replace('\n', '\\n')
+ return outstr
+
+ def make_list_into_dict(self, listOfDicts, key):
+ """ Converts a list of dicts that contains a field that has a unique key into a dict of dicts """
+ d = {}
+ if isinstance(listOfDicts, list):
+ for thisDict in listOfDicts:
+ v = thisDict[key]
+ d[v] = thisDict
+ return d \ No newline at end of file