OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="22c5e0c2-e189-4cc4-8206-3bc1984c6f43" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ikxmdk1sZnc3T2ZDTVVpZjhJdG1qSEpyNlpGaTdaSDBRdEkrMUxUNVoiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWxsLXhtcHAtdGVzdCIscmVhbG09InRlc3QtZCIsbm9uY2U9Ikxmdk1sZnc3T2ZDTVVpZjhJdG1qSEpyNlpGaTdaSDBRdEkrMUxUNVoiLG5jPTAwMDAwMDAxLGNub25jZT0iNmQ1Q2xRRDYxMjZ3eC9yaS9leXFHRDhLZzBHL1QrZ2t6Tk9RZmMzMSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0zNGYyODZhN2QxMDBhOTg0OTdjMTVmZGZiYjE4NWZiZCxxb3A9YXV0aCxhdXRoemlkPSJhbGwteG1wcC10ZXN0Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1hMTU0YTM3MDI1NDg4MWM2MWZjODE4ZmZjYzdlNDNmMQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:stream xmlns="jabber:client" version="1.0" xml:lang="en" id="22c5e0c2-e189-4cc4-8206-3bc1984c6f43" xmlns:stream="http://etherx.jabber.org/streams" from="test-d"/>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>all-xmpp-test@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="1"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"/></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="1"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"/></query></iq>
OUTPUT: <iq type="set" id="2"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"><defaultnick>Hamlet</defaultnick></exodus></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="2"/>
OUTPUT: <iq type="set" id="3"><query xmlns="jabber:iq:private"><test-data xmlns="tigase:test"><data-element>and the content</data-element></test-data></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="3"/>
OUTPUT: <iq type="get" id="4"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"/></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="4"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"><defaultnick>Hamlet</defaultnick></exodus></query></iq>
OUTPUT: <iq type="get" id="5"><query xmlns="jabber:iq:private"><test-data xmlns="tigase:test"/></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="5"><query xmlns="jabber:iq:private"><test-data xmlns="tigase:test"><data-element>and the content</data-element></test-data></query></iq>
OUTPUT: <iq to="hamlet@shakespeare.lit" type="set" id="1003"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"><defaultnick>Macbeth</defaultnick></exodus></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="error" id="1003" from="hamlet@shakespeare.lit"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"><defaultnick>Macbeth</defaultnick></exodus></query><error type="cancel" code="503"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">You are not authorized to access this private storage.</text></error></iq>
OUTPUT: <iq type="get" id="1004"><query xmlns="jabber:iq:private"/></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="error" id="1004"><query xmlns="jabber:iq:private"/><error type="modify" code="406"><not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Missing query child element</text></error></iq>
