Commit 089d9ca1 authored by Ian Clelland's avatar Ian Clelland Committed by Luke Plant
Browse files

Add assertJSONEqual method to TestCase

parent dc704516
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -407,6 +407,18 @@ class SimpleTestCase(ut2.TestCase):
            self.assertTrue(real_count != 0,
                msg_prefix + "Couldn't find '%s' in response" % needle)

    def assertJSONEqual(self, raw, expected_data, msg=None):
        try:
            data = json.loads(raw)
        except ValueError:
            self.fail("First argument is not valid JSON: %r" % raw)
        if isinstance(expected_data, six.string_types):
            try:
                expected_data = json.loads(expected_data)
            except ValueError:
                self.fail("Second argument is not valid JSON: %r" % expected_data)
        self.assertEqual(data, expected_data, msg=msg)

    def assertXMLEqual(self, xml1, xml2, msg=None):
        """
        Asserts that two XML snippets are semantically the same.