add test helper to set oauth tokens

This commit is contained in:
Chris Flipse 2018-06-09 19:53:17 -04:00
parent 5232914427
commit ac7c45bca0
2 changed files with 16 additions and 0 deletions

View file

@ -35,6 +35,7 @@ class UserPreferencesControllerTest < ActionController::TestCase
# authenticate as a user with no preferences
basic_authorization create(:user).email, "test"
grant_oauth_token :allow_read_prefs
# try the read again
get :read
@ -75,6 +76,7 @@ class UserPreferencesControllerTest < ActionController::TestCase
# authenticate as a user with preferences
basic_authorization user.email, "test"
grant_oauth_token :allow_read_prefs
# try the read again
get :read_one, :params => { :preference_key => "key" }
@ -108,6 +110,7 @@ class UserPreferencesControllerTest < ActionController::TestCase
# authenticate as a user with preferences
basic_authorization user.email, "test"
grant_oauth_token :allow_write_prefs
# try the put again
assert_no_difference "UserPreference.count" do
@ -159,6 +162,7 @@ class UserPreferencesControllerTest < ActionController::TestCase
# authenticate as a user with preferences
basic_authorization user.email, "test"
grant_oauth_token :allow_write_prefs
# try adding a new preference
assert_difference "UserPreference.count", 1 do
@ -196,6 +200,7 @@ class UserPreferencesControllerTest < ActionController::TestCase
# authenticate as a user with preferences
basic_authorization user.email, "test"
grant_oauth_token :allow_write_prefs
# try the delete again
assert_difference "UserPreference.count", -1 do

View file

@ -85,6 +85,17 @@ module ActiveSupport
@request.env["HTTP_AUTHORIZATION"] = format("Basic %{auth}", :auth => Base64.encode64("#{user}:#{pass}"))
end
##
# set oauth token permissions
def grant_oauth_token(*tokens)
request.env["oauth.token"] = AccessToken.new do |token|
tokens.each do |t|
token.public_send("#{t}=", true)
end
end
end
##
# set request readers to ask for a particular error format
def error_format(format)