Example #1
0
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'
Example #2
0
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'
Example #3
0
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'
Example #4
0
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'
Example #5
0
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'
Example #7
0
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
Example #8
0
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
Example #9
0
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