def test_custom_contructor(self): """Mapped objects can also have their own constructors.""" session_mapper(SecretUser, self.users_table) test_user = SecretUser(user_id=3, user_name='Falken') assert test_user.user_id == 3 assert test_user.user_name == 'falken' assert test_user.password == 'secret'
def test_contructor(self): """Mapped objects have constructor which takes attributes as kw args.""" session_mapper(User, self.users_table) test_user = User(user_id=1, user_name='Falken', password='******') assert test_user.user_id == 1 assert test_user.user_name == 'Falken' assert test_user.password == 'Joshua'
def test_old_contructor(self): """Mapped old-style classes should work or give a proper error.""" try: session_mapper(OldUser, self.users_table) except ArgumentError: pass # if SQLAlchemy doesn't like old-style classes else: # otherwise, they should work as well test_user = OldUser(user_id=2, user_name='Devine', password='******') assert test_user.user_id == 2 assert test_user.user_name == 'Devine' assert test_user.password == 'Ned'
def test_no_contructor(self): """Mapped objects can also have no constructor at all.""" session_mapper(RawUser, self.users_table, set_kwargs_on_init=False) self.assertRaises(TypeError, RawUser, user_id=4, user_name='Jonny', password='******')
def test_query_attribute(self): """Object mapped with session-aware mapper have 'query' attribute.""" session_mapper(User, self.users_table) assert hasattr(User, 'query') assert hasattr(User.query, 'filter')
def test_no_autoadd(self): """Mapped objects can not be automatically added to session.""" session_mapper(User, self.users_table, autoadd=False) test_user = User(user_id=6, user_name='Barks', password='******') assert test_user not in session
def test_autoadd(self): """Mapped objects are automatically added to session.""" session_mapper(User, self.users_table) test_user = User(user_id=5, user_name='Disney', password='******') assert test_user in session
def test_validate(self): """Constructor of mapped objects can validate kw args.""" session_mapper(User, self.users_table, validate=True) self.assertRaises(TypeError, User, user_id=4, user_name='Falken', nickname='Steve')
def test_no_validate(self): """Constructor of mapped objects does not validate kw args.""" session_mapper(User, self.users_table) test_user = User(user_id=4, user_name='Falken', nickname='Steve') assert test_user.nickname == 'Steve'