anchor.diff:  	[{userdata, [{doc, "Diameter authentication failure when subscriber has a balance less than 0"}]}].
   
   out_of_credit_diameter(Config) ->
  -	Username = "Axl Rose",
  +	UserName = "Axl Rose",
   	Password = "Guns&Roses",
   	ProdID = ?config(product_id, Config),
  -	{ok, _} = ocs:add_subscriber(Username, Password, ProdID),
  +	Buckets = [#bucket{units = cents, remain_amount = 2290}], % subscription total price
  +	{ok, Subscriber} = ocs:add_subscriber(UserName, Password, ProdID, [], Buckets, []),
   	Ref = erlang:ref_to_list(make_ref()),
   	SId = diameter:session_id(Ref),
   	NAS_AAR = #diameter_nas_app_AAR{'Session-Id' = SId,
   			'Auth-Application-Id' = ?NAS_APPLICATION_ID ,
   			'Auth-Request-Type' = ?'DIAMETER_NAS_APP_AUTH-REQUEST-TYPE_AUTHENTICATE_ONLY',
  -			'User-Name' = [Username], 'User-Password' = [Password]},
  +			'User-Name' = [UserName], 'User-Password' = [Password]},
   	{ok, Answer} = diameter:call(?SVC, nas_app_test, NAS_AAR, []),
   	true = is_record(Answer, diameter_nas_app_AAA),
   	{ok, HostName} = inet:gethostname(),
  
positive.code: 	CallingStationId = string:join(MACtokens, "-"),
  	PeerID = string:to_lower(lists:append(MACtokens)),
  	PeerPassword = ocs:generate_password(),
  	Amount = 1000000,
  	Now = erlang:system_time(?MILLISECOND),
  	TD = Now + 86400000,
  	Buckets = [#bucket{units = octets,
  			termination_date = TD, remain_amount = Amount}],
  	{ok, _} = ocs:add_subscriber(PeerID, PeerPassword, ProdID, [], Buckets, []),
  	Authenticator = radius:authenticator(),
  	SharedSecret = ct:get_config(radius_shared_secret),
  
negative.code: 	CallingStationId = string:join(MACtokens, "-"),
  	PeerID = string:to_lower(lists:append(MACtokens)),
  	PeerPassword = ocs:generate_password(),
  	Buckets = [#bucket{units = cents, remain_amount = 3000}],
  	{ok, _} = ocs:add_subscriber(PeerID, PeerPassword, ProdID, [], Buckets, []),
  	Authenticator = radius:authenticator(),
  	SharedSecret = ct:get_config(radius_shared_secret),
  