def test_update_field(): schema = Schema(DESCRIPTOR_MIN) assert schema.update_field('id', {'type': 'number'}) is True assert schema.update_field('height', {'type': 'number'}) is True assert schema.update_field('unknown', {'type': 'number'}) is False schema.commit() assert schema.get_field('id').type == 'number' assert schema.get_field('height').type == 'number'
def test_infer_schema(): runner = CliRunner() result = runner.invoke(infer, ['data/data_infer.csv']) # output is a string, evaluate to a dict schema = ast.literal_eval(result.output) schema_model = Schema(schema) assert schema_model.get_field('id').type == 'integer' assert schema_model.get_field('age').type == 'integer' assert schema_model.get_field('name').type == 'string'
def test_infer_schema(): runner = CliRunner() result = runner.invoke(cli.infer, ['data/data_infer.csv']) # output is a string, evaluate to a dict schema = ast.literal_eval(result.output) schema_model = Schema(schema) assert schema_model.get_field('id').type == 'integer' assert schema_model.get_field('age').type == 'integer' assert schema_model.get_field('name').type == 'string'
def test_infer_schema_utf8(): """UTF8 encoded data containing non-ascii characters.""" runner = CliRunner() result = runner.invoke(infer, ['data/data_infer_utf8.csv']) # output is a string, evaluate to a dict schema = ast.literal_eval(result.output) schema_model = Schema(schema) assert schema_model.get_field('id').type == 'integer' assert schema_model.get_field('age').type == 'integer' assert schema_model.get_field('name').type == 'string'
def test_infer_schema_utf8(): """UTF8 encoded data containing non-ascii characters.""" runner = CliRunner() result = runner.invoke(cli.infer, ['data/data_infer_utf8.csv']) # output is a string, evaluate to a dict schema = ast.literal_eval(result.output) schema_model = Schema(schema) assert schema_model.get_field('id').type == 'integer' assert schema_model.get_field('age').type == 'integer' assert schema_model.get_field('name').type == 'string'
def test_infer_schema_greek(): """iso-8859-7 (greek) encoded data containing non-ascii characters.""" runner = CliRunner() result = runner.invoke( cli.infer, ['data/data_infer_iso-8859-7.csv', '--encoding=iso-8859-7']) # output is a string, evaluate to a dict schema = ast.literal_eval(result.output) schema_model = Schema(schema) assert schema_model.get_field('id').type == 'integer' assert schema_model.get_field('age').type == 'integer' assert schema_model.get_field('name').type == 'string'
def test_get_field(): schema = Schema(DESCRIPTOR_MIN) assert schema.get_field('id').name == 'id' assert schema.get_field('height').name == 'height' assert schema.get_field('undefined') is None
def test_fields_have_public_backreference_to_schema(): schema = Schema('data/schema_valid_full.json') assert schema.get_field('first_name').schema == schema assert schema.get_field('last_name').schema == schema
def test_get_field(): schema = Schema(DESCRIPTOR_MIN) assert schema.get_field('id').name == 'id' assert schema.get_field('height').name == 'height' assert schema.get_field('undefined') is None