tests/testJob.py
branchdevel
changeset 81 fea4c6760ca5
parent 63 3df3da063cff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/testJob.py	Sun Dec 18 18:03:45 2011 +0100
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+
+import unittest
+
+import xmlrpclib
+from stopableServer import init_server
+from iro.anbieter.content import SMS,FAX,Mail
+
+class TestServer(unittest.TestCase):
+    
+    def setUp(self):
+        self.i = init_server()
+        self.serv=self.i.serv
+        self.serv.start()
+
+    def tearDown(self):
+        self.serv.stop()
+
+   
+    def SendSMS(self,msg):
+        servstr="https://test:test@localhost:8000"
+        client=xmlrpclib.Server(servstr)
+        id=client.startSMS(msg,["01234", ] )
+        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name':  unicode(msg)}} )
+        ele=self.i.queue.get(.1)
+        self.assertEqual(ele.getRecipients(),["01234", ] )
+        self.assertNotEqual(ele.getMessage(),SMS('') )
+        self.assertEqual(ele.getMessage(),SMS(msg) )
+    
+    def testSimpleSMS(self):
+        self.SendSMS("test")
+    
+    def testSpecialCharacters(self):
+        self.SendSMS(u"!\"§$%&/()=?\'")
+        self.SendSMS(u"@ł€ł€¶ŧł¼¼½¬¬↓ŧ←ĸ↓→øđŋħ“”µ·…–|")
+
+    def testSendFAX(self):
+        servstr="https://test:test@localhost:8000"
+        client=xmlrpclib.Server(servstr)
+        msg="2134wergsdfg4w56q34134æſðđæðſđŋ³@¼ŧæðđŋł€¶ŧ€¶ŧ"
+        id=client.startFAX("test",xmlrpclib.Binary(msg),["01234", ] )
+        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name':  'test'}} )
+        ele=self.i.queue.get(.1)
+        self.assertEqual(ele.getRecipients(),["01234", ] )
+        self.assertEqual(ele.getMessage(),FAX('test','',[msg]))
+
+    def testDoubleFAX(self):
+        servstr="https://test:test@localhost:8000"
+        client=xmlrpclib.Server(servstr)
+        msg="2134wergsdfg4w56q34134æſðđæðſđŋ³@¼ŧæðđŋł€¶ŧ€¶ŧ"
+        pdf=open('tests/test.pdf').read()
+        id=client.startFAX("test",[xmlrpclib.Binary(msg),xmlrpclib.Binary(pdf)],["01234", ] )
+        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name':  'test'}} )
+        ele=self.i.queue.get(.1)
+        self.assertEqual(ele.getRecipients(),["01234", ] )
+        self.assertEqual(ele.getMessage(),FAX('test','',[msg, pdf]))
+
+    def testSendMail(self):
+        servstr="https://test:test@localhost:8000"
+        client=xmlrpclib.Server(servstr)
+        msg=u"2134wergsdfg4w56q34134æſðđæðſđŋ³@¼ŧæðđŋł€¶ŧ€¶ŧ"
+        id=client.startMail("test",msg,["test@test.de", ],'absender@test.de' )
+        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name':  'test'}} )
+        ele=self.i.queue.get(.1)
+        self.assertEqual(ele.getRecipients(),["test@test.de", ] )
+        self.assertEqual(ele.getMessage(),Mail('test',msg,'absender@test.de'))
+        self.assertEqual(ele.getMessage().as_string(),"""Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: base64
+Subject: =?utf-8?q?test?=
+
+MjEzNHdlcmdzZGZnNHc1NnEzNDEzNMOmxb/DsMSRw6bDsMW/xJHFi8KzQMK8xafDpsOwxJHFi8WC
+4oKswrbFp+KCrMK2xac=
+""")
+        sub=u"³¼½ſðđŋſ€¼½ÖÄÜß"
+        id=client.startMail(sub,msg,["test@test.de", ],'absender@test.de' )
+        self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': sub}})
+        ele=self.i.queue.get(.1)
+        self.assertEqual(ele.getMessage(),Mail(sub, msg, 'absender@test.de'))
+
+if __name__ == "__main__":
+    unittest.main()