示例#1
0
    def test_asserts06(self):
        self.assertRaisesRegexp(
            NotImplementedError,
            "record, map, array, enum are not supported in union",
            lambda: getPFAField(
                {
                    "type": "array",
                    "items":
                    ["int", "double", {
                        "type": "map",
                        "values": "int"
                    }]
                }, "input"))

        self.assertRaisesRegexp(
            NotImplementedError,
            "record, map, array, enum are not supported in union",
            lambda: getPFAField(
                {
                    "type": "array",
                    "items":
                    ["int", "double", {
                        "type": "array",
                        "items": "int"
                    }]
                }, "input"))

        self.assertRaisesRegexp(
            NotImplementedError,
            "Unable to determine the AvroType of items in ",
            lambda: getPFAField({"type": "array"}, "input"))
示例#2
0
    def test_field1(self):
        field, type = getPFAField("boolean", "input")
        self.assertEqual(field, [("input_value", "boolean")])
        self.assertEqual(type, False)

        field, type = getPFAField("int", "input")
        self.assertEqual(field, [("input_value", "int")])
        self.assertEqual(type, False)
示例#3
0
    def test_field2(self):
        field, type = getPFAField(["boolean", "null"], "input")
        self.assertEqual(field, [("input_value", "boolean,null")])
        self.assertEqual(type, False)

        field, type = getPFAField(["int", "long", "float", "double"], "input")
        self.assertEqual(field, [("input_value", "int,long,float,double")])
        self.assertEqual(type, False)
示例#4
0
 def test_asserts01(self):
     self.assertRaisesRegexp(
         TypeError, "Un-identified ",
         lambda: getPFAField(set("madeUpAvroType"), "input"))
     self.assertRaisesRegexp(TypeError, "Un-identified ",
                             lambda: getPFAField(1, "input"))
     self.assertRaisesRegexp(TypeError, "Un-identified ",
                             lambda: getPFAField(1.3, "input"))
     self.assertRaisesRegexp(
         TypeError, "Un-identified ", lambda: getPFAField(
             ("bool", "float"), "input"))
示例#5
0
    def test_field3(self):
        field, type = getPFAField({"type": "array", "items": "int"}, "input")
        self.assertEqual(field, [("input_value", "array of int")])
        self.assertEqual(type, False)

        field, type = getPFAField(
            {
                "type": "array",
                "items": ["int", "double", "null"]
            }, "input")
        self.assertEqual(field, [("input_value", "array of int,double,null")])
        self.assertEqual(type, False)
示例#6
0
    def test_asserts04(self):
        self.assertRaisesRegexp(
            NotImplementedError,
            "input of AvroType 'union' should not contain",
            lambda: getPFAField([
                "boolean", "madeUpAvroType", {
                    "type": "array",
                    "items": "int"
                }
            ], "input"))

        self.assertRaisesRegexp(
            NotImplementedError, "tagged union",
            lambda: getPFAField(["boolean", "madeUpAvroType"], "input"))
示例#7
0
 def test_asserts10(self):
     self.assertRaisesRegexp(
         NotImplementedError, "'record', 'enum' and 'array' datatype for ",
         lambda: getPFAField({
             "type": "unknown",
             "name": "Unknown"
         }, "input"))
示例#8
0
 def test_asserts09(self):
     self.assertRaisesRegexp(
         NotImplementedError,
         "Field with datatype 'array' is not supported in the",
         lambda: getPFAField(
             {
                 "type":
                 "record",
                 "name":
                 "Input",
                 "fields": [{
                     "name": "x",
                     "type": "int"
                 }, {
                     "name": "y",
                     "type": ["boolean", "null"]
                 }, {
                     "name": "a",
                     "type": {
                         "type": "array",
                         "items": "double"
                     }
                 }, {
                     "name": "e",
                     "type": {
                         "type": "enum",
                         "name": "Test",
                         "symbols": ["A", "B", "C"]
                     }
                 }]
             }, "input"))
示例#9
0
 def test_asserts08b(self):
     self.assertRaisesRegexp(
         NotImplementedError, " is not supported.", lambda: getPFAField(
             {
                 "type":
                 "record",
                 "name":
                 "Input",
                 "fields": [
                     {
                         "type":
                         "record",
                         "name":
                         "MyRecord",
                         "fields": [{
                             "name": "one",
                             "type": "int"
                         }, {
                             "name": "two",
                             "type": "double"
                         }, {
                             "name": "three",
                             "type": "string"
                         }]
                     },
                 ]
             }, "input"))
示例#10
0
 def test_asserts08a(self):
     self.assertRaisesRegexp(
         NotImplementedError, " is not supported", lambda: getPFAField(
             {
                 "type":
                 "record",
                 "name":
                 "Input",
                 "fields": [
                     {
                         "name": "x",
                         "type": "int"
                     },
                     {
                         "name": "y",
                         "type": ["boolean", "null"]
                     },
                     {
                         "name": "a",
                         "type": {
                             "type": "map",
                             "values": "double"
                         }
                     },
                 ]
             }, "input"))
示例#11
0
 def test_asserts07(self):
     self.assertRaisesRegexp(
         NotImplementedError,
         "record, map, array, enum are not supported in union",
         lambda: getPFAField(
             {
                 "type":
                 "record",
                 "name":
                 "Input",
                 "fields": [{
                     "name": "x",
                     "type": "int"
                 }, {
                     "name":
                     "y",
                     "type": [
                         "boolean", "null", {
                             "type": "enum",
                             "name": "Test",
                             "symbols": ["A", "B", "C"]
                         }
                     ]
                 }]
             }, "input"))
示例#12
0
 def test_asserts05(self):
     self.assertRaisesRegexp(
         NotImplementedError,
         "Unable to determine the field names for AvroType 'map'",
         lambda: getPFAField({
             "type": "map",
             "values": "int"
         }, "input"))
示例#13
0
 def test_field4(self):
     field, type = getPFAField(
         {
             "type": "enum",
             "name": "Test",
             "symbols": ["A", "B", "C"]
         }, "input")
     self.assertEqual(field, [("input_value", "enum")])
     self.assertEqual(type, False)
示例#14
0
    def test_field5(self):
        field, type = getPFAField(
            {
                "type":
                "record",
                "name":
                "Input",
                "fields": [{
                    "name": "x",
                    "type": "int"
                }, {
                    "name": "y",
                    "type": ["boolean", "null"]
                }, {
                    "name": "e",
                    "type": {
                        "type": "enum",
                        "name": "Test",
                        "symbols": ["A", "B", "C"]
                    }
                }]
            }, "input")
        self.assertEqual(field, [("x", "int"), ("y", "boolean,null"),
                                 ("e", "enum")])
        self.assertEqual(type, True)

        field, type = getPFAField(
            {
                "type":
                "record",
                "name":
                "Input",
                "fields": [
                    {
                        "name": "a",
                        "type": {
                            "type": "array",
                            "items": "double"
                        }
                    },
                ]
            }, "input")
        self.assertEqual(field, [("a", "array")])
        self.assertEqual(type, True)
示例#15
0
 def test_asserts08c(self):
     self.assertRaisesRegexp(
         NotImplementedError, " is not supported.", lambda: getPFAField(
             {
                 "type":
                 "record",
                 "name":
                 "Input",
                 "fields": [{
                     "name": "x",
                     "type": set("int")
                 }, {
                     "name":
                     "y",
                     "type":
                     tuple([
                         "boolean", "null", {
                             "type": "enum",
                             "name": "Test",
                             "symbols": ["A", "B", "C"]
                         }
                     ])
                 }]
             }, "input"))
示例#16
0
 def test_asserts02(self):
     self.assertRaisesRegexp(NotImplementedError,
                             "Un-identified input AvroType madeUpAvroType",
                             lambda: getPFAField("madeUpAvroType", "input"))