From 43ad3258e58395bf90a57ebe060ddf00b70dc29f Mon Sep 17 00:00:00 2001 From: evazion Date: Thu, 4 May 2017 12:57:20 -0500 Subject: [PATCH] API: fix api limits being lowered when user doesn't have api key. --- app/models/user.rb | 8 ++++---- test/unit/api_key_test.rb | 9 +++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 39ae290ea..6bf678bea 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -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 diff --git a/test/unit/api_key_test.rb b/test/unit/api_key_test.rb index e681cd115..412d9c243 100644 --- a/test/unit/api_key_test.rb +++ b/test/unit/api_key_test.rb @@ -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