factories.py 788 B

1234567891011121314151617181920212223242526272829303132
  1. # -*- coding: utf-8 -*-
  2. """Factories to help in tests."""
  3. from factory import PostGenerationMethodCall, Sequence
  4. from factory.alchemy import SQLAlchemyModelFactory
  5. from werkzeug.security import generate_password_hash
  6. from walle.model.database import db
  7. from walle.model.user import UserModel
  8. class BaseFactory(SQLAlchemyModelFactory):
  9. """Base factory."""
  10. class Meta:
  11. """Factory configuration."""
  12. abstract = True
  13. sqlalchemy_session = db.session
  14. class UserFactory(BaseFactory):
  15. """User factory."""
  16. username = Sequence(lambda n: 'test{0}'.format(n))
  17. email = Sequence(lambda n: 'test{0}@walle.com'.format(n))
  18. password = generate_password_hash('test0pwd')
  19. class Meta:
  20. """Factory configuration."""
  21. model = UserModel