always negotiate batch with labeled-response, it's required by the spec

This commit is contained in:
Valentin Lorentz 2021-03-04 17:38:32 +01:00
parent 5b82b9b3d2
commit 6d74a06327
2 changed files with 40 additions and 32 deletions

View File

@ -97,13 +97,15 @@ def _testEchoMessage(command, solo, server_time):
class EchoMessageTestCase(cases.BaseServerTestCase): class EchoMessageTestCase(cases.BaseServerTestCase):
@cases.mark_capabilities("labeled-response", "echo-message", "message-tags") @cases.mark_capabilities(
"batch", "labeled-response", "echo-message", "message-tags"
)
def testDirectMessageEcho(self): def testDirectMessageEcho(self):
bar = random_name("bar") bar = random_name("bar")
self.connectClient( self.connectClient(
bar, bar,
name=bar, name=bar,
capabilities=["labeled-response", "echo-message", "message-tags"], capabilities=["batch", "labeled-response", "echo-message", "message-tags"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(bar) self.getMessages(bar)
@ -112,7 +114,7 @@ class EchoMessageTestCase(cases.BaseServerTestCase):
self.connectClient( self.connectClient(
qux, qux,
name=qux, name=qux,
capabilities=["labeled-response", "echo-message", "message-tags"], capabilities=["batch", "labeled-response", "echo-message", "message-tags"],
) )
self.getMessages(qux) self.getMessages(qux)

View File

@ -19,29 +19,29 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
capabilities.append("batch") capabilities.append("batch")
return super().connectClient(nick, capabilities=capabilities, **kwargs) return super().connectClient(nick, capabilities=capabilities, **kwargs)
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledPrivmsgResponsesToMultipleClients(self): def testLabeledPrivmsgResponsesToMultipleClients(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
self.connectClient( self.connectClient(
"carl", "carl",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(3) self.getMessages(3)
self.connectClient( self.connectClient(
"alice", "alice",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(4) self.getMessages(4)
@ -65,17 +65,17 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
m, command="BATCH", fail_msg="No BATCH echo received after sending one out" m, command="BATCH", fail_msg="No BATCH echo received after sending one out"
) )
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledPrivmsgResponsesToClient(self): def testLabeledPrivmsgResponsesToClient(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
@ -89,17 +89,17 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
self.assertMessageMatch(m, command="PRIVMSG", tags={"label": "12345"}) self.assertMessageMatch(m, command="PRIVMSG", tags={"label": "12345"})
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledPrivmsgResponsesToChannel(self): def testLabeledPrivmsgResponsesToChannel(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
@ -123,11 +123,11 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
# ensure sender correctly receives msg # ensure sender correctly receives msg
self.assertMessageMatch(ms, command="PRIVMSG", tags={"label": "12345"}) self.assertMessageMatch(ms, command="PRIVMSG", tags={"label": "12345"})
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledPrivmsgResponsesToSelf(self): def testLabeledPrivmsgResponsesToSelf(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
@ -166,17 +166,17 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
).format(number_of_labels), ).format(number_of_labels),
) )
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledNoticeResponsesToClient(self): def testLabeledNoticeResponsesToClient(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
@ -190,17 +190,17 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
self.assertMessageMatch(m, command="NOTICE", tags={"label": "12345"}) self.assertMessageMatch(m, command="NOTICE", tags={"label": "12345"})
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledNoticeResponsesToChannel(self): def testLabeledNoticeResponsesToChannel(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
@ -224,11 +224,11 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
# ensure sender correctly receives msg # ensure sender correctly receives msg
self.assertMessageMatch(ms, command="NOTICE", tags={"label": "12345"}) self.assertMessageMatch(ms, command="NOTICE", tags={"label": "12345"})
@cases.mark_capabilities("echo-message", "labeled-response") @cases.mark_capabilities("echo-message", "batch", "labeled-response")
def testLabeledNoticeResponsesToSelf(self): def testLabeledNoticeResponsesToSelf(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response"], capabilities=["echo-message", "batch", "labeled-response"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
@ -265,17 +265,19 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
).format(number_of_labels), ).format(number_of_labels),
) )
@cases.mark_capabilities("echo-message", "labeled-response", "message-tags") @cases.mark_capabilities(
"echo-message", "batch", "labeled-response", "message-tags"
)
def testLabeledTagMsgResponsesToClient(self): def testLabeledTagMsgResponsesToClient(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response", "message-tags"], capabilities=["echo-message", "batch", "labeled-response", "message-tags"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response", "message-tags"], capabilities=["echo-message", "batch", "labeled-response", "message-tags"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
@ -312,17 +314,19 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
}, },
) )
@cases.mark_capabilities("echo-message", "labeled-response", "message-tags") @cases.mark_capabilities(
"echo-message", "batch", "labeled-response", "message-tags"
)
def testLabeledTagMsgResponsesToChannel(self): def testLabeledTagMsgResponsesToChannel(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response", "message-tags"], capabilities=["echo-message", "batch", "labeled-response", "message-tags"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)
self.connectClient( self.connectClient(
"bar", "bar",
capabilities=["echo-message", "labeled-response", "message-tags"], capabilities=["echo-message", "batch", "labeled-response", "message-tags"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(2) self.getMessages(2)
@ -360,11 +364,13 @@ class LabeledResponsesTestCase(cases.BaseServerTestCase, cases.OptionalityHelper
ms, command="TAGMSG", tags={"label": "12345", **ANYDICT} ms, command="TAGMSG", tags={"label": "12345", **ANYDICT}
) )
@cases.mark_capabilities("echo-message", "labeled-response", "message-tags") @cases.mark_capabilities(
"echo-message", "batch", "labeled-response", "message-tags"
)
def testLabeledTagMsgResponsesToSelf(self): def testLabeledTagMsgResponsesToSelf(self):
self.connectClient( self.connectClient(
"foo", "foo",
capabilities=["echo-message", "labeled-response", "message-tags"], capabilities=["echo-message", "batch", "labeled-response", "message-tags"],
skip_if_cap_nak=True, skip_if_cap_nak=True,
) )
self.getMessages(1) self.getMessages(1)