32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import unittest
 | |
| 
 | |
| class testpresencestanzas(unittest.TestCase):
 | |
| 
 | |
| 	def setUp(self):
 | |
| 		import sleekxmpp.stanza.presence as p
 | |
| 		self.p = p
 | |
| 	
 | |
| 	def testPresenceShowRegression(self):
 | |
| 		"Regression check presence['type'] = 'dnd' show value working"
 | |
| 		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)
 | 
