def testJsonEncoding(self): success_result = SuccessParseResult( "Title", "Author", "Summary", frozenset(["Universe"])) resulting_json = success_result.as_json() reloaded_object = json.loads(resulting_json) self.assertEqual(reloaded_object["title"], "Title") self.assertEqual(reloaded_object["author"], "Author") self.assertEqual(reloaded_object["summary"], "Summary") self.assertEqual( frozenset(reloaded_object["universes"]), frozenset(["Universe"]))
def testSchema(self): with open("test/schema/apiphany-schema/storyDetails.schema.json", 'r') as schema_file: schema_object = json.loads(schema_file.read()) validator = Draft4Validator(schema_object) result = SuccessParseResult("Title", "Author", "Summary", ["Universe1", "Universe2"]) result_json = json.loads(result.as_json()) try: validator.validate(result_json) except SchemaError as e: self.fail("Story details don't follow correct JSON schema: {}".format(e))
def testAreAlwaysSuccessful(self): result = SuccessParseResult("A", "B", "C", frozenset()) self.assertTrue(result.is_successful())