Example #1
0
class ImpatientTester(Thread):
    """ 
    An instance of ChatTester logs in to the chat server and
    performs requests for rooms, speaks, etc...
    """
    
    def __init__ (self, id, thread_queue, num_iters):
        Thread.__init__(self)
        self.user_id = id
        self.API = ChatAPI(self.user_id)
        self.num_iters = num_iters
        self.thread_queue = thread_queue
        self.API.login()
        self.API.timeout = .5
        self.unique = 0
        
    def run(self):
        """Main method, log in and perform requests"""

        print self.name, " LIVES!"
        for i in range(0, self.num_iters):
            self.API.heartbeat()
            self.API.getListenResponse()
            time.sleep(.25)
            self.speak("iter = %d" % i)
        
        self.API.signout()
        myID = self.thread_queue.get(True, 1)
        self.thread_queue.task_done()
                                
    def report (self):
        self.speak("done")
        
    def speak(self, txt):
        print self.name, txt
Example #2
0
class ChatTester(Thread):
    """ 
    An instance of ChatTester logs in to the chat server and
    performs requests for rooms, speaks, etc...
    """
    
    def __init__ (self, id, thread_queue, num_iters, num_users, messageTimer):
        Thread.__init__(self)
        self.user_id = id
        self.API = ChatAPI(self.user_id)
        self.num_iters = num_iters
        self.num_users = num_users
        self.thread_queue = thread_queue
        self.messageTimer = messageTimer
        self.API.login()
        
    def run(self):
        """Main method, log in and perform requests"""
        global messageTimer
        print self.name, " LIVES!"
        self.API.requestAndListen()
        for i in range(0, self.num_iters):
            self.API.heartbeat()
            room_id = self.randomRoom()
            if room_id:
                messageID = self.messageTimer.nextID()
                self.messageTimer.sentMessage(messageID)
                self.API.messageRoom(messageID, room_id)
            
            self.API.heartbeat()
            self.processListen()
            
        time.sleep(1)
        self.API.heartbeat()
        self.processListen()        
        
        self.API.signout()
        
        myID = self.thread_queue.get(True, 1)
        self.thread_queue.task_done()
    
    def processListen (self):
        messages = self.API.getMessageData()
        for m in messages:
            messageID = m["text"]
            if messageID.isdigit():
                self.messageTimer.gotMessage(int(messageID))
                                
    def randomRoom (self):
        room_ids = self.API.getRoomIds()
        if len(room_ids) > 0:
            return room_ids[random.randint(0, len(room_ids) - 1)]
        return None
           
    def report (self):
        self.speak("done")
        self.API.printStats()
        
    def speak(self, txt):
        print self.name, txt