Merge branch 'xep402-extensions' into 'master'
xep0402: add password and extension See merge request poezio/slixmpp!242
This commit is contained in:
commit
8bead23799
@ -9,18 +9,25 @@ class Conference(ElementBase):
|
||||
namespace = NS
|
||||
name = "conference"
|
||||
plugin_attrib = "conference"
|
||||
interfaces = {"name", "autojoin", "nick"}
|
||||
sub_interfaces = {"nick"}
|
||||
interfaces = {"name", "autojoin", "nick", "password"}
|
||||
sub_interfaces = {"nick", "password"}
|
||||
|
||||
def set_autojoin(self, v: bool):
|
||||
self._set_attr('autojoin', "true" if v else "false")
|
||||
self._set_attr("autojoin", "true" if v else "false")
|
||||
|
||||
def get_autojoin(self):
|
||||
v = self._get_attr('autojoin', '')
|
||||
v = self._get_attr("autojoin", "")
|
||||
if not v:
|
||||
return False
|
||||
return v == "1" or v.lower() == "true"
|
||||
|
||||
|
||||
class Extensions(ElementBase):
|
||||
namespace = NS
|
||||
name = "extensions"
|
||||
plugin_attrib = "extensions"
|
||||
|
||||
|
||||
def register_plugin():
|
||||
register_stanza_plugin(Conference, Extensions)
|
||||
register_stanza_plugin(Item, Conference)
|
||||
|
50
tests/test_stanza_xep_0402.py
Normal file
50
tests/test_stanza_xep_0402.py
Normal file
@ -0,0 +1,50 @@
|
||||
import unittest
|
||||
|
||||
from slixmpp.test import SlixTest
|
||||
from slixmpp.xmlstream import ElementBase
|
||||
from slixmpp.plugins.xep_0402 import stanza
|
||||
|
||||
|
||||
class Ext1(ElementBase):
|
||||
name = "ext1"
|
||||
namespace = "http://ext1"
|
||||
|
||||
|
||||
class Ext2(ElementBase):
|
||||
name = "ext2"
|
||||
namespace = "http://ext2"
|
||||
|
||||
|
||||
class TestPepBookmarks(SlixTest):
|
||||
def setUp(self):
|
||||
stanza.register_plugin()
|
||||
|
||||
def test_bookmarks_extensions(self):
|
||||
extension1 = Ext1()
|
||||
extension2 = Ext2()
|
||||
|
||||
bookmark = stanza.Conference()
|
||||
bookmark["password"] = "pass"
|
||||
bookmark["nick"] = "nick"
|
||||
bookmark["autojoin"] = False
|
||||
bookmark["extensions"].append(extension1)
|
||||
bookmark["extensions"].append(extension2)
|
||||
self.check(
|
||||
bookmark,
|
||||
"""
|
||||
<conference xmlns='urn:xmpp:bookmarks:1'
|
||||
autojoin='false'>
|
||||
<nick>nick</nick>
|
||||
<password>pass</password>
|
||||
<extensions>
|
||||
<ext1 xmlns="http://ext1" />
|
||||
<ext2 xmlns="http://ext2" />
|
||||
</extensions>
|
||||
</conference>
|
||||
""",
|
||||
use_values=False
|
||||
)
|
||||
|
||||
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestPepBookmarks)
|
Loading…
Reference in New Issue
Block a user