# -*- 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()