API: fix api limits being lowered when user doesn't have api key.

This commit is contained in:
evazion
2017-05-04 12:57:20 -05:00
parent b6e1958917
commit 43ad3258e5
2 changed files with 11 additions and 6 deletions

View File

@@ -606,9 +606,9 @@ class User < ActiveRecord::Base
def api_regen_multiplier
# regen this amount per second
if is_platinum? && api_key.present?
if is_platinum?
4
elsif is_gold? && api_key.present?
elsif is_gold?
2
else
1
@@ -618,9 +618,9 @@ class User < ActiveRecord::Base
def api_burst_limit
# can make this many api calls at once before being bound by
# api_regen_multiplier refilling your pool
if is_platinum? && api_key.present?
if is_platinum?
60
elsif is_gold? && api_key.present?
elsif is_gold?
30
else
10

View File

@@ -3,9 +3,8 @@ require 'test_helper'
class ApiKeyTest < ActiveSupport::TestCase
context "in all cases a user" do
setup do
@user = FactoryGirl.create(:user, :name => "abcdef")
@user = FactoryGirl.create(:gold_user, :name => "abcdef")
@api_key = ApiKey.generate!(@user)
@user.name.mb_chars.downcase
end
should "authenticate via api key" do
@@ -19,5 +18,11 @@ class ApiKeyTest < ActiveSupport::TestCase
should "not authenticate with the wrong name" do
assert_nil(User.authenticate_api_key("xxx", @api_key.key))
end
should "have the same limits whether or not they have an api key" do
assert_no_difference(["@user.reload.api_regen_multiplier", "@user.reload.api_burst_limit"]) do
@user.api_key.destroy
end
end
end
end