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