slixmpp/tests/test_stanza_xep_0356.py

42 lines
1.4 KiB
Python
Raw Permalink Normal View History

2021-02-18 19:03:22 +00:00
import unittest
from slixmpp import Message
from slixmpp.test import SlixTest
from slixmpp.xmlstream import register_stanza_plugin
from slixmpp.plugins.xep_0356 import stanza
class TestPermissions(SlixTest):
def setUp(self):
stanza.register()
def testAdvertisePermission(self):
xmlstring = """
<message from='capulet.net' to='pubub.capulet.lit'>
2022-06-09 14:45:36 +00:00
<privilege xmlns='urn:xmpp:privilege:2'>
2021-02-18 19:03:22 +00:00
<perm access='roster' type='both'/>
<perm access='message' type='outgoing'/>
<perm access='presence' type='managed_entity'/>
</privilege>
</message>
"""
msg = self.Message()
msg["from"] = "capulet.net"
msg["to"] = "pubub.capulet.lit"
# This raises AttributeError: 'NoneType' object has no attribute 'use_origin_id'
# msg["id"] = "id"
for access, type_ in [
("roster", "both"),
("message", "outgoing"),
("presence", "managed_entity"),
]:
msg["privilege"].add_perm(access, type_)
self.check(msg, xmlstring)
# Should this one work? → # AttributeError: 'Message' object has no attribute 'permission'
# self.assertEqual(msg.permission["roster"], "both")
suite = unittest.TestLoader().loadTestsFromTestCase(TestPermissions)