From: Graeme M. <ma...@us...> - 2005-11-02 12:08:54
|
Update of /cvsroot/mailmanager/mailmanager/tests/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11014/tests/classes Modified Files: Tag: RELENG_2_0_1 mmtestdata.py Log Message: We now claim that test data is installed if there's any of it still lingering around. This is my attempt at preventing folks from accidentally overwriting any of their own accounts/groups/users with test data. Index: mmtestdata.py =================================================================== RCS file: /cvsroot/mailmanager/mailmanager/tests/classes/mmtestdata.py,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -u -d -r1.1.2.4 -r1.1.2.5 --- mmtestdata.py 2 Nov 2005 11:45:46 -0000 1.1.2.4 +++ mmtestdata.py 2 Nov 2005 12:08:46 -0000 1.1.2.5 @@ -22,6 +22,11 @@ import zLOG +def _account_exists(prev, email): + return prev or (len(self.sql.listAccounts(email = email)) > 0) +def _user_exists(prev, username): + return prev or (len(self.sql.listUsers(username = username)) > 0) + class TestDataMixin: """ Test data for a MailManager instance @@ -76,8 +81,13 @@ def isTestDataInstalled(self, dataset): data = self.getDataSet(dataset) - account = self.account(email=data['accounts'][0]['email']) - return len(account) > 0 + account_exists = reduce(lambda prev, email: prev or (len(self.sql.listAccounts(email = email)) > 0), + [a['email'] for a in data['accounts']], False) + user_exists = reduce(lambda prev, username: prev or (len(self.sql.listUsers(username = username)) > 0), + [u['username'] for u in data['users']], False) + group_exists = reduce(lambda prev, group_name: prev or (len(self.sql.listGroups(group_name = group_name)) > 0), + [g['name'] for g in data['groups']], False) + return account_exists or user_exists or group_exists def getDataSet(self, dataset): """ Return a structured representation of the configuration """ |