<test-history test='Test 41'>
<OUTPUT test='Test 41'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'/>
</OUTPUT>
<INPUT test='Test 41'>
<stream:stream from="test-d" xmlns="jabber:client" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="en" id="0a42d7b9-9919-4233-9b24-908a07340049"/>
</INPUT>
<INPUT test='Test 41'>
<stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><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></stream:features>
</INPUT>
<OUTPUT test='Test 41'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
</OUTPUT>
<INPUT test='Test 41'>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9ImZUcGNsZDlsMGpwWm1TYnpIWitFQXZxV2JkUXdsTWN2VFBnSi9HKzMiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
</INPUT>
<OUTPUT test='Test 41'>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWxsLXhtcHAtdGVzdCIscmVhbG09InRlc3QtZCIsbm9uY2U9ImZUcGNsZDlsMGpwWm1TYnpIWitFQXZxV2JkUXdsTWN2VFBnSi9HKzMiLG5jPTAwMDAwMDAxLGNub25jZT0ibDlKQkE1SFRNTVVzUWRidk9zOEhGVUhMTmN1MW0vUThCdWRTN0NieSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT02NzY1ODQ1ODY3YTUyYzFiNmMxNjllM2I4ZTllNzYyMixxb3A9YXV0aCxhdXRoemlkPSJhbGwteG1wcC10ZXN0Ig==</response>
</OUTPUT>
<INPUT test='Test 41'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD04NTExMGU2ZGUxN2ExZGZmOWNkOTg5NWZkNGJjMTdlOA==</success>
</INPUT>
<OUTPUT test='Test 41'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
</OUTPUT>
<INPUT test='Test 41'>
<stream:stream from="test-d" xmlns="jabber:client" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="en" id="0a42d7b9-9919-4233-9b24-908a07340049"/>
</INPUT>
<INPUT test='Test 41'>
<stream:features><register xmlns="http://jabber.org/features/iq-register"/><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></stream:features>
</INPUT>
<OUTPUT test='Test 41'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='Test 41'>
<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>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="get" id="roster_dynamic_1">
<query xmlns="jabber:iq:roster-dynamic"/></iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="error" id="roster_dynamic_1"><query xmlns="jabber:iq:roster-dynamic"/><error type="modify" code="400"><bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Missing 'item' element, request can not be processed.</text></error></iq>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="get" id="roster_dynamic_2">
<query xmlns="jabber:iq:roster-dynamic">
<item jid="copernicus@eureka.com"/></query>
</iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_dynamic_2"><query xmlns="jabber:iq:roster-dynamic"><item jid="copernicus@eureka.com"/></query></iq>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="set" id="roster_dynamic_3">
<query xmlns="jabber:iq:roster-dynamic">
<item jid="copernicus@eureka.com">
<note>This a note about Copernicus</note>
<phone>+12 3456 789012</phone>
</item>
</query>
</iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_dynamic_3"/>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="get" id="roster_dynamic_4">
<query xmlns="jabber:iq:roster-dynamic">
<item jid="copernicus@eureka.com"/></query>
</iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_dynamic_4"><query xmlns="jabber:iq:roster-dynamic"><item jid="copernicus@eureka.com">
<note>This a note about Copernicus</note>
<phone>+12 3456 789012</phone>
</item></query></iq>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="set" id="roster_dynamic_5">
<query xmlns="jabber:iq:roster-dynamic">
<item jid="copernicus@eureka.com">
<note>This a note about Copernicus</note>
<phone>+12 3456 789012</phone>
</item>
<item jid="newton@eureka.com">
<note>Newton is heavy!</note>
<phone>+12 3456 777777</phone>
</item>
<item jid="pascal@eureka.com">
<note>Pascal is great!</note>
<phone>+12 3456 888888</phone>
</item>
</query>
</iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_dynamic_5"/>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="get" id="roster_dynamic_6">
<query xmlns="jabber:iq:roster-dynamic">
<item jid="newton@eureka.com"/></query>
</iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_dynamic_6"><query xmlns="jabber:iq:roster-dynamic"><item jid="newton@eureka.com">
<note>Newton is heavy!</note>
<phone>+12 3456 777777</phone>
</item></query></iq>
</INPUT>
<OUTPUT test='Test 41'>
<iq type="get" id="roster_dynamic_7">
<query xmlns="jabber:iq:roster-dynamic">
<item jid="pascal@eureka.com"/></query>
</iq>
</OUTPUT>
<INPUT test='Test 41'>
<iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_dynamic_7"><query xmlns="jabber:iq:roster-dynamic"><item jid="pascal@eureka.com">
<note>Pascal is great!</note>
<phone>+12 3456 888888</phone>
</item></query></iq>
</INPUT>

</test-history>