zulip_bots: Store testing conversations in lists.
This enforces the use of a list of tuples for conversations, as opposed to dicts.
This commit is contained in:
parent
8179b30873
commit
8761e47893
|
@ -9,14 +9,14 @@ class TestConverterBot(BotTestCase):
|
|||
bot_name = "converter"
|
||||
|
||||
def test_bot(self):
|
||||
expected = {
|
||||
"": ('Too few arguments given. Enter `@convert help` '
|
||||
expected = [
|
||||
("", 'Too few arguments given. Enter `@convert help` '
|
||||
'for help on using the converter.\n'),
|
||||
"foo bar": ('Too few arguments given. Enter `@convert help` '
|
||||
("foo bar", 'Too few arguments given. Enter `@convert help` '
|
||||
'for help on using the converter.\n'),
|
||||
"2 m cm": "2.0 m = 200.0 cm\n",
|
||||
"12.0 celsius fahrenheit": "12.0 celsius = 53.600054 fahrenheit\n",
|
||||
"0.002 kilometer millimile": "0.002 kilometer = 1.2427424 millimile\n",
|
||||
"3 megabyte kilobit": "3.0 megabyte = 24576.0 kilobit\n",
|
||||
}
|
||||
("2 m cm", "2.0 m = 200.0 cm\n"),
|
||||
("12.0 celsius fahrenheit", "12.0 celsius = 53.600054 fahrenheit\n"),
|
||||
("0.002 kilometer millimile", "0.002 kilometer = 1.2427424 millimile\n"),
|
||||
("3 megabyte kilobit", "3.0 megabyte = 24576.0 kilobit\n"),
|
||||
]
|
||||
self.check_expected_responses(expected)
|
||||
|
|
|
@ -9,11 +9,11 @@ class TestEncryptBot(BotTestCase):
|
|||
bot_name = "encrypt"
|
||||
|
||||
def test_bot(self):
|
||||
expected = {
|
||||
"": "Encrypted/Decrypted text: ",
|
||||
"Let\'s Do It": "Encrypted/Decrypted text: Yrg\'f Qb Vg",
|
||||
"me&mom together..!!": "Encrypted/Decrypted text: zr&zbz gbtrgure..!!",
|
||||
"foo bar": "Encrypted/Decrypted text: sbb one",
|
||||
"Please encrypt this": "Encrypted/Decrypted text: Cyrnfr rapelcg guvf",
|
||||
}
|
||||
expected = [
|
||||
("", "Encrypted/Decrypted text: "),
|
||||
("Let\'s Do It", "Encrypted/Decrypted text: Yrg\'f Qb Vg"),
|
||||
("me&mom together..!!", "Encrypted/Decrypted text: zr&zbz gbtrgure..!!"),
|
||||
("foo bar", "Encrypted/Decrypted text: sbb one"),
|
||||
("Please encrypt this", "Encrypted/Decrypted text: Cyrnfr rapelcg guvf"),
|
||||
]
|
||||
self.check_expected_responses(expected)
|
||||
|
|
|
@ -9,23 +9,21 @@ class TestFollowUpBot(BotTestCase):
|
|||
bot_name = "followup"
|
||||
|
||||
def test_bot(self):
|
||||
expected_send_reply = {
|
||||
"": 'Please specify the message you want to send to followup stream after @mention-bot'
|
||||
}
|
||||
expected_send_reply = [
|
||||
("", 'Please specify the message you want to send to followup stream after @mention-bot')
|
||||
]
|
||||
self.check_expected_responses(expected_send_reply, expected_method='send_reply')
|
||||
|
||||
expected_send_message = {
|
||||
"foo": {
|
||||
'type': 'stream',
|
||||
expected_send_message = [
|
||||
("foo",
|
||||
{'type': 'stream',
|
||||
'to': 'followup',
|
||||
'subject': 'foo_sender@zulip.com',
|
||||
'content': 'from foo_sender@zulip.com: foo',
|
||||
},
|
||||
"I have completed my task": {
|
||||
'type': 'stream',
|
||||
'content': 'from foo_sender@zulip.com: foo'}),
|
||||
("I have completed my task",
|
||||
{'type': 'stream',
|
||||
'to': 'followup',
|
||||
'subject': 'foo_sender@zulip.com',
|
||||
'content': 'from foo_sender@zulip.com: I have completed my task',
|
||||
},
|
||||
}
|
||||
'content': 'from foo_sender@zulip.com: I have completed my task'}),
|
||||
]
|
||||
self.check_expected_responses(expected_send_message, expected_method='send_message')
|
||||
|
|
|
@ -13,4 +13,4 @@ class TestHelloWorldBot(BotTestCase):
|
|||
def test_bot(self):
|
||||
txt = "beep boop"
|
||||
messages = ["", "foo", "Hi, my name is abc"]
|
||||
self.check_expected_responses(dict(list(zip(messages, len(messages)*[txt]))))
|
||||
self.check_expected_responses(list(zip(messages, len(messages)*[txt])))
|
||||
|
|
|
@ -13,4 +13,4 @@ class TestHelpBot(BotTestCase):
|
|||
def test_bot(self):
|
||||
txt = "Info on Zulip can be found here:\nhttps://github.com/zulip/zulip"
|
||||
messages = ["", "help", "Hi, my name is abc"]
|
||||
self.check_expected_responses(dict(list(zip(messages, len(messages)*[txt]))))
|
||||
self.check_expected_responses(list(zip(messages, len(messages)*[txt])))
|
||||
|
|
|
@ -61,11 +61,6 @@ class BotTestCase(TestCase):
|
|||
# type: (Union[Sequence[Tuple[str, Any]], Dict[str, Any]], str, str, str, str, int, str, str) -> None
|
||||
# To test send_message, Any would be a Dict type,
|
||||
# to test send_reply, Any would be a str type.
|
||||
if isinstance(expectations, dict):
|
||||
expected = [(k, v) for k, v in expectations.items()]
|
||||
else:
|
||||
expected = expectations
|
||||
|
||||
if type not in ["private", "stream", "all"]:
|
||||
logging.exception("check_expected_response expects type to be 'private', 'stream' or 'all'")
|
||||
|
||||
|
|
Loading…
Reference in a new issue