jeudi 20 août 2015

Mock SqlAlchemy return in unit test

I need return specific value on call query's on sqlalchemy. In my case the return of my test case is need True. The call sessionmaker(bind=engine).query(UserToken).filter(UserToken.token == token).all() return expected is list ['MyToken']. How implement this?

Example code:

import unittest

class LoginValidateTestCase(unittest.TestCase):
    def test_check_if_token_exists_expected_true(self):
        ret = check_token("MyToken")
        assert ret == True, "Error: %s" % ret


class UserToken(object):
    token = Column(String(50))


engine = "sqlite:///:memory:"
def check_token(token):
    ret = sessionmaker(bind=engine).query(UserToken).filter(UserToken.token == token).all()

    return len(ret) > 0

Aucun commentaire:

Enregistrer un commentaire