mirror of
https://github.com/progval/irctest.git
synced 2025-04-07 15:59:49 +00:00
fix #1179
This commit is contained in:
@ -31,9 +31,9 @@ class ChathistoryTestCase(cases.BaseServerTestCase):
|
||||
|
||||
@cases.SpecificationSelector.requiredBySpecification('Oragono')
|
||||
def testEmptyBatch(self):
|
||||
bar = random_name('bar')
|
||||
self.controller.registerUser(self, bar, bar)
|
||||
self.connectClient(bar, name=bar, capabilities=['batch', 'labeled-response', 'message-tags', 'server-time'], password=bar)
|
||||
bar, pw = random_name('bar'), random_name('pw')
|
||||
self.controller.registerUser(self, bar, pw)
|
||||
self.connectClient(bar, name=bar, capabilities=['batch', 'labeled-response', 'message-tags', 'server-time'], password=pw)
|
||||
self.getMessages(bar)
|
||||
|
||||
# no chathistory results SHOULD result in an empty batch:
|
||||
@ -43,9 +43,9 @@ class ChathistoryTestCase(cases.BaseServerTestCase):
|
||||
|
||||
@cases.SpecificationSelector.requiredBySpecification('Oragono')
|
||||
def testMessagesToSelf(self):
|
||||
bar = random_name('bar')
|
||||
self.controller.registerUser(self, bar, bar)
|
||||
self.connectClient(bar, name=bar, capabilities=['batch', 'labeled-response', 'message-tags', 'server-time'], password=bar)
|
||||
bar, pw = random_name('bar'), random_name('pw')
|
||||
self.controller.registerUser(self, bar, pw)
|
||||
self.connectClient(bar, name=bar, capabilities=['batch', 'labeled-response', 'message-tags', 'server-time'], password=pw)
|
||||
self.getMessages(bar)
|
||||
|
||||
messages = []
|
||||
@ -118,10 +118,10 @@ class ChathistoryTestCase(cases.BaseServerTestCase):
|
||||
def testChathistoryDMs(self):
|
||||
c1 = secrets.token_hex(12)
|
||||
c2 = secrets.token_hex(12)
|
||||
self.controller.registerUser(self, c1, c1)
|
||||
self.controller.registerUser(self, c2, c2)
|
||||
self.connectClient(c1, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password=c1)
|
||||
self.connectClient(c2, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password=c2)
|
||||
self.controller.registerUser(self, c1, 'sesame1')
|
||||
self.controller.registerUser(self, c2, 'sesame2')
|
||||
self.connectClient(c1, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password='sesame1')
|
||||
self.connectClient(c2, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password='sesame2')
|
||||
self.getMessages(1)
|
||||
self.getMessages(2)
|
||||
|
||||
@ -167,8 +167,8 @@ class ChathistoryTestCase(cases.BaseServerTestCase):
|
||||
self.sendLine(3, 'QUIT')
|
||||
self.assertDisconnected(3)
|
||||
# register c3 as an account, then attempt to retrieve the conversation history with c1
|
||||
self.controller.registerUser(self, c3, c3)
|
||||
self.connectClient(c3, name=c3, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password=c3)
|
||||
self.controller.registerUser(self, c3, 'sesame3')
|
||||
self.connectClient(c3, name=c3, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password='sesame3')
|
||||
self.getMessages(c3)
|
||||
self.sendLine(c3, 'CHATHISTORY LATEST %s * 10' % (c1,))
|
||||
results = [to_history_message(msg) for msg in self.getMessages(c3) if msg.command == 'PRIVMSG']
|
||||
@ -272,10 +272,10 @@ class ChathistoryTestCase(cases.BaseServerTestCase):
|
||||
c1 = secrets.token_hex(12)
|
||||
c2 = secrets.token_hex(12)
|
||||
chname = '#' + secrets.token_hex(12)
|
||||
self.controller.registerUser(self, c1, c1)
|
||||
self.controller.registerUser(self, c2, c2)
|
||||
self.connectClient(c1, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password=c1)
|
||||
self.connectClient(c2, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP,], password=c2)
|
||||
self.controller.registerUser(self, c1, 'sesame1')
|
||||
self.controller.registerUser(self, c2, 'sesame2')
|
||||
self.connectClient(c1, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP, EVENT_PLAYBACK_CAP], password='sesame1')
|
||||
self.connectClient(c2, capabilities=['message-tags', 'server-time', 'echo-message', 'batch', 'labeled-response', CHATHISTORY_CAP,], password='sesame2')
|
||||
self.joinChannel(1, chname)
|
||||
self.joinChannel(2, chname)
|
||||
self.getMessages(1)
|
||||
|
@ -15,9 +15,9 @@ class ZncPlaybackTestCase(cases.BaseServerTestCase):
|
||||
early_time = int(time.time() - 60)
|
||||
|
||||
chname = random_name('#znc_channel')
|
||||
bar = random_name('bar')
|
||||
self.controller.registerUser(self, bar, bar)
|
||||
self.connectClient(bar, name=bar, capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=bar)
|
||||
bar, pw = random_name('bar'), random_name('pass')
|
||||
self.controller.registerUser(self, bar, pw)
|
||||
self.connectClient(bar, name=bar, capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=pw)
|
||||
self.joinChannel(bar, chname)
|
||||
|
||||
qux = random_name('qux')
|
||||
@ -39,7 +39,7 @@ class ZncPlaybackTestCase(cases.BaseServerTestCase):
|
||||
self.getMessages(bar)
|
||||
|
||||
# reattach to 'bar'
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=bar)
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=pw)
|
||||
self.sendLine('viewer', 'PRIVMSG *playback :play * %d' % (early_time,))
|
||||
messages = [to_history_message(msg) for msg in self.getMessages('viewer') if msg.command == 'PRIVMSG']
|
||||
self.assertEqual(set(messages), set([dm] + echo_messages))
|
||||
@ -47,7 +47,7 @@ class ZncPlaybackTestCase(cases.BaseServerTestCase):
|
||||
self.assertDisconnected('viewer')
|
||||
|
||||
# reattach to 'bar', play back selectively
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=bar)
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=pw)
|
||||
mid_timestamp = ircv3_timestamp_to_unixtime(echo_messages[5].time)
|
||||
# exclude message 5 itself (oragono's CHATHISTORY implementation corrects for this, but znc.in/playback does not because whatever)
|
||||
mid_timestamp += .001
|
||||
@ -58,7 +58,7 @@ class ZncPlaybackTestCase(cases.BaseServerTestCase):
|
||||
self.assertDisconnected('viewer')
|
||||
|
||||
# reattach to 'bar', play back selectively (pass a parameter and 2 timestamps)
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=bar)
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=pw)
|
||||
start_timestamp = ircv3_timestamp_to_unixtime(echo_messages[2].time)
|
||||
start_timestamp += .001
|
||||
end_timestamp = ircv3_timestamp_to_unixtime(echo_messages[7].time)
|
||||
@ -79,7 +79,7 @@ class ZncPlaybackTestCase(cases.BaseServerTestCase):
|
||||
config = self.controller.getConfig()
|
||||
config['history']['znc-maxmessages'] = 5
|
||||
self.controller.rehash(self, config)
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=bar)
|
||||
self.connectClient(bar, name='viewer', capabilities=['batch', 'labeled-response', 'message-tags', 'server-time', 'echo-message'], password=pw)
|
||||
self.sendLine('viewer', 'PRIVMSG *playback :play %s %d' % (chname, int(time.time() - 60)))
|
||||
messages = [to_history_message(msg) for msg in self.getMessages('viewer') if msg.command == 'PRIVMSG']
|
||||
# should receive the latest 5 messages
|
||||
|
Reference in New Issue
Block a user