<test-history test='Test 29'>
<OUTPUT test='Subscription receive'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'/>
</OUTPUT>
<INPUT test='Subscription receive'>
<stream:stream xmlns="jabber:client" id="78d2408f-d075-41f3-9835-4e7f44f991c8" xml:lang="en" from="test-d" version="1.0" xmlns:stream="http://etherx.jabber.org/streams"/>
</INPUT>
<INPUT test='Subscription receive'>
<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='Subscription receive'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
</OUTPUT>
<INPUT test='Subscription receive'>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IlMvS3Fma216SzNhTVhlK0dDd1FPVHRDb1VMT1FTeWRKa2NJZnpRRWQiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
</INPUT>
<OUTPUT test='Subscription receive'>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWxsLXhtcHAtdGVzdCIscmVhbG09InRlc3QtZCIsbm9uY2U9IlMvS3Fma216SzNhTVhlK0dDd1FPVHRDb1VMT1FTeWRKa2NJZnpRRWQiLG5jPTAwMDAwMDAxLGNub25jZT0iMndLOEJza2R0THNEcHE4YWpvK2xXUEg0bllVR2xOZUl4cUhYc2JYUyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT0wNmU5YjYzOWVhOTU1OTYyZTY5YTAyYTU1ZThjNDkyMyxxb3A9YXV0aCxhdXRoemlkPSJhbGwteG1wcC10ZXN0Ig==</response>
</OUTPUT>
<INPUT test='Subscription receive'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1jYTc0ZjgzZTE1YmE0OWU3Y2JjOTkxYTZjNzg0MGE4Ng==</success>
</INPUT>
<OUTPUT test='Subscription receive'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
</OUTPUT>
<INPUT test='Subscription receive'>
<stream:stream xmlns="jabber:client" id="78d2408f-d075-41f3-9835-4e7f44f991c8" xml:lang="en" from="test-d" version="1.0" xmlns:stream="http://etherx.jabber.org/streams"/>
</INPUT>
<INPUT test='Subscription receive'>
<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='Subscription receive'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<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='Subscription receive'>
<iq type="get" id="roster_444">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="roster_444"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" name="admin" subscription="both"/></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq type="set" to="all-xmpp-test@test-d/def-user-resource" id="dr-1"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" name="dynrost" subscription="both"><group>test group</group></item></query></iq>
</INPUT>
<OUTPUT test='Subscription receive'>
<presence type="available" id="1"/>
</OUTPUT>
<OUTPUT test='Subscription send'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'/>
</OUTPUT>
<INPUT test='Subscription send'>
<stream:stream xmlns="jabber:client" id="61463152-20f0-41ae-91d9-c7397b44b2cd" xml:lang="en" from="test-d" version="1.0" xmlns:stream="http://etherx.jabber.org/streams"/>
</INPUT>
<INPUT test='Subscription send'>
<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='Subscription send'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
</OUTPUT>
<INPUT test='Subscription send'>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ill3NXVhRTR5aHdNanIweWJjcGxtU21KNGNTWWljaFRVV2c4ekE3Vk0iLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
</INPUT>
<OUTPUT test='Subscription send'>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWRtaW4iLHJlYWxtPSJ0ZXN0LWQiLG5vbmNlPSJZdzV1YUU0eWh3TWpyMHliY3BsbVNtSjRjU1lpY2hUVVdnOHpBN1ZNIixuYz0wMDAwMDAwMSxjbm9uY2U9ImdMM2VQV09XU3lpbUJJL2tiUWVHTXlrcDgxUDdHRzl0dlpjV1QwVGYiLGRpZ2VzdC11cmk9InhtcHAvdGVzdC1kIixtYXhidWY9NjU1MzYscmVzcG9uc2U9M2NjMTQyZTk0MzEzYzc3ZDY1MmEzNGU3NjIyMDYwNDgscW9wPWF1dGgsYXV0aHppZD0iYWRtaW4i</response>
</OUTPUT>
<INPUT test='Subscription send'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0wMDdiZTcyNjYwMmExYzgxYzU4YTVmZDQxYjY4NTI2OQ==</success>
</INPUT>
<OUTPUT test='Subscription send'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
</OUTPUT>
<INPUT test='Subscription send'>
<stream:stream xmlns="jabber:client" id="61463152-20f0-41ae-91d9-c7397b44b2cd" xml:lang="en" from="test-d" version="1.0" xmlns:stream="http://etherx.jabber.org/streams"/>
</INPUT>
<INPUT test='Subscription send'>
<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='Subscription send'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='Subscription send'>
<iq type="result" to="admin@test-d/def-user-resource" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>admin@test-d/def-user-resource</jid></bind></iq>
</INPUT>
<OUTPUT test='Subscription send'>
<iq type="get" id="roster_3333">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription send'>
<iq type="result" to="admin@test-d/def-user-resource" id="roster_3333"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" name="all-xmpp-test" subscription="both"/></query></iq>
</INPUT>
<INPUT test='Subscription send'>
<iq type="set" to="admin@test-d/def-user-resource" id="dr-1"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" name="dynrost" subscription="both"><group>test group</group></item></query></iq>
</INPUT>
<OUTPUT test='Subscription send'>
<presence type="available" id="1"/>
</OUTPUT>
<INPUT test='Subscription receive'>
<presence type="available" to="all-xmpp-test@test-d" id="1" from="admin@test-d/def-user-resource"/>
</INPUT>
<INPUT test='Subscription send'>
<presence type="available" to="admin@test-d" id="1" from="all-xmpp-test@test-d/def-user-resource"/>
</INPUT>
<OUTPUT test='Subscription send'>
<iq type="set" id="roster-remove-1234">
<query xmlns="jabber:iq:roster">
<item jid="all-xmpp-test@test-d" subscription="remove"/></query>
</iq>
</OUTPUT>
<INPUT test='Subscription send'>
<iq type="result" to="admin@test-d/def-user-resource" id="roster-remove-1234"/>
</INPUT>
<INPUT test='Subscription send'>
<iq type="set" to="admin@test-d/def-user-resource" id="rsttig1"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" subscription="remove"/></query></iq>
</INPUT>
<OUTPUT test='Subscription send'>
<iq type="get" id="roster_7777">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<presence type="unavailable" to="all-xmpp-test@test-d" from="admin@test-d/def-user-resource"/>
</INPUT>
<INPUT test='Subscription send'>
<iq type="result" to="admin@test-d/def-user-resource" id="roster_7777"><query xmlns="jabber:iq:roster"/></iq>
</INPUT>
<INPUT test='Subscription send'>
<iq type="set" to="admin@test-d/def-user-resource" id="dr-1"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" name="dynrost" subscription="both"><group>test group</group></item></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq type="set" to="all-xmpp-test@test-d/def-user-resource" id="rsttig1"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" name="admin" subscription="to"/></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq type="set" to="all-xmpp-test@test-d/def-user-resource" id="rsttig2"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" name="admin" subscription="none"/></query></iq>
</INPUT>
<OUTPUT test='Subscription receive'>
<iq type="set" id="roster-remove-3210">
<query xmlns="jabber:iq:roster">
<item jid="admin@test-d" subscription="remove"/></query>
</iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq type="set" to="all-xmpp-test@test-d/def-user-resource" id="rsttig3"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" subscription="remove"/></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="roster-remove-3210"/>
</INPUT>
<OUTPUT test='Subscription receive'>
<iq type="get" id="roster_888">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq type="result" to="all-xmpp-test@test-d/def-user-resource" id="roster_888"><query xmlns="jabber:iq:roster"/></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq type="set" to="all-xmpp-test@test-d/def-user-resource" id="dr-1"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" name="dynrost" subscription="both"><group>test group</group></item></query></iq>
</INPUT>

</test-history>