import encrypt_bot def test(): for cmd, expected_response in sample_conversation(): message = {'content': cmd, 'subject': 'foo', 'display_recipient': 'bar'} class ClientDummy(object): def __init__(self): self.output = '' def send_message(self, params): self.output = params['content'] handler = encrypt_bot.EncryptHandler() client_dummy = ClientDummy() handler.handle_message(message, client_dummy, '') if client_dummy.output != expected_response: raise AssertionError(''' cmd: %s expected: %s but got : %s ''' % (cmd, expected_response, client_dummy.output)) def sample_conversation(): return [ ('@encrypt Please encrypt this', 'Encrypted/Decrypted text: Cyrnfr rapelcg guvf'), ('@encrypt Let\'s Do It', 'Encrypted/Decrypted text: Yrg\'f Qb Vg'), ('@encrypt ', 'Encrypted/Decrypted text: '), ('@encrypt me&mom together..!!', 'Encrypted/Decrypted text: zr&zbz gbtrgure..!!'), ] if __name__ == '__main__': test()