Do not user generator functions for account get*
darcs-hash:20070819134318-86b55-c04fb63b752b76b98bc7990c300a18409f07f6d7.gz
This commit is contained in:
@@ -868,7 +868,7 @@ class AccountManager(object):
|
|||||||
resource = ""
|
resource = ""
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
accounts = account.get_accounts(bare_from_jid, account_class)
|
accounts = account.get_accounts(bare_from_jid, account_class)
|
||||||
if accounts:
|
if accounts.count() > 0:
|
||||||
for _account in accounts:
|
for _account in accounts:
|
||||||
yield (_account, resource, account_type)
|
yield (_account, resource, account_type)
|
||||||
model.db_disconnect()
|
model.db_disconnect()
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ import unittest
|
|||||||
from jcl.jabber.tests import component, feeder, command, message, presence
|
from jcl.jabber.tests import component, feeder, command, message, presence
|
||||||
|
|
||||||
def suite():
|
def suite():
|
||||||
suite = unittest.TestSuite()
|
test_suite = unittest.TestSuite()
|
||||||
suite.addTest(component.suite())
|
test_suite.addTest(component.suite())
|
||||||
suite.addTest(feeder.suite())
|
test_suite.addTest(feeder.suite())
|
||||||
suite.addTest(command.suite())
|
test_suite.addTest(command.suite())
|
||||||
suite.addTest(message.suite())
|
test_suite.addTest(message.suite())
|
||||||
suite.addTest(presence.suite())
|
test_suite.addTest(presence.suite())
|
||||||
return suite
|
return test_suite
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main(defaultTest='suite')
|
unittest.main(defaultTest='suite')
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ class JCLCommandManager_TestCase(JCLTestCase):
|
|||||||
Example2Account, LegacyJID,
|
Example2Account, LegacyJID,
|
||||||
User])
|
User])
|
||||||
self.config_file = tempfile.mktemp(".conf", "jcltest", "/tmp")
|
self.config_file = tempfile.mktemp(".conf", "jcltest", "/tmp")
|
||||||
print str(self.config_file)
|
|
||||||
self.config = ConfigParser()
|
self.config = ConfigParser()
|
||||||
self.config.read(self.config_file)
|
self.config.read(self.config_file)
|
||||||
self.comp = JCLComponent("jcl.test.com",
|
self.comp = JCLComponent("jcl.test.com",
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ from sqlobject.dbconnection import connectionForURI
|
|||||||
|
|
||||||
import jcl.model
|
import jcl.model
|
||||||
|
|
||||||
db_connected = False
|
|
||||||
db_connection_str = ""
|
db_connection_str = ""
|
||||||
|
|
||||||
# create a hub to attach a per thread connection
|
# create a hub to attach a per thread connection
|
||||||
|
|||||||
@@ -80,9 +80,7 @@ def get_all_users(user_class=User, limit=None, filter=None,
|
|||||||
model.db_connect()
|
model.db_connect()
|
||||||
users = user_class.select(clause=filter, limit=limit,
|
users = user_class.select(clause=filter, limit=limit,
|
||||||
distinct=distinct)
|
distinct=distinct)
|
||||||
for user in users:
|
return users
|
||||||
yield user
|
|
||||||
model.db_disconnect()
|
|
||||||
|
|
||||||
class Account(InheritableSQLObject):
|
class Account(InheritableSQLObject):
|
||||||
"""Base Account class"""
|
"""Base Account class"""
|
||||||
@@ -183,7 +181,6 @@ def get_account(bare_user_jid, name, account_class=Account):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
||||||
model.db_connect()
|
|
||||||
if filter is not None:
|
if filter is not None:
|
||||||
filter = AND(AND(Account.q.userID == User.q.id,
|
filter = AND(AND(Account.q.userID == User.q.id,
|
||||||
User.q.jid == unicode(bare_user_jid)),
|
User.q.jid == unicode(bare_user_jid)),
|
||||||
@@ -192,26 +189,18 @@ def get_accounts(bare_user_jid, account_class=Account, filter=None):
|
|||||||
filter = AND(Account.q.userID == User.q.id,
|
filter = AND(Account.q.userID == User.q.id,
|
||||||
User.q.jid == unicode(bare_user_jid))
|
User.q.jid == unicode(bare_user_jid))
|
||||||
accounts = account_class.select(filter)
|
accounts = account_class.select(filter)
|
||||||
if accounts.count() == 0:
|
return accounts
|
||||||
model.db_disconnect()
|
|
||||||
return
|
|
||||||
for _account in accounts:
|
|
||||||
yield _account
|
|
||||||
model.db_disconnect()
|
|
||||||
|
|
||||||
def get_all_accounts(account_class=Account, filter=None, limit=None):
|
def get_all_accounts(account_class=Account, filter=None, limit=None):
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
accounts = account_class.select(clause=filter, limit=limit)
|
accounts = account_class.select(clause=filter, limit=limit)
|
||||||
for _account in accounts:
|
return accounts
|
||||||
yield _account
|
|
||||||
model.db_disconnect()
|
|
||||||
|
|
||||||
def get_accounts_count(bare_user_jid, account_class=Account):
|
def get_accounts_count(bare_user_jid, account_class=Account):
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
accounts_count = account_class.select(\
|
accounts_count = account_class.select(\
|
||||||
AND(Account.q.userID == User.q.id,
|
AND(Account.q.userID == User.q.id,
|
||||||
User.q.jid == unicode(bare_user_jid))).count()
|
User.q.jid == unicode(bare_user_jid))).count()
|
||||||
model.db_disconnect()
|
|
||||||
return accounts_count
|
return accounts_count
|
||||||
|
|
||||||
def get_all_accounts_count(account_class=Account, filter=None):
|
def get_all_accounts_count(account_class=Account, filter=None):
|
||||||
@@ -220,7 +209,6 @@ def get_all_accounts_count(account_class=Account, filter=None):
|
|||||||
accounts_count = account_class.select().count()
|
accounts_count = account_class.select().count()
|
||||||
else:
|
else:
|
||||||
accounts_count = account_class.select(filter).count()
|
accounts_count = account_class.select(filter).count()
|
||||||
model.db_disconnect()
|
|
||||||
return accounts_count
|
return accounts_count
|
||||||
|
|
||||||
class PresenceAccount(Account):
|
class PresenceAccount(Account):
|
||||||
@@ -354,9 +342,7 @@ def get_legacy_jids(bare_to_jid):
|
|||||||
AND(AND(LegacyJID.q.accountID == Account.q.id,
|
AND(AND(LegacyJID.q.accountID == Account.q.id,
|
||||||
Account.q.userID == User.q.id),
|
Account.q.userID == User.q.id),
|
||||||
User.q.jid == bare_to_jid))
|
User.q.jid == bare_to_jid))
|
||||||
for legacy_jid in legacy_jids:
|
return legacy_jids
|
||||||
yield legacy_jid
|
|
||||||
model.db_disconnect()
|
|
||||||
|
|
||||||
class LegacyJID(InheritableSQLObject):
|
class LegacyJID(InheritableSQLObject):
|
||||||
_connection = model.hub
|
_connection = model.hub
|
||||||
|
|||||||
@@ -273,9 +273,9 @@ class Account_TestCase(InheritableAccount_TestCase):
|
|||||||
model.db_disconnect()
|
model.db_disconnect()
|
||||||
|
|
||||||
class PresenceAccount_TestCase(InheritableAccount_TestCase):
|
class PresenceAccount_TestCase(InheritableAccount_TestCase):
|
||||||
def setUp(self):
|
def setUp(self, tables=[]):
|
||||||
JCLTestCase.setUp(self, tables=[User, Account, PresenceAccount,
|
JCLTestCase.setUp(self, tables=[User, Account, PresenceAccount,
|
||||||
PresenceAccountExample])
|
PresenceAccountExample] + tables)
|
||||||
model.db_connect()
|
model.db_connect()
|
||||||
self.account = PresenceAccountExample(\
|
self.account = PresenceAccountExample(\
|
||||||
user=User(jid="test1@test.com"),
|
user=User(jid="test1@test.com"),
|
||||||
|
|||||||
@@ -26,12 +26,10 @@ import sys
|
|||||||
from ConfigParser import ConfigParser
|
from ConfigParser import ConfigParser
|
||||||
from getopt import gnu_getopt
|
from getopt import gnu_getopt
|
||||||
|
|
||||||
from sqlobject import *
|
|
||||||
|
|
||||||
from jcl.lang import Lang
|
from jcl.lang import Lang
|
||||||
from jcl.jabber.component import JCLComponent
|
from jcl.jabber.component import JCLComponent
|
||||||
import jcl.model as model
|
import jcl.model as model
|
||||||
from jcl.model.account import Account, PresenceAccount
|
from jcl.model.account import Account, PresenceAccount, User, LegacyJID
|
||||||
|
|
||||||
class JCLRunner(object):
|
class JCLRunner(object):
|
||||||
def __init__(self, component_name, component_version):
|
def __init__(self, component_name, component_version):
|
||||||
@@ -42,7 +40,7 @@ class JCLRunner(object):
|
|||||||
"""
|
"""
|
||||||
self.component_name = component_name
|
self.component_name = component_name
|
||||||
self.component_version = component_version
|
self.component_version = component_version
|
||||||
self.config_file = "jmc.conf"
|
self.config_file = "jcl.conf"
|
||||||
self.server = "localhost"
|
self.server = "localhost"
|
||||||
self.port = 5347
|
self.port = 5347
|
||||||
self.secret = "secret"
|
self.secret = "secret"
|
||||||
@@ -179,6 +177,8 @@ class JCLRunner(object):
|
|||||||
def setup_db(self):
|
def setup_db(self):
|
||||||
Account.createTable(ifNotExists=True)
|
Account.createTable(ifNotExists=True)
|
||||||
PresenceAccount.createTable(ifNotExists=True)
|
PresenceAccount.createTable(ifNotExists=True)
|
||||||
|
User.createTable(ifNotExists=True)
|
||||||
|
LegacyJID.createTable(ifNotExists=True)
|
||||||
|
|
||||||
def setup_pidfile(self):
|
def setup_pidfile(self):
|
||||||
pidfile = open(self.pid_file, "w")
|
pidfile = open(self.pid_file, "w")
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import jcl
|
|||||||
from jcl.runner import JCLRunner
|
from jcl.runner import JCLRunner
|
||||||
|
|
||||||
import jcl.model as model
|
import jcl.model as model
|
||||||
from jcl.model.account import Account, PresenceAccount
|
from jcl.model.account import Account, PresenceAccount, User, LegacyJID
|
||||||
|
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
DB_DIR = "/c|/temp/"
|
DB_DIR = "/c|/temp/"
|
||||||
@@ -48,7 +48,7 @@ class JCLRunner_TestCase(unittest.TestCase):
|
|||||||
|
|
||||||
def test_configure_default(self):
|
def test_configure_default(self):
|
||||||
self.runner.configure()
|
self.runner.configure()
|
||||||
self.assertEquals(self.runner.config_file, "jmc.conf")
|
self.assertEquals(self.runner.config_file, "jcl.conf")
|
||||||
self.assertEquals(self.runner.server, "localhost")
|
self.assertEquals(self.runner.server, "localhost")
|
||||||
self.assertEquals(self.runner.port, 5347)
|
self.assertEquals(self.runner.port, 5347)
|
||||||
self.assertEquals(self.runner.secret, "secret")
|
self.assertEquals(self.runner.secret, "secret")
|
||||||
@@ -131,6 +131,8 @@ class JCLRunner_TestCase(unittest.TestCase):
|
|||||||
# dropTable should succeed because tables should exist
|
# dropTable should succeed because tables should exist
|
||||||
Account.dropTable()
|
Account.dropTable()
|
||||||
PresenceAccount.dropTable()
|
PresenceAccount.dropTable()
|
||||||
|
User.dropTable()
|
||||||
|
LegacyJID.dropTable()
|
||||||
model.db_disconnect()
|
model.db_disconnect()
|
||||||
os.unlink(db_path)
|
os.unlink(db_path)
|
||||||
self.assertFalse(os.access("/tmp/jcl.pid", os.F_OK))
|
self.assertFalse(os.access("/tmp/jcl.pid", os.F_OK))
|
||||||
|
|||||||
Reference in New Issue
Block a user