<test-history test='Bosh keep-alive 15'>
<OUTPUT test='Bosh keep-alive 15'>
<body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' xml:lang='en' rid='1216' content='text/xml; charset=utf-8' to='test-d' ver='1.6'/>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<stream:features><ver xmlns="urn:xmpp:features:rosterver"/><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><register xmlns="http://jabber.org/features/iq-register"/><auth xmlns="http://jabber.org/features/iq-auth"/></stream:features>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ik9EVmtVWjBaaU1Oc0xHM3RzLzE2ZGN1bVdGQWN3STU3M3BjVHFjVkgiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWxsLXhtcHAtdGVzdCIscmVhbG09InRlc3QtZCIsbm9uY2U9Ik9EVmtVWjBaaU1Oc0xHM3RzLzE2ZGN1bVdGQWN3STU3M3BjVHFjVkgiLG5jPTAwMDAwMDAxLGNub25jZT0iUk9hWlNqNU5vU3I5LzlLYi9COG9HVnRQQzM2MHNvSVBpdjFZNzhpeCIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0xNjgzMDRmYTljZDAwMWJkYjkxODM5OWVlMzcyYmM3MSxxb3A9YXV0aCxhdXRoemlkPSJhbGwteG1wcC10ZXN0Ig==</response>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD02MjJkMjEwYjc3MTY2Mjc2NjljYWQ1MTEwYjM0M2QxZg==</success>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<stream:features><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><register xmlns="http://jabber.org/features/iq-register"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></stream:features>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>all-xmpp-test@test-d/def-user-resource</jid></bind></iq>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type="get" id="1">
<query xmlns="jabber:iq:private">
<exodus xmlns="exodus:prefs"/></query>
</iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="1"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs"/></query></iq>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type="set" id="2">
<query xmlns="jabber:iq:private">
<exodus xmlns="exodus:prefs">
<defaultnick>Hamlet</defaultnick>
</exodus>
</query>
</iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="2"/>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<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>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="3"/>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type="get" id="4">
<query xmlns="jabber:iq:private">
<exodus xmlns="exodus:prefs"/></query>
</iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="4"><query xmlns="jabber:iq:private"><exodus xmlns="exodus:prefs">
<defaultnick>Hamlet</defaultnick>
</exodus></query></iq>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type="get" id="5">
<query xmlns="jabber:iq:private">
<test-data xmlns="tigase:test"/></query>
</iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="5"><query xmlns="jabber:iq:private"><test-data xmlns="tigase:test">
<data-element>and the content</data-element>
</test-data></query></iq>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type="set" to="hamlet@shakespeare.lit" id="1003">
<query xmlns="jabber:iq:private">
<exodus xmlns="exodus:prefs">
<defaultnick>Macbeth</defaultnick>
</exodus>
</query>
</iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="error" xmlns="jabber:client" to="all-xmpp-test@test-d/def-user-resource" 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>
</INPUT>
<OUTPUT test='Bosh keep-alive 15'>
<iq type="get" id="1004">
<query xmlns="jabber:iq:private"/></iq>
</OUTPUT>
<INPUT test='Bosh keep-alive 15'>
<iq type="error" xmlns="jabber:client" to="all-xmpp-test@test-d/def-user-resource" 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>
</INPUT>

</test-history>