def test_context_billing_email_allowed_for_billing_email(self): from pyramid_bimt.views.user import deferred_user_billing_email_validator # noqa schema = SQLAlchemySchemaNode(User) self.request.context = User.by_email('*****@*****.**') self.request.POST['email'] = '*****@*****.**' validator = deferred_user_billing_email_validator( None, {'request': self.request}) self.assertFalse(validator(schema.get('email'), '*****@*****.**'))
def test_context_name_allowed_for_name(self): from pyramid_bimt.views.group import deferred_group_name_validator schema = SQLAlchemySchemaNode(Group) self.request.context = Group.by_name('enabled') self.request.POST['name'] = 'enabled' validator = deferred_group_name_validator(None, {'request': self.request}) self.assertFalse(validator(schema.get('name'), 'enabled'))
def test_context_product_id_allowed_for_product_id(self): from pyramid_bimt.views.group import deferred_group_product_id_validator # noqa schema = SQLAlchemySchemaNode(Group) self.request.context = Group.by_name('enabled') self.request.context.product_id = '123' self.request.POST['product_id'] = '123' validator = deferred_group_product_id_validator( None, {'request': self.request}) self.assertFalse(validator(schema.get('product_id'), '123'))
from colander import null from colanderalchemy import SQLAlchemySchemaNode from deform.widget import RichTextWidget, HiddenWidget, PasswordWidget from terms.server.schemata import Schema class Person(Schema): name = Column(String()) surname = Column(String()) password = Column(String()) PersonSchema = SQLAlchemySchemaNode(Person) PersonSchema.get('id').widget = HiddenWidget() PersonSchema.get('_id').widget = HiddenWidget() PersonSchema.get('ntype').widget = HiddenWidget() class PasswordWidget(PasswordWidget): def deserialize(self, field, pstruct): value = super(PasswordWidget, self).deserialize(field, pstruct) if isinstance(value, basestring) and len(value) == 60: return value try: return bcrypt.hashpw(value, bcrypt.gensalt()) except TypeError: return value