summaryrefslogtreecommitdiff
path: root/tests/test_stanza_xep_0356.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-02-18 20:03:22 +0100
committermathieui <mathieui@mathieui.net>2021-02-18 20:03:22 +0100
commit8d92027d0176107bacab26b03172cdb461a2882b (patch)
tree442873c81b383939d50fbed036b0325c736558eb /tests/test_stanza_xep_0356.py
parent3453ebf0c5bc5d6f9958da0ee6852271aee41ff2 (diff)
parentdcab3de1b4a5293f355f3ef6dd31a1878dfa88be (diff)
downloadslixmpp-8d92027d0176107bacab26b03172cdb461a2882b.tar.gz
slixmpp-8d92027d0176107bacab26b03172cdb461a2882b.tar.bz2
slixmpp-8d92027d0176107bacab26b03172cdb461a2882b.tar.xz
slixmpp-8d92027d0176107bacab26b03172cdb461a2882b.zip
Merge branch 'privilege' into 'master'
Privileged entities (XEP-0356) See merge request poezio/slixmpp!131
Diffstat (limited to 'tests/test_stanza_xep_0356.py')
-rw-r--r--tests/test_stanza_xep_0356.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/test_stanza_xep_0356.py b/tests/test_stanza_xep_0356.py
new file mode 100644
index 00000000..ef116db2
--- /dev/null
+++ b/tests/test_stanza_xep_0356.py
@@ -0,0 +1,41 @@
+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'>
+ <privilege xmlns='urn:xmpp:privilege:1'>
+ <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)