Mercurial > libervia-backend
annotate sat/test/test_plugin_xep_0313.py @ 3254:6cf4bd6972c2
core, frontends: avatar refactoring:
/!\ huge commit
Avatar logic has been reworked around the IDENTITY plugin: plugins able to handle avatar
or other identity related metadata (like nicknames) register to IDENTITY plugin in the
same way as for other features like download/upload. Once registered, IDENTITY plugin will
call them when suitable in order of priority, and handle caching.
Methods to manage those metadata from frontend now use serialised data.
For now `avatar` and `nicknames` are handled:
- `avatar` is now a dict with `path` + metadata like `media_type`, instead of just a string
path
- `nicknames` is now a list of nicknames in order of priority. This list is never empty,
and `nicknames[0]` should be the preferred nickname to use by frontends in most cases.
In addition to contact specified nicknames, user set nickname (the one set in roster) is
used in priority when available.
Among the side changes done with this commit, there are:
- a new `contactGet` bridge method to get roster metadata for a single contact
- SatPresenceProtocol.send returns a Deferred to check when it has actually been sent
- memory's methods to handle entities data now use `client` as first argument
- metadata filter can be specified with `getIdentity`
- `getAvatar` and `setAvatar` are now part of the IDENTITY plugin instead of XEP-0054 (and
there signature has changed)
- `isRoom` and `getBareOrFull` are now part of XEP-0045 plugin
- jp avatar/get command uses `xdg-open` first when available for `--show` flag
- `--no-cache` has been added to jp avatar/get and identity/get
- jp identity/set has been simplified, explicit options (`--nickname` only for now) are
used instead of `--field`. `--field` may come back in the future if necessary for extra
data.
- QuickContactList `SetContact` now handle None as a value, and doesn't use it to delete the
metadata anymore
- improved cache handling for `metadata` and `nicknames` in quick frontend
- new `default` argument in QuickContactList `getCache`
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 14 Apr 2020 21:00:33 +0200 |
parents | 559a625a236b |
children | be6d91572633 |
rev | line source |
---|---|
3028 | 1 #!/usr/bin/env python3 |
3137 | 2 |
1277 | 3 |
4 # SAT: a jabber client | |
3136 | 5 # Copyright (C) 2009-2020 Jérôme Poisson (goffi@goffi.org) |
1766 | 6 # Copyright (C) 2013-2016 Adrien Cossa (souliane@mailoo.org) |
1277 | 7 |
8 # This program is free software: you can redistribute it and/or modify | |
9 # it under the terms of the GNU Affero General Public License as published by | |
10 # the Free Software Foundation, either version 3 of the License, or | |
11 # (at your option) any later version. | |
12 | |
13 # This program is distributed in the hope that it will be useful, | |
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 # GNU Affero General Public License for more details. | |
17 | |
18 # You should have received a copy of the GNU Affero General Public License | |
19 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
20 | |
21 """ Plugin XEP-0313 """ | |
22 | |
3028 | 23 from .constants import Const as C |
1277 | 24 from sat.test import helpers |
25 from sat.plugins.plugin_xep_0313 import XEP_0313 | |
26 from twisted.words.protocols.jabber.jid import JID | |
27 from twisted.words.xish import domish | |
1910 | 28 from wokkel.data_form import Field |
1277 | 29 from dateutil.tz import tzutc |
30 import datetime | |
1285
ed2c718bfe03
tmp, plugins: fixes the imports fron sat.tmp
souliane <souliane@mailoo.org>
parents:
1284
diff
changeset
|
31 |
ed2c718bfe03
tmp, plugins: fixes the imports fron sat.tmp
souliane <souliane@mailoo.org>
parents:
1284
diff
changeset
|
32 # TODO: change this when RSM and MAM are in wokkel |
2413
70399d1acb47
tmp: removed sat.tmp hierarchy and fixed references to it as it is now an independant sat_tmp repository
Goffi <goffi@goffi.org>
parents:
1934
diff
changeset
|
33 from sat_tmp.wokkel.rsm import RSMRequest |
70399d1acb47
tmp: removed sat.tmp hierarchy and fixed references to it as it is now an independant sat_tmp repository
Goffi <goffi@goffi.org>
parents:
1934
diff
changeset
|
34 from sat_tmp.wokkel.mam import buildForm, MAMRequest |
1277 | 35 |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
36 NS_PUBSUB = "http://jabber.org/protocol/pubsub" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
37 SERVICE = "sat-pubsub.tazar.int" |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
38 SERVICE_JID = JID(SERVICE) |
1277 | 39 |
40 | |
41 class XEP_0313Test(helpers.SatTestCase): | |
42 def setUp(self): | |
43 self.host = helpers.FakeSAT() | |
44 self.plugin = XEP_0313(self.host) | |
1910 | 45 self.client = self.host.getClient(C.PROFILE[0]) |
46 mam_client = self.plugin.getHandler(C.PROFILE[0]) | |
47 mam_client.makeConnection(self.host.getClient(C.PROFILE[0]).xmlstream) | |
1277 | 48 |
49 def test_queryArchive(self): | |
50 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
51 <iq type='set' id='%s' to='%s'> |
1910 | 52 <query xmlns='urn:xmpp:mam:1'/> |
1277 | 53 </iq> |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
54 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
55 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
56 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
57 ) |
1910 | 58 d = self.plugin.queryArchive(self.client, MAMRequest(), SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
59 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
60 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
61 ) |
1277 | 62 return d |
63 | |
64 def test_queryArchivePubsub(self): | |
65 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
66 <iq type='set' id='%s' to='%s'> |
1910 | 67 <query xmlns='urn:xmpp:mam:1' node='fdp/submitted/capulet.lit/sonnets' /> |
1277 | 68 </iq> |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
69 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
70 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
71 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
72 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
73 d = self.plugin.queryArchive( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
74 self.client, MAMRequest(node="fdp/submitted/capulet.lit/sonnets"), SERVICE_JID |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
75 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
76 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
77 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
78 ) |
1277 | 79 return d |
80 | |
81 def test_queryArchiveWith(self): | |
82 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
83 <iq type='set' id='%s' to='%s'> |
1910 | 84 <query xmlns='urn:xmpp:mam:1'> |
1277 | 85 <x xmlns='jabber:x:data' type='submit'> |
86 <field var='FORM_TYPE' type='hidden'> | |
1910 | 87 <value>urn:xmpp:mam:1</value> |
1277 | 88 </field> |
89 <field var='with' type='jid-single'> | |
90 <value>juliet@capulet.lit</value> | |
91 </field> | |
92 </x> | |
93 </query> | |
94 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
95 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
96 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
97 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
98 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
99 form = buildForm(with_jid=JID("juliet@capulet.lit")) |
1910 | 100 d = self.plugin.queryArchive(self.client, MAMRequest(form), SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
101 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
102 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
103 ) |
1277 | 104 return d |
105 | |
106 def test_queryArchiveStartEnd(self): | |
107 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
108 <iq type='set' id='%s' to='%s'> |
1910 | 109 <query xmlns='urn:xmpp:mam:1'> |
1277 | 110 <x xmlns='jabber:x:data' type='submit'> |
111 <field var='FORM_TYPE' type='hidden'> | |
1910 | 112 <value>urn:xmpp:mam:1</value> |
1277 | 113 </field> |
114 <field var='start' type='text-single'> | |
115 <value>2010-06-07T00:00:00Z</value> | |
116 </field> | |
117 <field var='end' type='text-single'> | |
118 <value>2010-07-07T13:23:54Z</value> | |
119 </field> | |
120 </x> | |
121 </query> | |
122 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
123 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
124 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
125 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
126 ) |
1277 | 127 start = datetime.datetime(2010, 6, 7, 0, 0, 0, tzinfo=tzutc()) |
128 end = datetime.datetime(2010, 7, 7, 13, 23, 54, tzinfo=tzutc()) | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
129 form = buildForm(start=start, end=end) |
1910 | 130 d = self.plugin.queryArchive(self.client, MAMRequest(form), SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
131 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
132 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
133 ) |
1277 | 134 return d |
135 | |
136 def test_queryArchiveStart(self): | |
137 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
138 <iq type='set' id='%s' to='%s'> |
1910 | 139 <query xmlns='urn:xmpp:mam:1'> |
1277 | 140 <x xmlns='jabber:x:data' type='submit'> |
141 <field var='FORM_TYPE' type='hidden'> | |
1910 | 142 <value>urn:xmpp:mam:1</value> |
1277 | 143 </field> |
144 <field var='start' type='text-single'> | |
145 <value>2010-08-07T00:00:00Z</value> | |
146 </field> | |
147 </x> | |
148 </query> | |
149 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
150 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
151 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
152 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
153 ) |
1277 | 154 start = datetime.datetime(2010, 8, 7, 0, 0, 0, tzinfo=tzutc()) |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
155 form = buildForm(start=start) |
1910 | 156 d = self.plugin.queryArchive(self.client, MAMRequest(form), SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
157 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
158 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
159 ) |
1277 | 160 return d |
161 | |
162 def test_queryArchiveRSM(self): | |
163 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
164 <iq type='set' id='%s' to='%s'> |
1910 | 165 <query xmlns='urn:xmpp:mam:1'> |
1277 | 166 <x xmlns='jabber:x:data' type='submit'> |
167 <field var='FORM_TYPE' type='hidden'> | |
1910 | 168 <value>urn:xmpp:mam:1</value> |
1277 | 169 </field> |
170 <field var='start' type='text-single'> | |
171 <value>2010-08-07T00:00:00Z</value> | |
172 </field> | |
173 </x> | |
174 <set xmlns='http://jabber.org/protocol/rsm'> | |
175 <max>10</max> | |
176 </set> | |
177 </query> | |
178 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
179 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
180 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
181 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
182 ) |
1277 | 183 start = datetime.datetime(2010, 8, 7, 0, 0, 0, tzinfo=tzutc()) |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
184 form = buildForm(start=start) |
1424 | 185 rsm = RSMRequest(max_=10) |
1910 | 186 d = self.plugin.queryArchive(self.client, MAMRequest(form, rsm), SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
187 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
188 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
189 ) |
1277 | 190 return d |
191 | |
192 def test_queryArchiveRSMPaging(self): | |
193 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
194 <iq type='set' id='%s' to='%s'> |
1910 | 195 <query xmlns='urn:xmpp:mam:1'> |
1277 | 196 <x xmlns='jabber:x:data' type='submit'> |
1910 | 197 <field var='FORM_TYPE' type='hidden'><value>urn:xmpp:mam:1</value></field> |
1277 | 198 <field var='start' type='text-single'><value>2010-08-07T00:00:00Z</value></field> |
199 </x> | |
200 <set xmlns='http://jabber.org/protocol/rsm'> | |
201 <max>10</max> | |
202 <after>09af3-cc343-b409f</after> | |
203 </set> | |
204 </query> | |
205 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
206 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
207 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
208 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
209 ) |
1277 | 210 start = datetime.datetime(2010, 8, 7, 0, 0, 0, tzinfo=tzutc()) |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
211 form = buildForm(start=start) |
3028 | 212 rsm = RSMRequest(max_=10, after="09af3-cc343-b409f") |
1910 | 213 d = self.plugin.queryArchive(self.client, MAMRequest(form, rsm), SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
214 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
215 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
216 ) |
1277 | 217 return d |
218 | |
219 def test_queryFields(self): | |
220 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
221 <iq type='get' id="%s" to='%s'> |
1910 | 222 <query xmlns='urn:xmpp:mam:1'/> |
1277 | 223 </iq> |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
224 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
225 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
226 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
227 ) |
1910 | 228 d = self.plugin.queryFields(self.client, SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
229 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
230 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
231 ) |
1277 | 232 return d |
233 | |
234 def test_queryArchiveFields(self): | |
235 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
236 <iq type='set' id='%s' to='%s'> |
1910 | 237 <query xmlns='urn:xmpp:mam:1'> |
1277 | 238 <x xmlns='jabber:x:data' type='submit'> |
239 <field type='hidden' var='FORM_TYPE'> | |
1910 | 240 <value>urn:xmpp:mam:1</value> |
1277 | 241 </field> |
242 <field type='text-single' var='urn:example:xmpp:free-text-search'> | |
243 <value>Where arth thou, my Juliet?</value> | |
244 </field> | |
245 <field type='text-single' var='urn:example:xmpp:stanza-content'> | |
246 <value>{http://jabber.org/protocol/mood}mood/lonely</value> | |
247 </field> | |
248 </x> | |
249 </query> | |
250 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
251 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
252 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
253 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
254 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
255 extra_fields = [ |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
256 Field( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
257 "text-single", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
258 "urn:example:xmpp:free-text-search", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
259 "Where arth thou, my Juliet?", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
260 ), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
261 Field( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
262 "text-single", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
263 "urn:example:xmpp:stanza-content", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
264 "{http://jabber.org/protocol/mood}mood/lonely", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
265 ), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
266 ] |
1910 | 267 form = buildForm(extra_fields=extra_fields) |
268 d = self.plugin.queryArchive(self.client, MAMRequest(form), SERVICE_JID) | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
269 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
270 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
271 ) |
1277 | 272 return d |
273 | |
274 def test_queryPrefs(self): | |
275 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
276 <iq type='get' id='%s' to='%s'> |
1910 | 277 <prefs xmlns='urn:xmpp:mam:1'> |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
278 <always/> |
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
279 <never/> |
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
280 </prefs> |
1277 | 281 </iq> |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
282 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
283 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
284 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
285 ) |
1910 | 286 d = self.plugin.getPrefs(self.client, SERVICE_JID) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
287 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
288 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
289 ) |
1277 | 290 return d |
291 | |
292 def test_setPrefs(self): | |
293 xml = """ | |
1284
41ffe2c2dddc
plugin XEP-0313: update (still draft)
souliane <souliane@mailoo.org>
parents:
1277
diff
changeset
|
294 <iq type='set' id='%s' to='%s'> |
1910 | 295 <prefs xmlns='urn:xmpp:mam:1' default='roster'> |
1277 | 296 <always> |
297 <jid>romeo@montague.lit</jid> | |
298 </always> | |
299 <never> | |
300 <jid>montague@montague.lit</jid> | |
301 </never> | |
302 </prefs> | |
303 </iq> | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
304 """ % ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
305 ("H_%d" % domish.Element._idCounter), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
306 SERVICE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
307 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
308 always = [JID("romeo@montague.lit")] |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
309 never = [JID("montague@montague.lit")] |
1910 | 310 d = self.plugin.setPrefs(self.client, SERVICE_JID, always=always, never=never) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
311 d.addCallback( |
2765
378188abe941
misc: replaced all "dummy" by the more conventional and readable "__" ("_" being used for gettext)
Goffi <goffi@goffi.org>
parents:
2624
diff
changeset
|
312 lambda __: self.assertEqualXML(self.host.getSentMessageXml(0), xml, True) |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
313 ) |
1277 | 314 return d |