Mercurial > libervia-backend
annotate libervia/backend/test/test_plugin_xep_0203.py @ 4141:ba8ddfdd334f
cli (loops): run GLib loop in same thread as asyncio:
use the new `install_glib_asyncio_iteration` to run GLib in the same thread as asyncio.
rel 426
| author | Goffi <goffi@goffi.org> |
|---|---|
| date | Wed, 01 Nov 2023 14:05:53 +0100 |
| parents | 4b842c1fb686 |
| children |
| rev | line source |
|---|---|
| 3028 | 1 #!/usr/bin/env python3 |
| 3137 | 2 |
| 1273 | 3 |
| 4 # SAT: a jabber client | |
| 3479 | 5 # Copyright (C) 2009-2021 Jérôme Poisson (goffi@goffi.org) |
| 1766 | 6 # Copyright (C) 2013-2016 Adrien Cossa (souliane@mailoo.org) |
| 1273 | 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-0203 """ | |
| 22 | |
|
4071
4b842c1fb686
refactoring: renamed `sat` package to `libervia.backend`
Goffi <goffi@goffi.org>
parents:
4037
diff
changeset
|
23 from libervia.backend.test import helpers |
|
4b842c1fb686
refactoring: renamed `sat` package to `libervia.backend`
Goffi <goffi@goffi.org>
parents:
4037
diff
changeset
|
24 from libervia.backend.plugins.plugin_xep_0203 import XEP_0203 |
| 1273 | 25 from twisted.words.xish import domish |
| 26 from twisted.words.protocols.jabber.jid import JID | |
| 27 from dateutil.tz import tzutc | |
| 28 import datetime | |
| 29 | |
|
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
30 NS_PUBSUB = "http://jabber.org/protocol/pubsub" |
| 1273 | 31 |
| 32 | |
| 33 class XEP_0203Test(helpers.SatTestCase): | |
| 34 def setUp(self): | |
| 35 self.host = helpers.FakeSAT() | |
| 36 self.plugin = XEP_0203(self.host) | |
| 37 | |
| 38 def test_delay(self): | |
| 39 delay_xml = """ | |
| 40 <delay xmlns='urn:xmpp:delay' | |
| 41 from='capulet.com' | |
| 42 stamp='2002-09-10T23:08:25Z'> | |
| 43 Offline Storage | |
| 44 </delay> | |
| 45 """ | |
|
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
46 message_xml = ( |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
47 """ |
| 1273 | 48 <message |
| 49 from='romeo@montague.net/orchard' | |
| 50 to='juliet@capulet.com' | |
| 51 type='chat'> | |
| 52 <body>text</body> | |
| 53 %s | |
| 54 </message> | |
|
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
55 """ |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
56 % delay_xml |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
57 ) |
| 1273 | 58 |
|
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
59 parent = domish.Element((None, "message")) |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
60 parent["from"] = "romeo@montague.net/orchard" |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
61 parent["to"] = "juliet@capulet.com" |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
62 parent["type"] = "chat" |
|
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
63 parent.addElement("body", None, "text") |
| 1273 | 64 stamp = datetime.datetime(2002, 9, 10, 23, 8, 25, tzinfo=tzutc()) |
|
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
65 elt = self.plugin.delay(stamp, JID("capulet.com"), "Offline Storage", parent) |
|
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
66 self.assert_equal_xml(elt.toXml(), delay_xml, True) |
|
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
67 self.assert_equal_xml(parent.toXml(), message_xml, True) |
