<test-history test='AdminAdHoc sess-man_4_3 (c2s)'>
<OUTPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-domain' version='1.0'/>
</OUTPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<stream:stream xml:lang="en" id="37d86fdc-317d-4348-97fa-38c28252457d" xmlns:stream="http://etherx.jabber.org/streams" version="1.0" from="test-domain" xmlns="jabber:client"/>
</INPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<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>ANONYMOUS</mechanism></mechanisms><register xmlns="http://jabber.org/features/iq-register"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/></stream:features>
</INPUT>
<OUTPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGRvbWFpbi1hZG1pbgBhbGwteG1wcC10ZXN0LXBhc3N3b3Jk</auth>
</OUTPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
</INPUT>
<OUTPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-domain' version='1.0'>
</OUTPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<stream:stream xml:lang="en" id="37d86fdc-317d-4348-97fa-38c28252457d" xmlns:stream="http://etherx.jabber.org/streams" version="1.0" from="test-domain" xmlns="jabber:client"/>
</INPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<stream:features><ver xmlns="urn:xmpp:features:rosterver"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/><register xmlns="http://jabber.org/features/iq-register"/><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></stream:features>
</INPUT>
<OUTPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<iq to="domain-admin@test-domain/def-user-resource" id="bind1" type="result" xmlns="jabber:client"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>domain-admin@test-domain/def-user-resource</jid></bind></iq>
</INPUT>
<OUTPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<iq to="sess-man@test-domain" id="user-roster-management-ext" type="set" from="domain-admin@test-domain/def-user-resource">
<command node="user-roster-management-ext" xmlns="http://jabber.org/protocol/commands"/>
</iq>
</OUTPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<iq to="domain-admin@test-domain/def-user-resource" id="user-roster-management-ext" type="result" from="sess-man@test-domain"><command status="executing" node="user-roster-management-ext" xmlns="http://jabber.org/protocol/commands"><x type="form" xmlns="jabber:x:data"><field var="roster-owner-jid" type="jid-single" label="Roster owner JID"><value/></field><field var="roster-owner-name" type="text-single" label="Roster owner name"><value/></field><field var="roster-owner-groups" type="text-single" label="Comma separated list of owner groups"><value/></field><field var="roster-item-jid" type="jid-single" label="Roster item JID"><value/></field><field var="roster-item-name" type="text-single" label="Roster item name"><value/></field><field var="roster-item-groups" type="text-single" label="Comma separated list of item groups"><value/></field><field var="roster-item-subscr" type="list-single" label="Roster item Subscription"><value>both</value><option label="both"><value>both</value></option><option label="from"><value>from</value></option><option label="to"><value>to</value></option><option label="none"><value>none</value></option></field><field var="roster-action" type="list-single" label="Action"><value>update</value><option label="Add/Update item"><value>update</value></option><option label="Remove item"><value>remove</value></option><option label="Add/Update both rosters"><value>update-ext</value></option><option label="Remove from both rosters"><value>remove-ext</value></option></field><field var="notify-cluster" type="hidden"><value>true</value></field></x><actions execute="complete"><complete/></actions></command></iq>
</INPUT>
<OUTPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<iq to="sess-man@test-domain" id="user-roster-management-ext" type="set" from="domain-admin@test-domain/def-user-resource">
<command node="user-roster-management-ext" xmlns="http://jabber.org/protocol/commands">
<x type="submit" xmlns="jabber:x:data">
<field var="roster-owner-jid" type="jid-single">
<value>all-xmpp-test@test-d</value>
</field>
<field var="roster-owner-name" type="text-single">
<value>admin</value>
</field>
<field var="roster-owner-groups" type="text-single">
<value>group-admin</value>
</field>
<field var="roster-item-jid" type="jid-single">
<value>admin@test-d</value>
</field>
<field var="roster-item-name" type="text-single">
<value>test-d</value>
</field>
<field var="roster-item-groups" type="text-single">
<value>user-group</value>
</field>
<field var="roster-item-subscr" type="list-single">
<value>both</value>
</field>
<field var="roster-action" type="list-single">
<value>update</value>
</field>
</x>
</command>
</iq>
</OUTPUT>
<INPUT test='AdminAdHoc sess-man_4_3 (c2s)'>
<iq to="domain-admin@test-domain/def-user-resource" id="user-roster-management-ext" type="result" from="sess-man@test-domain"><command status="completed" node="user-roster-management-ext" xmlns="http://jabber.org/protocol/commands"><x type="result" xmlns="jabber:x:data"><field var="Error" type="fixed"><value>You do not have enough permissions to modify roster of all-xmpp-test@test-d</value></field></x></command></iq>
</INPUT>

</test-history>