mirror of https://github.com/progval/irctest.git
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import math
|
|
import time
|
|
|
|
from irctest import cases
|
|
from irctest.numerics import RPL_TIME
|
|
from irctest.patma import ANYSTR, StrRe
|
|
|
|
|
|
class TimeTestCase(cases.BaseServerTestCase):
|
|
def testTime(self):
|
|
self.connectClient("user")
|
|
|
|
time_before = math.floor(time.time())
|
|
self.sendLine(1, "TIME")
|
|
|
|
msg = self.getMessage(1)
|
|
|
|
time_after = math.ceil(time.time())
|
|
|
|
if len(msg.params) == 5:
|
|
# ircu2, snircd
|
|
self.assertMessageMatch(
|
|
msg,
|
|
command=RPL_TIME,
|
|
params=["user", "My.Little.Server", StrRe("[0-9]+"), "0", ANYSTR],
|
|
)
|
|
self.assertIn(
|
|
int(msg.params[2]),
|
|
range(time_before, time_after + 1),
|
|
"Timestamp not in expected range",
|
|
)
|
|
elif len(msg.params) == 4:
|
|
# bahamut
|
|
self.assertMessageMatch(
|
|
msg,
|
|
command=RPL_TIME,
|
|
params=["user", "My.Little.Server", StrRe("[0-9]+"), ANYSTR],
|
|
)
|
|
self.assertIn(
|
|
int(msg.params[2]),
|
|
range(time_before, time_after + 1),
|
|
"Timestamp not in expected range",
|
|
)
|
|
else:
|
|
# Common case
|
|
self.assertMessageMatch(
|
|
msg, command=RPL_TIME, params=["user", "My.Little.Server", ANYSTR]
|
|
)
|