Allow sender to be None in FeederHandler

darcs-hash:20081104195605-86b55-53a7f9cebd1d5dbe41422fd0bbf0c8e5f1167cfa.gz
This commit is contained in:
David Rousselie
2008-11-04 20:56:05 +01:00
parent 5fd76ef497
commit b246d50564
2 changed files with 20 additions and 8 deletions

View File

@@ -143,5 +143,6 @@ class FeederHandler(Handler):
for _account in data: for _account in data:
if _account.enabled: if _account.enabled:
for data in self.feeder.feed(_account): for data in self.feeder.feed(_account):
if self.sender is not None:
self.sender.send(_account, data) self.sender.send(_account, data)
return [] return []

View File

@@ -23,7 +23,6 @@
import unittest import unittest
import threading import threading
import time
from sqlobject import * from sqlobject import *
@@ -252,7 +251,6 @@ class FeederHandler_TestCase(JCLTestCase):
self.tick_handlers = [FeederHandler(FeederMock(), SenderMock())] self.tick_handlers = [FeederHandler(FeederMock(), SenderMock())]
def test_filter(self): def test_filter(self):
model.db_connect()
account12 = ExampleAccount(user=User(jid="user2@test.com"), account12 = ExampleAccount(user=User(jid="user2@test.com"),
name="account12", name="account12",
jid="account12@jcl.test.com") jid="account12@jcl.test.com")
@@ -268,10 +266,8 @@ class FeederHandler_TestCase(JCLTestCase):
else: else:
self.assertEquals(_account.name, "account11") self.assertEquals(_account.name, "account11")
self.assertEquals(i, 2) self.assertEquals(i, 2)
model.db_disconnect()
def test_handle(self): def test_handle(self):
model.db_connect()
account11 = ExampleAccount(user=User(jid="user1@test.com"), account11 = ExampleAccount(user=User(jid="user1@test.com"),
name="account11", name="account11",
jid="account11@jcl.test.com") jid="account11@jcl.test.com")
@@ -283,10 +279,8 @@ class FeederHandler_TestCase(JCLTestCase):
self.assertEquals(len(sent), 2) self.assertEquals(len(sent), 2)
self.assertEquals(sent[0], (account11, ("subject", "body"))) self.assertEquals(sent[0], (account11, ("subject", "body")))
self.assertEquals(sent[1], (account12, ("subject", "body"))) self.assertEquals(sent[1], (account12, ("subject", "body")))
model.db_disconnect()
def test_handle_disabled_account(self): def test_handle_disabled_account(self):
model.db_connect()
account11 = ExampleAccount(user=User(jid="user1@test.com"), account11 = ExampleAccount(user=User(jid="user1@test.com"),
name="account11", name="account11",
jid="account11@jcl.test.com") jid="account11@jcl.test.com")
@@ -298,7 +292,24 @@ class FeederHandler_TestCase(JCLTestCase):
sent = self.tick_handlers[0].sender.sent sent = self.tick_handlers[0].sender.sent
self.assertEquals(len(sent), 1) self.assertEquals(len(sent), 1)
self.assertEquals(sent[0], (account12, ("subject", "body"))) self.assertEquals(sent[0], (account12, ("subject", "body")))
model.db_disconnect()
def test_handle_no_sender(self):
self.tick_handlers[0].sender = None
class FeederIncMock(object):
def __init__ (self):
self.called = 0
def feed(self, _account):
self.called = self.called + 1
return [self.called]
self.tick_handlers[0].feeder = FeederIncMock()
account11 = ExampleAccount(user=User(jid="user1@test.com"),
name="account11",
jid="account11@jcl.test.com")
account12 = ExampleAccount(user=User(jid="user2@test.com"),
name="account12",
jid="account12@jcl.test.com")
accounts = self.tick_handlers[0].handle(None, None, [account11, account12])
self.assertEquals(self.tick_handlers[0].feeder.called, 2)
def suite(): def suite():
test_suite = unittest.TestSuite() test_suite = unittest.TestSuite()