示例#1
0
    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()
示例#2
0
    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()
示例#3
0
    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()
示例#4
0
    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()
示例#5
0
    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()
示例#6
0
    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()
示例#7
0
    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()
示例#8
0
    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()