Software /
code /
prosody
Annotate
spec/scansion/pubsub_basic.scs @ 11516:83822be7704d
util.xmppstream: Send <?xml?> declaration in same call as stream open
If network_settings.opportunistic_writes is enabled then this would
previously have resulted in two socket writes, and possibly two packets
being sent. This caused some issues in older versions of Gajim, which
apparently expected the stream opening in the first packet, and thus it
could not connect.
With this change and opportunistic_writes enabled, the first packet
should contain both the xml declaration and the stream open tag.
Without opportunistic_writes, there should be no observable change.
Tested with Gajim 1.1.2 (on same machine). Unsure if loopback behaves
differently than the network here.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 14 Apr 2021 15:21:13 +0200 |
parent | 10515:35bf3b80480f |
child | 11714:d783716103c1 |
rev | line source |
---|---|
9291
329a670ae975
spec/scansion: Ensure all scripts have sensible titles
Matthew Wild <mwild1@gmail.com>
parents:
9266
diff
changeset
|
1 # Pubsub: Basic support |
329a670ae975
spec/scansion: Ensure all scripts have sensible titles
Matthew Wild <mwild1@gmail.com>
parents:
9266
diff
changeset
|
2 |
9266
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 [Client] Romeo |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 jid: admin@localhost |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 password: password |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 // admin@localhost is assumed to have node creation privileges |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 [Client] Juliet |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 jid: juliet@localhost |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 password: password |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 --------- |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 Romeo connects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 Romeo sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 <iq type="set" to="pubsub.localhost" id='create1'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 <create node="princely_musings"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 </pubsub> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 <iq type="result" id='create1'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 Juliet connects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 -- Juliet sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 -- <iq type="set" to="pubsub.localhost"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 -- <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 -- <subscribe node="princely_musings" jid="${Romeo's full JID}"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 -- </pubsub> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 -- </iq> |
10515
35bf3b80480f
scansion: Trim trailing whitespace in tests
Kim Alvefur <zash@zash.se>
parents:
9291
diff
changeset
|
35 -- |
9266
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 -- Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 -- <iq type="error"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 Juliet sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 <iq type="set" to="pubsub.localhost" id='sub1'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 <subscribe node="princely_musings" jid="${Juliet's full JID}"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
43 </pubsub> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 <iq type="result" id='sub1'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 Romeo sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
50 <iq type="set" to="pubsub.localhost" id='pub1'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 <publish node="princely_musings"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 <item id="current"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 <entry xmlns="http://www.w3.org/2005/Atom"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 <title>Soliloquy</title> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 <summary>Lorem ipsum dolor sit amet</summary> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 </entry> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 </item> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 </publish> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 </pubsub> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
64 <iq type="result" id='pub1'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 <message type="headline" from="pubsub.localhost"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 <event xmlns="http://jabber.org/protocol/pubsub#event"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 <items node="princely_musings"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 <item id="current"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 <entry xmlns="http://www.w3.org/2005/Atom"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
72 <title>Soliloquy</title> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
73 <summary>Lorem ipsum dolor sit amet</summary> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 </entry> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
75 </item> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
76 </items> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 </event> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 </message> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 Juliet sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 <iq type="set" to="pubsub.localhost" id='unsub1'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 <unsubscribe node="princely_musings" jid="${Juliet's full JID}"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 </pubsub> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
87 Juliet receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
88 <iq type="result" id='unsub1'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 Juliet disconnects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
91 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
92 Romeo sends: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 <iq type="set" to="pubsub.localhost" id='del1'> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
94 <pubsub xmlns="http://jabber.org/protocol/pubsub#owner"> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 <delete node="princely_musings"/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 </pubsub> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
97 </iq> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
98 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 Romeo receives: |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
100 <iq type="result" id='del1'/> |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 Romeo disconnects |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 |
c5267f5fd6e6
spec/scansion: Add scansion scripts used for testing
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 // vim: syntax=xml: |