tests/old/testJob.py
author Sandro Knauß <knauss@netzguerilla.net>
Sat, 10 Mar 2012 19:00:12 +0100
branchdevel
changeset 219 4e9d79c35088
parent 97 7556364b8104
permissions -rw-r--r--
iro.model.schema.__tables__ is available under Base.metadata.sorted_tables

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