/
test.py
124 lines (95 loc) · 3.99 KB
/
test.py
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import socket
import unittest
from mod_jabber import ElogProcessor
class TestNormalizeXmppUri(unittest.TestCase):
def testNormalizeTraditionalFormWithStructuredResource(self):
parsed = ElogProcessor.parse_uri('node@host.com/resource/subresource:****')
self.assertEqual({
'node': 'node',
'host': 'host.com',
'resource': 'resource/subresource',
'password': '****',
}, parsed)
def testNormalizeTraditionalFormWithResource(self):
parsed = ElogProcessor.parse_uri('node@host.com/resource:****')
self.assertEqual({
'node': 'node',
'host': 'host.com',
'resource': 'resource',
'password': '****',
}, parsed)
def testNormalizeTraditionalForm(self):
parsed = ElogProcessor.parse_uri('node@host.com:****')
self.assertEqual({
'node': 'node',
'host': 'host.com',
'resource': None,
'password': '****',
}, parsed)
def testNormalizeModernFormWithStructuredResource(self):
parsed = ElogProcessor.parse_uri('node:****@host.com/resource/subresource')
self.assertEqual({
'node': 'node',
'host': 'host.com',
'resource': 'resource/subresource',
'password': '****',
}, parsed)
def testNormalizeModernFormWithResource(self):
parsed = ElogProcessor.parse_uri('node:****@host.com/resource')
self.assertEqual({
'node': 'node',
'host': 'host.com',
'resource': 'resource',
'password': '****',
}, parsed)
def testNormalizeModernForm(self):
parsed = ElogProcessor.parse_uri('node:****@host.com')
self.assertEqual({
'node': 'node',
'host': 'host.com',
'resource': None,
'password': '****',
}, parsed)
class InterpolateResourceTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.host = socket.gethostname()
def test_interpolate_no_hostname(self):
res = ElogProcessor.interpolate_resource('foo/bar/baz')
self.assertEqual('foo/bar/baz', res)
def test_interpolate_upper_percent(self):
res = ElogProcessor.interpolate_resource('foo/%HOSTNAME%/bar')
self.assertEqual('foo/%s/bar' % self.host, res)
def test_interpolate_lower_percent(self):
res = ElogProcessor.interpolate_resource('foo/%hostname%/bar')
self.assertEqual('foo/%s/bar' % self.host, res)
def test_interpolate_lower_dollar(self):
res = ElogProcessor.interpolate_resource('foo/${hostname}/bar')
self.assertEqual('foo/%s/bar' % self.host, res)
def test_interpolate_upper_dollar(self):
res = ElogProcessor.interpolate_resource('foo/${HOSTNAME}/bar')
self.assertEqual('foo/%s/bar' % self.host, res)
def test_interpolate_lower_percent(self):
res = ElogProcessor.interpolate_resource('foo/%hostname%/bar')
self.assertEqual('foo/%s/bar' % self.host, res)
class MakeJIDTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.host = socket.gethostname()
def test_no_resource(self):
jid = ElogProcessor.make_jid(ElogProcessor.parse_uri('node:****@host.com'))
self.assertEqual('node', jid.local)
self.assertEqual('host.com', jid.domain)
self.assertEqual('', jid.resource)
def test_simple_resource(self):
jid = ElogProcessor.make_jid(ElogProcessor.parse_uri('node:****@host.com/foo'))
self.assertEqual('node', jid.local)
self.assertEqual('host.com', jid.domain)
self.assertEqual('foo', jid.resource)
def test_hostname_resource(self):
jid = ElogProcessor.make_jid(ElogProcessor.parse_uri('node:****@host.com/foo/%hostname%'))
self.assertEqual('node', jid.local)
self.assertEqual('host.com', jid.domain)
self.assertEqual('foo/%s' % self.host, jid.resource)
if __name__ == '__main__':
unittest.main()