-
Notifications
You must be signed in to change notification settings - Fork 116
Expand file tree
/
Copy pathtest_util.py
More file actions
86 lines (62 loc) · 3.67 KB
/
test_util.py
File metadata and controls
86 lines (62 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import unittest
import pusher.util
class TestUtil(unittest.TestCase):
def test_validate_user_id(self):
valid_user_ids = ["1", "12", "abc", "ab12", "ABCDEFG1234"]
invalid_user_ids = ["", "x" * 201, "abc%&*"]
for user_id in valid_user_ids:
self.assertEqual(user_id, pusher.util.validate_user_id(user_id))
for user_id in invalid_user_ids:
with self.assertRaises(ValueError):
pusher.util.validate_user_id(user_id)
def test_validate_channel(self):
valid_channels = ["123", "xyz", "xyz123", "xyz_123", "xyz-123", "Channel@123", "channel_xyz", "channel-xyz", "channel,456", "channel;asd", "-abc_ABC@012.xpto,987;654"]
invalid_channels = ["#123", "x" * 201, "abc%&*", "#server-to-user1234", "#server-to-users"]
for channel in valid_channels:
self.assertEqual(channel, pusher.util.validate_channel(channel))
for invalid_channel in invalid_channels:
with self.assertRaises(ValueError):
pusher.util.validate_channel(invalid_channel)
def test_validate_server_to_user_channel(self):
self.assertEqual("#server-to-user-123", pusher.util.validate_channel("#server-to-user-123"))
self.assertEqual("#server-to-user-user123", pusher.util.validate_channel("#server-to-user-user123"))
self.assertEqual("#server-to-user-ID-123", pusher.util.validate_channel("#server-to-user-ID-123"))
with self.assertRaises(ValueError):
pusher.util.validate_channel("#server-to-useR-123")
pusher.util.validate_channel("#server-to-user1234")
pusher.util.validate_channel("#server-to-users")
def test_validate_event_name(self):
valid_events = ["e" * 200, "123", "xyz", "xyz123", "xyz_123", "xyz-123", "Channel@123", "channel_xyz", "channel-xyz", "channel,456", "channel;asd", "-abc_ABC@012.xpto,987;654"]
invalid_events = ["e" * 201]
invalid_types = [123, None, {}]
for event in valid_events:
self.assertEqual(event, pusher.util.validate_event_name(event))
for invalid_event in invalid_events:
with self.assertRaises(ValueError):
pusher.util.validate_event_name(invalid_event)
for invalid_event in invalid_types:
with self.assertRaises(TypeError):
pusher.util.validate_event_name(invalid_event)
def test_validate_channels(self):
valid_channels = ["123", "xyz", "xyz123", "xyz_123", "xyz-123", "Channel@123", "channel_xyz", "channel-xyz", "channel,456", "channel;asd", "-abc_ABC@012.xpto,987;654"]
invalid_channels = ["#123", "x" * 201, "abc%&*", "#server-to-user1234", "#server-to-users"]
self.assertEqual(valid_channels, pusher.util.validate_channels(valid_channels))
for invalid_channel in invalid_channels:
with self.assertRaises(ValueError):
pusher.util.validate_channels(valid_channels + [invalid_channel])
with self.assertRaises(ValueError):
pusher.util.validate_channels(["123"] * 101)
invalid_types = [101, {"x": 1}]
for invalid_channel in invalid_types:
with self.assertRaises(TypeError):
pusher.util.validate_channels(valid_channels + [invalid_channel])
with self.assertRaises(ValueError):
pusher.util.validate_channels(["123", "private-encrypted-pippo"])
def test_validate_data(self):
data_too_long = "1" * 10241
with self.assertRaises(ValueError):
pusher.util.validate_data(data_too_long)
valid_data = "1" * 10240
self.assertEqual(valid_data, pusher.util.validate_data(valid_data))
if __name__ == '__main__':
unittest.main()