added test for unsolicided unavailable presence and fixed bug to make it pass
This commit is contained in:
		 Nathan Fritz
					Nathan Fritz
				
			
				
					committed by
					
						 Tom Nichols
						Tom Nichols
					
				
			
			
				
	
			
			
			 Tom Nichols
						Tom Nichols
					
				
			
						parent
						
							4c410dd48a
						
					
				
				
					commit
					7522839141
				
			| @@ -11,5 +11,21 @@ class testpresencestanzas(unittest.TestCase): | ||||
| 		p = self.p.Presence() | ||||
| 		p['type'] = 'dnd' | ||||
| 		self.failUnless(str(p) == "<presence><show>dnd</show></presence>") | ||||
| 	 | ||||
| 	def testPresenceUnsolicitedOffline(self): | ||||
| 		"Unsolicted offline presence does not spawn changed_status or update roster" | ||||
| 		p = self.p.Presence() | ||||
| 		p['type'] = 'unavailable' | ||||
| 		p['from'] = 'bill@chadmore.com/gmail15af' | ||||
| 		import sleekxmpp | ||||
| 		c = sleekxmpp.ClientXMPP('crap@wherever', 'password') | ||||
| 		happened = [] | ||||
| 		def handlechangedpresence(event): | ||||
| 			happened.append(True) | ||||
| 		c.add_event_handler("changed_status", handlechangedpresence) | ||||
| 		c._handlePresence(p) | ||||
| 		self.failUnless(happened == [], "changed_status event triggered for superfulous unavailable presence") | ||||
| 		self.failUnless(c.roster == {}, "Roster updated for superfulous unavailable presence") | ||||
|          | ||||
|  | ||||
| suite = unittest.TestLoader().loadTestsFromTestCase(testpresencestanzas) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user