Merge pull request #11 from marekjm/devel
[diaspy.git] / tests.py
1 #!/usr/bin/env python3
2
3 import unittest
4
5 # failure to import any of the modules below indicates failed tests
6 # modules used by diaspy
7 import requests
8 import re
9 # actual diaspy code
10 import diaspy
11
12
13 #### test suite configuration variables: can be adjusted to your liking
14 import testconf
15 __pod__ = testconf.__pod__
16 __username__ = testconf.__username__
17 __passwd__ = testconf.__passwd__
18
19
20 class ClientTests(unittest.TestCase):
21 def testInitialization(self):
22 client = diaspy.client.Client(pod=__pod__,
23 username=__username__,
24 password=__passwd__)
25 self.assertEqual(__pod__, client.pod)
26 self.assertEqual(__username__, client._username)
27 self.assertEqual(__passwd__, client._password)
28 self.assertEqual({}, client._post_data)
29 self.assertEqual(client._token_regex,
30 re.compile(r'content="(.*?)"\s+name="csrf-token'))
31 self.assertEqual(client._login_data['user[username]'], __username__)
32 self.assertEqual(client._login_data['user[password]'], __passwd__)
33 self.assertEqual(client._login_data['authenticity_token'],
34 client.get_token())
35
36 def testGettingUserInfo(self):
37 client = diaspy.client.Client(__pod__, __username__, __passwd__)
38 info = client.get_user_info()
39 self.assertEqual(dict, type(info))
40
41 def testGettingStream(self):
42 client = diaspy.client.Client(__pod__, __username__, __passwd__)
43 stream = client.get_stream()
44 self.assertEqual(list, type(stream))
45 if stream: self.assertEqual(diaspy.models.Post, type(stream[0]))
46
47 def testGettingNotifications(self):
48 client = diaspy.client.Client(__pod__, __username__, __passwd__)
49 notifications = client.get_notifications()
50 self.assertEqual(list, type(notifications))
51 if notifications: self.assertEqual(dict, type(notifications[0]))
52
53 def testGettingTag(self):
54 client = diaspy.client.Client(pod=__pod__, username=__username__, password=__passwd__)
55 tag = client.get_tag('foo')
56 self.assertEqual(list, type(tag))
57 if tag: self.assertEqual(diaspy.models.Post, type(tag[0]))
58
59 def testGettingMailbox(self):
60 client = diaspy.client.Client(pod=__pod__, username=__username__, password=__passwd__)
61 mailbox = client.get_mailbox()
62 self.assertEqual(list, type(mailbox))
63 self.assertEqual(diaspy.conversations.Conversation, type(mailbox[0]))
64
65 if __name__ == '__main__': unittest.main()