def test_derive_schema(self): json = Json().derive_schema() expected = {'format.derive-schema': 'true', 'format.property-version': '1', 'format.type': 'json'} properties = json.to_properties() self.assertEqual(expected, properties)
def test_ignore_parse_errors(self): json = Json().ignore_parse_errors(True) expected = {'format.ignore-parse-errors': 'true', 'format.property-version': '1', 'format.type': 'json'} properties = json.to_properties() self.assertEqual(expected, properties)
def test_fail_on_missing_field_true(self): json = Json().fail_on_missing_field(True) expected = {'format.fail-on-missing-field': 'true', 'format.property-version': '1', 'format.type': 'json'} properties = json.to_properties() self.assertEqual(expected, properties)
def test_schema(self): json = Json().schema(DataTypes.ROW([DataTypes.FIELD("a", DataTypes.INT()), DataTypes.FIELD("b", DataTypes.STRING())])) expected = {'format.schema': 'ROW<a INT, b VARCHAR>', 'format.property-version': '1', 'format.type': 'json'} properties = json.to_properties() self.assertEqual(expected, properties)
def test_json_schema(self): json = Json().json_schema("{" "'title': 'Fruit'," "'type': 'object'," "'properties': " "{" "'name': {'type': 'string'}," "'count': {'type': 'integer'}," "'time': " "{" "'description': 'row time'," "'type': 'string'," "'format': 'date-time'" "}" "}," "'required': ['name', 'count', 'time']" "}") expected = { 'format.json-schema': "{" "'title': 'Fruit'," "'type': 'object'," "'properties': {" "'name': {'type': 'string'}," "'count': {'type': 'integer'}," "'time': {" "'description': 'row time'," "'type': 'string'," "'format': 'date-time'}" "}," "'required': ['name', 'count', 'time']}", 'format.property-version': '1', 'format.type': 'json' } properties = json.to_properties() self.assertEqual(expected, properties)