[Spambayes-checkins]
spambayes/spambayes/test test_sb_imapfilter.py, 1.8, 1.9
Tony Meyer
anadelonbrin at users.sourceforge.net
Tue Jan 4 01:18:05 CET 2005
Update of /cvsroot/spambayes/spambayes/spambayes/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1620/spambayes/test
Modified Files:
test_sb_imapfilter.py
Log Message:
Check that the web interface is served correctly.
Index: test_sb_imapfilter.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/test/test_sb_imapfilter.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** test_sb_imapfilter.py 20 Dec 2004 02:49:06 -0000 1.8
--- test_sb_imapfilter.py 4 Jan 2005 00:18:02 -0000 1.9
***************
*** 1,4 ****
--- 1,5 ----
# Test sb_imapfilter script.
+ import re
import sys
import time
***************
*** 18,22 ****
from spambayes.Options import options
from spambayes.classifier import Classifier
! from sb_imapfilter import BadIMAPResponseError
from sb_imapfilter import IMAPSession, IMAPMessage, IMAPFolder, IMAPFilter
--- 19,23 ----
from spambayes.Options import options
from spambayes.classifier import Classifier
! from sb_imapfilter import run, BadIMAPResponseError
from sb_imapfilter import IMAPSession, IMAPMessage, IMAPFolder, IMAPFilter
***************
*** 758,761 ****
--- 759,792 ----
+ class InterfaceTest(unittest.TestCase):
+ def setUp(self):
+ print "\nThis test takes slightly over one second."
+ self.saved_server = options["imap", "server"]
+ options["imap", "server"] = ""
+ thread.start_new_thread(run, (True,))
+ # Wait for it to be ready.
+ time.sleep(1)
+
+ def tearDown(self):
+ options["imap", "server"] = self.saved_server
+ # Shutdown as though through the web UI.
+ from urllib import urlopen, urlencode
+ urlopen('http://localhost:%d/save' % options["html_ui", "port"],
+ urlencode({'how': _('Save & shutdown')})).read()
+
+ def test_UI(self):
+ # Smoke-test the HTML UI.
+ httpServer = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ httpServer.connect(('localhost', options["html_ui", "port"]))
+ httpServer.send("get / HTTP/1.0\r\n\r\n")
+ response = ''
+ while 1:
+ packet = httpServer.recv(1024)
+ if not packet: break
+ response += packet
+ self.assert_(re.search(r"(?s)<html>.*SpamBayes IMAP Filter.*</html>",
+ response))
+
+
def suite():
suite = unittest.TestSuite()
***************
*** 765,768 ****
--- 796,800 ----
IMAPFilterTest,
SFBugsTest,
+ InterfaceTest,
):
suite.addTest(unittest.makeSuite(cls))
More information about the Spambayes-checkins
mailing list