diff options
author | Davanum Srinivas <davanum@gmail.com> | 2015-03-13 10:59:51 -0400 |
---|---|---|
committer | Timofey Durakov <tdurakov@mirantis.com> | 2015-03-17 20:23:15 +0300 |
commit | 4e0d61feab9c1848f431cbd5f9806b3eee6b6126 (patch) | |
tree | af7b444cb905180a664f2b75ac9aacc269fff92c /nova/tests/unit/test_test.py | |
parent | c4726e1960d8aec0c837142147d5b960d1114e72 (diff) | |
download | nova-4e0d61feab9c1848f431cbd5f9806b3eee6b6126.tar.gz |
Added assertJsonEqual method to TestCase class
new assertion method allows to compare 2 objects,
ignoring order or nested collections element,
'expected' and 'observed' also could be json-strings
Co-Authored-By: Timofey Durakov <tdurakov@mirantis.com>
Change-Id: I9a16805b0c580caea200509564b7710116c4ac4e
Diffstat (limited to 'nova/tests/unit/test_test.py')
-rw-r--r-- | nova/tests/unit/test_test.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/nova/tests/unit/test_test.py b/nova/tests/unit/test_test.py index 1e7b8c8048..d7f3ff9968 100644 --- a/nova/tests/unit/test_test.py +++ b/nova/tests/unit/test_test.py @@ -53,6 +53,41 @@ class IsolationTestCase(test.TestCase): server.start() +class JsonTestCase(test.TestCase): + def test_json_equal(self): + expected = { + "employees": [ + {"firstName": "Anna", "lastName": "Smith"}, + {"firstName": "John", "lastName": "Doe"}, + {"firstName": "Peter", "lastName": "Jones"} + ], + "locations": set(['Boston', 'Mumbai', 'Beijing', 'Perth']) + } + observed = """{ + "employees": [ + { + "lastName": "Doe", + "firstName": "John" + }, + { + "lastName": "Smith", + "firstName": "Anna" + }, + { + "lastName": "Jones", + "firstName": "Peter" + } + ], + "locations": [ + "Perth", + "Boston", + "Mumbai", + "Beijing" + ] +}""" + self.assertJsonEqual(expected, observed) + + class BadLogTestCase(test.TestCase): """Make sure a mis-formatted debug log will get caught.""" |