anchor.diff:           get_pending_subscriptions/3,
            get_user_subscriptions/3,
            get_subscription_options/3,
  +         set_subscription_options/4,
            get_node_subscriptions/3,
            set_subscriptions/4,
   
  
positive.code:            attrs = [{<<"node">>, NodeName},
                      {<<"jid">>, escalus_utils:get_jid(User)}]}.
  
  form_element(FormName, NodeName, FieldElements) ->
      #xmlel{name = FormName,
             attrs = skip_undefined([{<<"node">>, NodeName}]),
  
negative.code:     Element = subscription_options(NodeName, User),
      pubsub_iq(<<"get">>, User, Id, NodeAddr, [Element]).
  
  set_subscription_options(User, Id, {NodeAddr, NodeName}, Options) ->
      FormType = form_type_field_element(<<"subscribe_options">>),
      EncodedOptions = [FormType | lists:map(fun encode_form_field/1, Options)],
      Children = [set_subscription_options_form(NodeName, User, EncodedOptions)],
      pubsub_iq(<<"set">>, User, Id, NodeAddr, Children).
  
  -spec get_node_subscriptions(escalus_utils:jid_spec(), binary(), pubsub_node_id()) ->
                                           exml:element().
  get_node_subscriptions(User, Id, {NodeAddr, NodeName}) ->
  