Beispiel #1
0
    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"]))
Beispiel #2
0
    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))
Beispiel #3
0
 def testAreAlwaysSuccessful(self):
     result = SuccessParseResult("A", "B", "C", frozenset())
     self.assertTrue(result.is_successful())