diff options
author | mathieui <mathieui@mathieui.net> | 2021-02-18 20:03:22 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2021-02-18 20:03:22 +0100 |
commit | 8d92027d0176107bacab26b03172cdb461a2882b (patch) | |
tree | 442873c81b383939d50fbed036b0325c736558eb /tests/test_stanza_xep_0356.py | |
parent | 3453ebf0c5bc5d6f9958da0ee6852271aee41ff2 (diff) | |
parent | dcab3de1b4a5293f355f3ef6dd31a1878dfa88be (diff) | |
download | slixmpp-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.py | 41 |
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) |