summaryrefslogtreecommitdiff
path: root/tests/test_stanza_xep_0055.py
blob: 9ff45efabf9ad80c54eec62bc3d49245f0456a60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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)