Skip to content

Commit 9d42125

Browse files
authored
Add tests for TIME. (#127)
1 parent cae3aec commit 9d42125

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

irctest/server_tests/time.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import math
2+
import time
3+
4+
from irctest import cases
5+
from irctest.numerics import RPL_TIME
6+
from irctest.patma import ANYSTR, StrRe
7+
8+
9+
class TimeTestCase(cases.BaseServerTestCase):
10+
def testTime(self):
11+
self.connectClient("user")
12+
13+
time_before = math.floor(time.time())
14+
self.sendLine(1, "TIME")
15+
16+
msg = self.getMessage(1)
17+
18+
time_after = math.ceil(time.time())
19+
20+
if len(msg.params) == 5:
21+
# ircu2, snircd
22+
self.assertMessageMatch(
23+
msg,
24+
command=RPL_TIME,
25+
params=["user", "My.Little.Server", StrRe("[0-9]+"), "0", ANYSTR],
26+
)
27+
self.assertIn(
28+
int(msg.params[2]),
29+
range(time_before, time_after + 1),
30+
"Timestamp not in expected range",
31+
)
32+
elif len(msg.params) == 4:
33+
# bahamut
34+
self.assertMessageMatch(
35+
msg,
36+
command=RPL_TIME,
37+
params=["user", "My.Little.Server", StrRe("[0-9]+"), ANYSTR],
38+
)
39+
self.assertIn(
40+
int(msg.params[2]),
41+
range(time_before, time_after + 1),
42+
"Timestamp not in expected range",
43+
)
44+
else:
45+
# Common case
46+
self.assertMessageMatch(
47+
msg, command=RPL_TIME, params=["user", "My.Little.Server", ANYSTR]
48+
)

0 commit comments

Comments
 (0)