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
					
				
					 6 changed files with 32 additions and 39 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 derAnfaenger
						derAnfaenger