def setup_test(): """setup test""" # pylint: disable=invalid-name def create_test_tables(db): """create test tables""" db(""" create table if not exists person ( id int not null auto_increment, name varchar(100), age smallint, kids smallint, salary decimal(10,2), birthdate date, PRIMARY KEY (id) ) """) def delete_test_tables(db): """drop test tables""" db('drop table if exists person') import MySQLdb from zoom.db import Database db = Database(MySQLdb.Connect, host='database', db='test', user='******', passwd='password') db.autocommit(1) delete_test_tables(db) create_test_tables(db) return db
def setUp(self): params = dict( host='database', user='******', passwd='password', db='test', ) self.db = Database(MySQLdb.Connect, **params) self.db.autocommit(1) self.people = EntityStore(self.db, Person) self.joe_id = self.people.put(Person(name='Joe', age=50)) self.sam_id = self.people.put(Person(name='Sam', age=25)) self.people.put(Person(name='Ann', age=30))
def setUp(self): # setup the system and install our own test database system.setup(os.path.expanduser('~')) user.initialize('guest') user.groups = ['managers'] params = dict( host='database', user='******', passwd='password', db='test', ) self.db = Database(MySQLdb.Connect, **params) self.db.autocommit(1) system.db = self.db # create the test collection self.collection = Collection('People', person_fields, Person, url='/myapp') # so we can see our print statements self.save_stdout = sys.stdout sys.stdout = sys.stderr
def setUp(self): self.db = Database(MySQLdb.Connect, host='database', user='******', passwd='password', db='test')
def setUp(self): params = dict( host='database', user='******', passwd='password', db='test', ) now = datetime.datetime(2016, 10, 11, 13, 12, 1) self.db = Database(MySQLdb.Connect, **params) self.db.autocommit(1) # Setup users table # ------------------------------------------------- self.db("DROP TABLE IF EXISTS `dz_users`") self.db(""" CREATE TABLE `dz_users` ( `userid` int(5) NOT NULL auto_increment, `loginid` char(50) default NULL, `password` varchar(125) default NULL, `firstname` char(40) default NULL, `lastname` char(40) default NULL, `email` char(60) default NULL, `phone` char(30) default NULL, `fax` char(30) default NULL, `dtupd` datetime default NULL, `dtadd` datetime default NULL, `status` char(1) default NULL, PRIMARY KEY (`userid`), UNIQUE KEY `userid` (`loginid`), KEY `userid_2` (`loginid`), KEY `email` (`email`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; """) records = [ ('admin', 'admin', 'Admin', 'User', 'A', now, now), ('manager1', 'pass1', 'Manager', 'One', 'A', now, now), ('user1', 'pass2', 'User', 'One', 'A', now, now), ('user2', 'pass3', 'User', 'Two', 'A', now, now), ] self.db.execute_many(""" insert into dz_users (loginid, password, firstname, lastname, status, dtupd, dtadd) values (%s, old_password(%s), %s, %s, %s, %s, %s) """, records) # Setup groups table # ------------------------------------------------- self.db("DROP TABLE IF EXISTS `dz_groups`") self.db(""" CREATE TABLE `dz_groups` ( `groupid` int(11) NOT NULL auto_increment, `type` char(1) default NULL, `name` char(20) default NULL, `descr` char(60) default NULL, `admin` char(20) default NULL, PRIMARY KEY (`groupid`), UNIQUE KEY `name` (`name`), KEY `name_2` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; """) records = [ (1, 'U','administrators','System Administrators','administrators'), (2, 'U','users','Registered Users','administrators'), (3, 'U','guests','Guests','administrators'), (4, 'U','everyone','All users including guests','administrators'), (5, 'U','managers','Site Content Managers','administrators'), ] self.db.execute_many(""" insert into dz_groups values (%s, %s, %s, %s, %s) """, records) # Setup members table # ------------------------------------------------- self.db("DROP TABLE IF EXISTS `dz_members`") self.db(""" CREATE TABLE `dz_members` ( `userid` int(11) default NULL, `groupid` int(11) default NULL, UNIQUE KEY `contactid_2` (`userid`,`groupid`), KEY `contactid` (`userid`), KEY `groupid` (`groupid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; """) records = [ # admins (1, 1), # users (1, 2), (2, 2), (3, 2), (4, 2), # managers (2, 5), ] self.db.execute_many(""" insert into dz_members values (%s, %s) """, records) # Setup subgroups table # ------------------------------------------------- self.db("DROP TABLE IF EXISTS `dz_subgroups`") self.db(""" CREATE TABLE `dz_subgroups` ( `groupid` int(11) default NULL, `subgroupid` int(11) default NULL, UNIQUE KEY `groupid_2` (`groupid`,`subgroupid`), KEY `groupid` (`groupid`), KEY `subgroupid` (`subgroupid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; """) records = [ # admin (2, 1), # admins are subgroup of users (5, 1), # admins are subgroup of managers # users (4, 2), # users are subgroup of everyone # guests (4, 3), # guests are subgroup of everyone # Managers (2, 5), # managers are subgroup of users ] self.db.execute_many(""" insert into dz_subgroups values (%s, %s) """, records) # setup the system and install our own test database system.setup(os.path.expanduser('~')) system.db = self.db system.users = UserStore(self.db) # for authenticate method system.database = LegacyDatabase(MySQLdb.Connect, **params) # used by user.update_user, called by authenticate method system.database.autocommit(1) print self.db('select * from dz_users') print self.db('select * from dz_groups') print self.db('select * from dz_subgroups') print self.db('select * from dz_members')