util.x509: Nameprep commonName once
[prosody.git] / spec / scansion / basic_roster.scs
blob2e292083a5f8d02cf1361d862575ce1ef6fd1d81
1 # Basic roster test
3 [Client] Romeo
4         jid: user@localhost
5         password: password
7 [Client] Juliet
8         jid: juliet@localhost
9         password: password
11 ---------
13 Romeo connects
15 Juliet connects
17 Romeo sends:
18         <presence/>
20 Romeo receives:
21         <presence from="${Romeo's full JID}" />
23 Romeo sends:
24         <iq type="get" id="roster1">
25                 <query xmlns='jabber:iq:roster'/>
26         </iq>
28 Romeo receives:
29         <iq type="result" id="roster1">
30                 <query ver='{scansion:any}' xmlns="jabber:iq:roster"/>
31         </iq>
33 # Add nurse to roster
35 Romeo sends:
36         <iq type="set" id="roster2">
37                 <query xmlns="jabber:iq:roster">
38                         <item jid='nurse@localhost'/>
39                 </query>
40         </iq>
42 # Receive the roster add result
44 Romeo receives:
45         <iq type="result" id="roster2"/>
47 # Receive the roster push
49 Romeo receives:
50         <iq type="set" id="{scansion:any}">
51                 <query xmlns='jabber:iq:roster' ver='{scansion:any}'>
52                         <item jid='nurse@localhost' subscription='none'/>
53                 </query>
54         </iq>
56 Romeo sends:
57         <iq type="result" id="fixme"/>
59 # Fetch the roster, it should include nurse now
61 Romeo sends:
62         <iq type="get" id="roster3">
63                 <query xmlns='jabber:iq:roster'/>
64         </iq>
66 Romeo receives:
67         <iq type="result" id="roster3">
68                 <query xmlns='jabber:iq:roster' ver="{scansion:any}">
69                         <item subscription='none' jid='nurse@localhost'/>
70                 </query>
71         </iq>
73 Romeo disconnects