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"))
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)
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)
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"))
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)
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"))
def test_asserts10(self): self.assertRaisesRegexp( NotImplementedError, "'record', 'enum' and 'array' datatype for ", lambda: getPFAField({ "type": "unknown", "name": "Unknown" }, "input"))
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"))
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"))
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"))
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"))
def test_asserts05(self): self.assertRaisesRegexp( NotImplementedError, "Unable to determine the field names for AvroType 'map'", lambda: getPFAField({ "type": "map", "values": "int" }, "input"))
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)
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)
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"))
def test_asserts02(self): self.assertRaisesRegexp(NotImplementedError, "Un-identified input AvroType madeUpAvroType", lambda: getPFAField("madeUpAvroType", "input"))