|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 import unittest |
|
4 |
|
5 import xmlrpclib |
|
6 from stopableServer import init_server |
|
7 from iro.anbieter.content import SMS,FAX,Mail |
|
8 |
|
9 class TestServer(unittest.TestCase): |
|
10 |
|
11 def setUp(self): |
|
12 self.i = init_server() |
|
13 self.serv=self.i.serv |
|
14 self.serv.start() |
|
15 |
|
16 def tearDown(self): |
|
17 self.serv.stop() |
|
18 |
|
19 |
|
20 def SendSMS(self,msg): |
|
21 servstr="https://test:test@localhost:8000" |
|
22 client=xmlrpclib.Server(servstr) |
|
23 id=client.startSMS(msg,["01234", ] ) |
|
24 self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': unicode(msg)}} ) |
|
25 ele=self.i.queue.get(.1) |
|
26 self.assertEqual(ele.getRecipients(),["01234", ] ) |
|
27 self.assertNotEqual(ele.getMessage(),SMS('') ) |
|
28 self.assertEqual(ele.getMessage(),SMS(msg) ) |
|
29 |
|
30 def testSimpleSMS(self): |
|
31 self.SendSMS("test") |
|
32 |
|
33 def testSpecialCharacters(self): |
|
34 self.SendSMS(u"!\"§$%&/()=?\'") |
|
35 self.SendSMS(u"@ł€ł€¶ŧł¼¼½¬¬↓ŧ←ĸ↓→øđŋħ“”µ·…–|") |
|
36 |
|
37 def testSendFAX(self): |
|
38 servstr="https://test:test@localhost:8000" |
|
39 client=xmlrpclib.Server(servstr) |
|
40 msg="2134wergsdfg4w56q34134æſðđæðſđŋ³@¼ŧæðđŋł€¶ŧ€¶ŧ" |
|
41 id=client.startFAX("test",xmlrpclib.Binary(msg),["01234", ] ) |
|
42 self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': 'test'}} ) |
|
43 ele=self.i.queue.get(.1) |
|
44 self.assertEqual(ele.getRecipients(),["01234", ] ) |
|
45 self.assertEqual(ele.getMessage(),FAX('test','',[msg])) |
|
46 |
|
47 def testDoubleFAX(self): |
|
48 servstr="https://test:test@localhost:8000" |
|
49 client=xmlrpclib.Server(servstr) |
|
50 msg="2134wergsdfg4w56q34134æſðđæðſđŋ³@¼ŧæðđŋł€¶ŧ€¶ŧ" |
|
51 pdf=open('tests/test.pdf').read() |
|
52 id=client.startFAX("test",[xmlrpclib.Binary(msg),xmlrpclib.Binary(pdf)],["01234", ] ) |
|
53 self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': 'test'}} ) |
|
54 ele=self.i.queue.get(.1) |
|
55 self.assertEqual(ele.getRecipients(),["01234", ] ) |
|
56 self.assertEqual(ele.getMessage(),FAX('test','',[msg, pdf])) |
|
57 |
|
58 def testSendMail(self): |
|
59 servstr="https://test:test@localhost:8000" |
|
60 client=xmlrpclib.Server(servstr) |
|
61 msg=u"2134wergsdfg4w56q34134æſðđæðſđŋ³@¼ŧæðđŋł€¶ŧ€¶ŧ" |
|
62 id=client.startMail("test",msg,["test@test.de", ],'absender@test.de' ) |
|
63 self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': 'test'}} ) |
|
64 ele=self.i.queue.get(.1) |
|
65 self.assertEqual(ele.getRecipients(),["test@test.de", ] ) |
|
66 self.assertEqual(ele.getMessage(),Mail('test',msg,'absender@test.de')) |
|
67 self.assertEqual(ele.getMessage().as_string(),"""Content-Type: text/plain; charset="utf-8" |
|
68 MIME-Version: 1.0 |
|
69 Content-Transfer-Encoding: base64 |
|
70 Subject: =?utf-8?q?test?= |
|
71 |
|
72 MjEzNHdlcmdzZGZnNHc1NnEzNDEzNMOmxb/DsMSRw6bDsMW/xJHFi8KzQMK8xafDpsOwxJHFi8WC |
|
73 4oKswrbFp+KCrMK2xac= |
|
74 """) |
|
75 sub=u"³¼½ſðđŋſ€¼½ÖÄÜß" |
|
76 id=client.startMail(sub,msg,["test@test.de", ],'absender@test.de' ) |
|
77 self.assertEqual(client.status(id),{id: {'status': ['init',{}], 'name': sub}}) |
|
78 ele=self.i.queue.get(.1) |
|
79 self.assertEqual(ele.getMessage(),Mail(sub, msg, 'absender@test.de')) |
|
80 |
|
81 if __name__ == "__main__": |
|
82 unittest.main() |