def test_execute_command_tweet(self): account = self.mocker.mock() account.jid self.mocker.result("[email protected]/Adium123") account.api self.mocker.result("api") send_message = self.mocker.mock() send_message("[email protected]/Adium123", "Tweet sent") commands = self.mocker.mock() commands.update_status("this is an example tweet") self.mocker.result("Tweet sent") commands_class = self.mocker.mock() commands_class("api") self.mocker.result(commands) self.mocker.replay() handler = MessageHandler() handler.send_message = send_message handler.commands_class = commands_class handler.execute_command(account, "tweet this is an example tweet") self.mocker.verify()
def test_handle_message_with_authentication_started_and_verification_fails(self): msg = self.mocker.mock() msg['body'] self.mocker.result("123456") msg.getFrom().jid self.mocker.result("[email protected]/Adium123") account = self.mocker.mock() account.verified self.mocker.result(False) account.authenticating self.mocker.result(True) account.verify("123456") self.mocker.result(False) manager = self.mocker.mock() manager.get_or_create_account("[email protected]/Adium123") self.mocker.result(account) send_message = self.mocker.mock() send_message("[email protected]/Adium123", "Invalid verification code") self.mocker.replay() handler = MessageHandler() handler.manager = manager handler.send_message = send_message handler.handle(msg) self.mocker.verify()
def test_execute_command_timeline(self): account = self.mocker.mock() account.jid self.mocker.result("[email protected]/Adium123") account.api self.mocker.result("api") send_message = self.mocker.mock() send_message("[email protected]/Adium123", "@foo: bar") commands = self.mocker.mock() commands.home_timeline() self.mocker.result("@foo: bar") commands_class = self.mocker.mock() commands_class("api") self.mocker.result(commands) self.mocker.replay() handler = MessageHandler() handler.send_message = send_message handler.commands_class = commands_class handler.execute_command(account, "timeline") self.mocker.verify()
def test_handle_message_to_start_authentication(self): msg = self.mocker.mock() msg['body'] self.mocker.result("start") msg.getFrom().jid self.mocker.result("[email protected]/Adium123") account = self.mocker.mock() account.verified self.mocker.result(False) account.authenticating self.mocker.result(False) account.authenticate() self.mocker.result("/authenticate/url") manager = self.mocker.mock() manager.get_or_create_account("[email protected]/Adium123") self.mocker.result(account) send_message = self.mocker.mock() send_message("[email protected]/Adium123", mocker.ARGS) send_message("[email protected]/Adium123", "/authenticate/url") send_message("[email protected]/Adium123", mocker.ARGS) self.mocker.replay() handler = MessageHandler() handler.manager = manager handler.send_message = send_message handler.handle(msg) self.mocker.verify()
def test_handle_message_from_authenticated_user(self): msg = self.mocker.mock() msg['body'] self.mocker.result("timeline") msg.getFrom().jid self.mocker.result("[email protected]/Adium123") account = self.mocker.mock() account.verified self.mocker.result(True) manager = self.mocker.mock() manager.get_or_create_account("[email protected]/Adium123") self.mocker.result(account) handler = MessageHandler() handler.manager = manager handler.execute_command = self.mocker.mock() handler.execute_command(account, "timeline") self.mocker.replay() handler.handle(msg) self.mocker.verify()
def test_execute_command_timeline(self): account = self.mocker.mock() account.jid self.mocker.result("[email protected]/Adium123") account.api self.mocker.result("api") send_message = self.mocker.mock() send_message("[email protected]/Adium123", "@foo: bar", u'<a href="http://twitter.com/foo">@foo</a>: bar') home_timeline = self.mocker.mock() home_timeline() self.mocker.result( ("@foo: bar", u'<a href="http://twitter.com/foo">@foo</a>: bar')) commands = self.mocker.mock() commands.resolve("timeline") self.mocker.result((home_timeline, {})) commands_class = self.mocker.mock() commands_class("api") self.mocker.result(commands) self.mocker.replay() handler = MessageHandler() handler.send_message = send_message handler.commands_class = commands_class handler.execute_command(account, "timeline") self.mocker.verify()
def test_handle_message_with_authentication_started_and_verification_succeed(self): msg = self.mocker.mock() msg['body'] self.mocker.result("123456") msg.get_from() self.mocker.result("[email protected]/Adium123") account = self.mocker.mock() account.verified self.mocker.result(False) account.reload_authentication() self.mocker.result(False) account.authenticating self.mocker.result(True) account.verify("123456") self.mocker.result(True) account.save() manager = self.mocker.mock() manager.get_or_create_account("[email protected]/Adium123") self.mocker.result(account) send_message = self.mocker.mock() send_message("[email protected]/Adium123", "Authentication complete!") self.mocker.replay() handler = MessageHandler() handler.manager = manager handler.send_message = send_message handler.handle(msg) self.mocker.verify()
def test_execute_command_not_found(self): account = self.mocker.mock() account.jid self.mocker.result("[email protected]/Adium123") account.api self.mocker.result("api") send_message = self.mocker.mock() send_message("[email protected]/Adium123", "Command not found") self.mocker.replay() handler = MessageHandler() handler.send_message = send_message handler.execute_command(account, "foobar") self.mocker.verify()