Software /
code /
prosody
Annotate
spec/scansion/pep_nickname.scs @ 13134:638f627e707f
util.datamanager: Add O(1) list indexing with on-disk index
Index file contains offsets and lengths of each item() which allows
seeking directly to each item and reading it without parsing the entire
file.
Also allows tricks like binary search, assuming items have some defined
order.
We take advantage of the 1-based indexing in tables to store a magic
header in the 0 position, so that table index 1 ends up at file index 1.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 11 May 2021 02:09:56 +0200 |
parent | 12965:edde56b60fd7 |
rev | line source |
---|---|
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 # Publishing a nickname in PEP and receiving a notification |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 [Client] Romeo |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
9339
diff
changeset
|
4 jid: romeo@localhost |
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 password: password |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 ----- |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 Romeo connects |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 Romeo sends: |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 <iq id="4" type="set"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 <publish node="http://jabber.org/protocol/nick"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 <item id="current"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 <nickname xmlns="http://jabber.org/protocol/nick"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 </item> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 </publish> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 </pubsub> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 </iq> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 Romeo receives: |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
9339
diff
changeset
|
23 <iq id="4" type="result"> |
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 <pubsub xmlns="http://jabber.org/protocol/pubsub"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 <publish node="http://jabber.org/protocol/nick"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 <item id="current"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 </publish> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 </pubsub> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 </iq> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 Romeo sends: |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 <presence> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 </presence> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 Romeo receives: |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
9339
diff
changeset
|
37 <iq id="disco" from="romeo@localhost" type="get"> |
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 </iq> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
41 Romeo receives: |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
9339
diff
changeset
|
42 <presence> |
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
43 <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 </presence> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
46 Romeo sends: |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 <iq id="disco" type="result" to="romeo@localhost"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
48 <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
49 <identity type="console" name="clix" category="client"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
50 <feature var="http://jabber.org/protocol/disco#items"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
51 <feature var="http://jabber.org/protocol/disco#info"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
52 <feature var="http://jabber.org/protocol/caps"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
53 <feature var="http://jabber.org/protocol/nick+notify"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
54 </query> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
55 </iq> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
56 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
57 Romeo receives: |
11714
d783716103c1
mod_pubsub: Fix inclusion of publisher (fixes #1399)
Kim Alvefur <zash@zash.se>
parents:
9339
diff
changeset
|
58 <message type="headline" from="romeo@localhost"> |
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
59 <event xmlns="http://jabber.org/protocol/pubsub#event"> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
60 <items node="http://jabber.org/protocol/nick"> |
12965
edde56b60fd7
scansion: Fix tests failing due to lack of 'publisher'
Matthew Wild <mwild1@gmail.com>
parents:
11714
diff
changeset
|
61 <item id="current"> |
9339
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
62 <nickname xmlns="http://jabber.org/protocol/nick"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
63 </item> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
64 </items> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
65 </event> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
66 </message> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
67 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
68 Romeo sends: |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
69 <presence type="unavailable"/> |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
70 |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
71 Romeo disconnects |
a35a636481c6
mod_pep: Add test publishing a nickname
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
72 |