def test_db(self): from connection_factory import connect from account_generator import Account_Postgres_MD5_Salt_Generator path = os.path.join(get_abs_module_path(self.__class__), 'account') self.cleanup_dir(path) gen = Account_Postgres_MD5_Salt_Generator(path,'Account','connection_factory') gen.generate_files() with connect() as conn: with transaction(conn): cur = conn.cursor() try: cur.execute('''DROP TABLE account CASCADE''') except: pass with transaction(conn): cur = conn.cursor() try: cur.execute('''DROP SEQUENCE account_pk_seq''') except: pass with transaction(conn): cur = conn.cursor() sql = open( os.path.join(get_abs_module_path(self.__class__), 'account/account.sql'), 'r' ).read() cur.execute(sql) m = __import__('account.account_biz', fromlist=['account_biz']) acc = m.AccountBiz() (passw, phash, salt) = acc.gen_password() idn = acc.create('test_user1', phash, salt) from session_storage_memcached import SessionStorageMemcached from login_biz import Login_Biz storage = SessionStorageMemcached('127.0.0.1:11211', 'test_session_storage_memcached') lb = Login_Biz(acc, storage) lb.login('test_user1', passw)
def delete(self, id): with connect() as conn: with transaction(conn): dao = AccountDAO(conn) return dao.delete(eq('id',id))
def update(self, id, passwd_hash, passwd_salt): with connect() as conn: with transaction(conn): dao = AccountDAO(conn) return dao.update(eq('id',id), passwd_hash=passwd_hash, passwd_salt=passwd_salt)
def create(self, login, passwd_hash, passwd_salt): with connect() as conn: with transaction(conn): dao = AccountDAO(conn) return dao.create(login=login, passwd_hash=passwd_hash, passwd_salt=passwd_salt)