def test_column2field(self): column = sa.Column(sa.String(255)) field = column2field(column, instance=True) assert type(field) == fields.String field_cls = column2field(column, instance=False) assert field_cls == fields.String
class ContributionFieldValueSchema(mm.Schema): id = column2field(ContributionFieldValue.contribution_field_id, attribute='contribution_field_id') name = String(attribute='contribution_field.title') value = Raw(attribute='friendly_data') class Meta: model = ContributionFieldValue fields = ('id', 'name', 'value')
def test_uuid_column2field(self): class UUIDType(sa.types.TypeDecorator): python_type = uuid.UUID impl = sa.BINARY(16) column = sa.Column(UUIDType) assert issubclass(column.type.python_type, uuid.UUID) # Test against test check assert hasattr(column.type, 'length') # Test against test check assert column.type.length == 16 # Test against test field = column2field(column, instance=True) uuid_val = uuid.uuid4() assert field.deserialize(str(uuid_val)) == uuid_val
def test_can_pass_extra_kwargs(self): column = sa.Column(sa.String(255)) field = column2field(column, instance=True, description="just a string") assert field.metadata["description"] == "just a string"