59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
import unittest
|
|
|
|
from slixmpp import register_stanza_plugin, Iq
|
|
from slixmpp.test import SlixTest
|
|
|
|
from slixmpp.plugins.xep_0055 import stanza
|
|
|
|
|
|
class TestJabberSearch(SlixTest):
|
|
def setUp(self):
|
|
register_stanza_plugin(Iq, stanza.Search)
|
|
self.stream_start(plugins={"xep_0055"})
|
|
|
|
def testRequestSearchFields(self):
|
|
iq = self.Iq()
|
|
iq.set_from("juliet@capulet.com/balcony")
|
|
iq.set_to("characters.shakespeare.lit")
|
|
iq.set_type("get")
|
|
iq.enable("search")
|
|
iq["id"] = "0"
|
|
self.check(
|
|
iq,
|
|
"""
|
|
<iq type='get'
|
|
from='juliet@capulet.com/balcony'
|
|
to='characters.shakespeare.lit'>
|
|
<query xmlns='jabber:iq:search'/>
|
|
</iq>
|
|
""",
|
|
)
|
|
|
|
def testSendSearch(self):
|
|
iq = self.xmpp["xep_0055"].make_search_iq(
|
|
ifrom="juliet@capulet.com/balcony", ito="characters.shakespeare.lit"
|
|
)
|
|
iq["search"]["form"].add_field(var="x-gender", value="male")
|
|
self.check(
|
|
iq,
|
|
"""
|
|
<iq type='set'
|
|
from='juliet@capulet.com/balcony'
|
|
to='characters.shakespeare.lit'>
|
|
<query xmlns='jabber:iq:search'>
|
|
<x xmlns='jabber:x:data' type='submit'>
|
|
<field type='hidden' var='FORM_TYPE'>
|
|
<value>jabber:iq:search</value>
|
|
</field>
|
|
<field var='x-gender'>
|
|
<value>male</value>
|
|
</field>
|
|
</x>
|
|
</query>
|
|
</iq>
|
|
""",
|
|
use_values=False,
|
|
)
|
|
|
|
|
|
suite = unittest.TestLoader().loadTestsFromTestCase(TestJabberSearch)
|