From: Chris Flipse Date: Sat, 9 Jun 2018 23:53:17 +0000 (-0400) Subject: add test helper to set oauth tokens X-Git-Tag: live~3557^2~15^2~6 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/ac7c45bca036db2c5bfd692d77ff7f1da526955f add test helper to set oauth tokens --- diff --git a/test/controllers/user_preferences_controller_test.rb b/test/controllers/user_preferences_controller_test.rb index 3e5cbb369..1a51779ed 100644 --- a/test/controllers/user_preferences_controller_test.rb +++ b/test/controllers/user_preferences_controller_test.rb @@ -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 diff --git a/test/test_helper.rb b/test/test_helper.rb index 7198519a7..39e8cdd05 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -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)