anchor.diff:  %% @hidden
   binary_to_hex(<<N:4, Rest/bits>>, Acc) when N >= 10 ->
   	binary_to_hex(Rest, [N - 10 + $a | Acc]);
  +
   binary_to_hex(<<N:4, Rest/bits>>, Acc) ->
   	binary_to_hex(Rest, [N + $0 | Acc]);
   binary_to_hex(<<>>, Acc) ->
   	lists:reverse(Acc).
   
  +-spec encode_base64url(Value) -> EncodedValue 
  +	when
  +		Value :: string(),
  +		EncodedValue :: list().
  +%% @doc Encode a value using base64url encoding.
  +encode_base64url(Value)
  +		when is_list(Value) ->
  +	EncodedValue = base64:encode_to_string(Value),
  +	StrippedValue = string:strip(EncodedValue, both, $=),
  +	sub_chars_en(StrippedValue, []).
  +
  +%% @hidden 
  +sub_chars_en([$/ | T], Acc) ->
  +	sub_chars_en(T, [$_ | Acc]);
  +sub_chars_en([$+ | T], Acc) ->
  +	sub_chars_en(T, [$- | Acc]);
  +sub_chars_en([H | T], Acc) ->
  +	sub_chars_en(T, [H | Acc]);
  +sub_chars_en([], Acc) ->
  +	lists:reverse(Acc).
  +
  +set_inet_mod() ->
  +	{ok, EnvObj} = application:get_env(inets, services),
  +	[{httpd, Services}] = EnvObj,
  +	NewModTuple = replace_mod(lists:keyfind(modules, 1, Services), []),
  +	NewServices = lists:keyreplace(modules, 1, Services, NewModTuple),
  +	ok = application:set_env(inets, services, [{httpd, NewServices}]).
  +	
  +replace_mod({modules, Mods}, Acc) ->
  +	replace_mod1(Mods, Acc).
  +%% @hidden
  +replace_mod1([mod_auth | T], Acc) ->
  +	replace_mod1(T, [mod_oauth | Acc]);
  +replace_mod1([mod_oauth | T], Acc) ->
  +	replace_mod1(T, [mod_auth | Acc]);
  +replace_mod1([H | T], Acc) ->
  +	replace_mod1(T, [H | Acc]);
  +replace_mod1([], Acc) ->
  +	{modules, lists:reverse(Acc)}.
  +
  
positive.code: %% Cleanup after the whole suite.
  %%
  end_per_suite(Config) ->
  	ok = ocs_test_lib:stop(),
  	Config.
  
  -spec init_per_testcase(TestCase :: atom(), Config :: [tuple()]) -> Config :: [tuple()].
  %% Initialization before each test case.
  %%
  init_per_testcase(_TestCase, Config) ->
  	Config.
  
  -spec end_per_testcase(TestCase :: atom(), Config :: [tuple()]) -> any().
  %% Cleanup after each test case.
  %%
  end_per_testcase(_TestCase, _Config) ->
  	ok.
  
  
negative.code: 	top_up, get_balance, simultaneous_updates_on_client_failure,
  	get_product, add_product, add_product_sms,
  	update_product_realizing_service, delete_product,
  	ignore_delete_product, query_product, filter_product,
  	oauth_authentication].
  
  %%---------------------------------------------------------------------
  %%  Test cases
  %%---------------------------------------------------------------------
  
  authenticate_user_request() ->
  	[{userdata, [{doc, "Authorized user request to the server"}]}].
  
  