diff options
author | 2018-11-02 00:13:27 +0000 | |
---|---|---|
committer | 2018-11-02 00:13:27 +0000 | |
commit | bbfb8ee3e7ffdd69ac4173acb1bbb06dee0842f9 (patch) | |
tree | d8bf9c8a4dd90768fe332630d047a154360debfd /tests/optf-cmso/cmso/attlibs/JSONUtils.py | |
parent | 6b94dbdcf230c1f880f76ffd8224a5ef5c9222e9 (diff) | |
parent | 8bf49988b7d6af5fdb48b5d2c1f830fbe318e83a (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.py | 37 |
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 |