Esempio n. 1
0
 def test_set_empty_group(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]"><group/></item>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.groups, set([u""]))
     with self.assertRaises(NotAcceptableProtocolError):
         item.verify_roster_set()
     with self.assertRaises(NotAcceptableProtocolError):
         item.verify_roster_set(True)
Esempio n. 2
0
 def test_set_with_remove(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]" subscription="remove"/>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.subscription, "remove")
     item.verify_roster_set()
     item.verify_roster_set(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.subscription, "remove")
Esempio n. 3
0
 def test_result_with_remove(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]" subscription="remove"/>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.subscription, "remove")
     with self.assertRaises(ValueError):
         item.verify_roster_result()
     item.verify_roster_result(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertIsNone(item.subscription)
Esempio n. 4
0
 def test_set_duplicate_group(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]"><group>GROUP1</group>'
                                 '<group>GROUP1</group></item>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.groups, set([u"GROUP1"]))
     with self.assertRaises(BadRequestProtocolError):
         item.verify_roster_set()
     with self.assertRaises(BadRequestProtocolError):
         item.verify_roster_set(True)
Esempio n. 5
0
 def test_set_with_subscription(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]" subscription="both"/>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.subscription, "both")
     with self.assertRaises(BadRequestProtocolError):
         item.verify_roster_set()
     item.verify_roster_set(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertIsNone(item.subscription)
Esempio n. 6
0
 def test_parse_only_jid(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                                                         ' jid="[email protected]"/>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertIsNone(item.name)
     self.assertEqual(item.groups, set())
     self.assertIsNone(item.subscription)
     self.assertIsNone(item.ask)
     self.assertFalse(item.approved)
     item.verify_roster_result()
     item.verify_roster_result(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertIsNone(item.name)
     self.assertEqual(item.groups, set())
     self.assertIsNone(item.subscription)
     self.assertIsNone(item.ask)
     self.assertFalse(item.approved)
Esempio n. 7
0
 def test_parse_full(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]" name="NAME" subscription="to"'
                     ' ask="subscribe" approved="true">'
                     '<group>GROUP1</group><group>GROUP2</group>'
                     '</item>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.name, u"NAME")
     self.assertEqual(item.groups, set(["GROUP1", "GROUP2"]))
     self.assertEqual(item.subscription, "to")
     self.assertEqual(item.ask, "subscribe")
     self.assertTrue(item.approved)
     item.verify_roster_result()
     item.verify_roster_result(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.name, u"NAME")
     self.assertEqual(item.groups, set(["GROUP1", "GROUP2"]))
     self.assertEqual(item.subscription, "to")
     self.assertEqual(item.ask, "subscribe")
     self.assertTrue(item.approved)
Esempio n. 8
0
 def test_bad_subscription(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]" name="NAME" subscription="bad"'
                     ' ask="subscribe" approved="true">'
                     '<group>GROUP1</group><group>GROUP2</group>'
                     '</item>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.name, u"NAME")
     self.assertEqual(item.groups, set(["GROUP1", "GROUP2"]))
     self.assertEqual(item.subscription, "bad")
     self.assertEqual(item.ask, "subscribe")
     self.assertTrue(item.approved)
     with self.assertRaises(ValueError):
         item.verify_roster_result()
     item.verify_roster_result(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.name, u"NAME")
     self.assertEqual(item.groups, set(["GROUP1", "GROUP2"]))
     self.assertIsNone(item.subscription)
     self.assertEqual(item.ask, "subscribe")
     self.assertTrue(item.approved)
 def test_set_full(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"'
                     ' jid="[email protected]" name="NAME" subscription="to"'
                     ' ask="subscribe" approved="true">'
                     '<group>GROUP1</group><group>GROUP2</group>'
                     '</item>')
     item = RosterItem.from_xml(element)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.name, "NAME")
     self.assertEqual(item.groups, set(["GROUP1", "GROUP2"]))
     self.assertEqual(item.subscription, "to")
     self.assertEqual(item.ask, "subscribe")
     self.assertTrue(item.approved)
     with self.assertRaises(BadRequestProtocolError):
         item.verify_roster_set()
     item.verify_roster_set(True)
     self.assertEqual(item.jid, JID("[email protected]"))
     self.assertEqual(item.name, "NAME")
     self.assertEqual(item.groups, set(["GROUP1", "GROUP2"]))
     self.assertIsNone(item.subscription)
     self.assertIsNone(item.ask, None)
     self.assertFalse(item.approved)
Esempio n. 10
0
 def test_parse_empty(self):
     element = ElementTree.XML('<item xmlns="jabber:iq:roster"/>')
     with self.assertRaises(BadRequestProtocolError):
         RosterItem.from_xml(element)