XEP-0045: add more elements (<actor/>)
This commit is contained in:
@@ -13,6 +13,8 @@ from slixmpp.plugins.xep_0045.stanza import (
|
||||
MUCStatus,
|
||||
MUCInvite,
|
||||
MUCDecline,
|
||||
MUCUserItem,
|
||||
MUCActor,
|
||||
)
|
||||
from slixmpp.xmlstream import register_stanza_plugin, ET
|
||||
|
||||
@@ -20,6 +22,9 @@ from slixmpp.xmlstream import register_stanza_plugin, ET
|
||||
class TestMUC(SlixTest):
|
||||
|
||||
def setUp(self):
|
||||
register_stanza_plugin(MUCPresence, MUCUserItem)
|
||||
register_stanza_plugin(MUCMessage, MUCUserItem)
|
||||
register_stanza_plugin(MUCUserItem, MUCActor)
|
||||
register_stanza_plugin(MUCMessage, MUCInvite)
|
||||
register_stanza_plugin(MUCMessage, MUCDecline)
|
||||
register_stanza_plugin(MUCMessage, MUCStatus)
|
||||
@@ -33,7 +38,46 @@ class TestMUC(SlixTest):
|
||||
register_stanza_plugin(MUCOwnerQuery, MUCOwnerDestroy)
|
||||
register_stanza_plugin(MUCAdminQuery, MUCAdminItem, iterable=True)
|
||||
|
||||
|
||||
def testPresence(self):
|
||||
presence = Presence()
|
||||
presence['from'] = JID('muc@service/nick')
|
||||
presence['muc']['item']['affiliation'] = 'member'
|
||||
presence['muc']['item']['role'] = 'participant'
|
||||
presence['muc']['status_codes'] = (100, 110, 210)
|
||||
|
||||
self.check(presence, """
|
||||
<presence from='muc@service/nick'>
|
||||
<x xmlns='http://jabber.org/protocol/muc#user'>
|
||||
<item affiliation='member' role='participant'/>
|
||||
<status code='100'/>
|
||||
<status code='110'/>
|
||||
<status code='210'/>
|
||||
</x>
|
||||
</presence>
|
||||
""", use_values=False)
|
||||
|
||||
def testPresenceReason(self):
|
||||
presence = Presence()
|
||||
presence['from'] = JID('muc@service/nick')
|
||||
presence['muc']['item']['affiliation'] = 'member'
|
||||
presence['muc']['item']['role'] = 'participant'
|
||||
presence['muc']['item']['reason'] = 'coucou'
|
||||
presence['muc']['item']['actor']['nick'] = 'JPR'
|
||||
|
||||
self.check(presence, """
|
||||
<presence from='muc@service/nick'>
|
||||
<x xmlns='http://jabber.org/protocol/muc#user'>
|
||||
<item affiliation='member' role='participant'>
|
||||
<actor nick="JPR"/>
|
||||
<reason>coucou</reason>
|
||||
</item>
|
||||
</x>
|
||||
</presence>
|
||||
""", use_values=False)
|
||||
|
||||
|
||||
def testPresenceLegacy(self):
|
||||
presence = Presence()
|
||||
presence['from'] = JID('muc@service/nick')
|
||||
presence['muc']['affiliation'] = 'member'
|
||||
@@ -96,5 +140,20 @@ class TestMUC(SlixTest):
|
||||
</iq>
|
||||
""", use_values=False)
|
||||
|
||||
def testSetAffiliation(self):
|
||||
iq = Iq()
|
||||
iq['type'] = 'set'
|
||||
iq['id'] = '1'
|
||||
iq['mucadmin_query']['item']['jid'] = JID('test@example.com')
|
||||
iq['mucadmin_query']['item']['affiliation'] = 'owner'
|
||||
self.check(iq, """
|
||||
<iq type='set' id='1'>
|
||||
<query xmlns='http://jabber.org/protocol/muc#admin'>
|
||||
<item jid='test@example.com'
|
||||
affiliation='owner'/>
|
||||
</query>
|
||||
</iq>
|
||||
""", use_values=False)
|
||||
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestMUC)
|
||||
|
||||
Reference in New Issue
Block a user