Switch oauth integration tests to use new shared helper

This commit is contained in:
Tom Hughes 2020-05-05 18:03:49 +01:00
parent 7e1a4b6884
commit 6f342c7616

View file

@ -78,7 +78,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_nil token.invalidated_at assert_nil token.invalidated_at
assert_allowed token, [:allow_read_prefs] assert_allowed token, [:allow_read_prefs]
signed_get "/oauth/access_token", :consumer => client, :token => token signed_get "/oauth/access_token", :oauth => { :token => token }
assert_response :success assert_response :success
token.reload token.reload
assert_not_nil token.created_at assert_not_nil token.created_at
@ -91,10 +91,10 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_nil token.invalidated_at assert_nil token.invalidated_at
assert_allowed token, [:allow_read_prefs] assert_allowed token, [:allow_read_prefs]
signed_get "/api/0.6/user/preferences", :consumer => client, :token => token signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
assert_response :success assert_response :success
signed_get "/api/0.6/gpx/2", :consumer => client, :token => token signed_get "/api/0.6/gpx/2", :oauth => { :token => token }
assert_response :forbidden assert_response :forbidden
post "/oauth/revoke", :params => { :token => token.token } post "/oauth/revoke", :params => { :token => token.token }
@ -102,7 +102,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
token = OauthToken.find_by(:token => token.token) token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at assert_not_nil token.invalidated_at
signed_get "/api/0.6/user/preferences", :consumer => client, :token => token signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
assert_response :unauthorized assert_response :unauthorized
end end
@ -156,7 +156,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_nil token.invalidated_at assert_nil token.invalidated_at
assert_allowed token, [:allow_write_api, :allow_read_gpx] assert_allowed token, [:allow_write_api, :allow_read_gpx]
signed_get "/oauth/access_token", :consumer => client, :token => token signed_get "/oauth/access_token", :oauth => { :token => token }
assert_response :success assert_response :success
token.reload token.reload
assert_not_nil token.created_at assert_not_nil token.created_at
@ -170,10 +170,10 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_allowed token, [:allow_write_api, :allow_read_gpx] assert_allowed token, [:allow_write_api, :allow_read_gpx]
trace = create(:trace, :user => client.user) trace = create(:trace, :user => client.user)
signed_get "/api/0.6/gpx/#{trace.id}", :consumer => client, :token => token signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
assert_response :success assert_response :success
signed_get "/api/0.6/user/details", :consumer => client, :token => token signed_get "/api/0.6/user/details", :oauth => { :token => token }
assert_response :forbidden assert_response :forbidden
post "/oauth/revoke", :params => { :token => token.token } post "/oauth/revoke", :params => { :token => token.token }
@ -181,7 +181,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
token = OauthToken.find_by(:token => token.token) token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at assert_not_nil token.invalidated_at
signed_get "/api/0.6/gpx/2", :consumer => client, :token => token signed_get "/api/0.6/gpx/2", :oauth => { :token => token }
assert_response :unauthorized assert_response :unauthorized
end end
@ -212,11 +212,10 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_nil token.invalidated_at assert_nil token.invalidated_at
assert_allowed token, [:allow_read_prefs] assert_allowed token, [:allow_read_prefs]
signed_get "/oauth/access_token", :consumer => client, :token => token signed_get "/oauth/access_token", :oauth => { :token => token }
assert_response :unauthorized assert_response :unauthorized
signed_get "/oauth/access_token", signed_get "/oauth/access_token", :oauth => { :token => token, :oauth_verifier => verifier }
:consumer => client, :token => token, :oauth_verifier => verifier
assert_response :success assert_response :success
token.reload token.reload
assert_not_nil token.created_at assert_not_nil token.created_at
@ -229,11 +228,11 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_nil token.invalidated_at assert_nil token.invalidated_at
assert_allowed token, [:allow_read_prefs] assert_allowed token, [:allow_read_prefs]
signed_get "/api/0.6/user/preferences", :consumer => client, :token => token signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
assert_response :success assert_response :success
trace = create(:trace, :user => client.user) trace = create(:trace, :user => client.user)
signed_get "/api/0.6/gpx/#{trace.id}", :consumer => client, :token => token signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
assert_response :forbidden assert_response :forbidden
post "/oauth/revoke", :params => { :token => token.token } post "/oauth/revoke", :params => { :token => token.token }
@ -241,7 +240,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
token = OauthToken.find_by(:token => token.token) token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at assert_not_nil token.invalidated_at
signed_get "/api/0.6/user/preferences", :consumer => client, :token => token signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
assert_response :unauthorized assert_response :unauthorized
end end
@ -264,11 +263,10 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_nil token.invalidated_at assert_nil token.invalidated_at
assert_allowed token, [:allow_write_api, :allow_read_gpx] assert_allowed token, [:allow_write_api, :allow_read_gpx]
signed_get "/oauth/access_token", :consumer => client, :token => token signed_get "/oauth/access_token", :oauth => { :token => token }
assert_response :unauthorized assert_response :unauthorized
signed_get "/oauth/access_token", signed_get "/oauth/access_token", :oauth => { :token => token, :oauth_verifier => verifier }
:consumer => client, :token => token, :oauth_verifier => verifier
assert_response :success assert_response :success
token.reload token.reload
assert_not_nil token.created_at assert_not_nil token.created_at
@ -282,10 +280,10 @@ class OAuthTest < ActionDispatch::IntegrationTest
assert_allowed token, [:allow_write_api, :allow_read_gpx] assert_allowed token, [:allow_write_api, :allow_read_gpx]
trace = create(:trace, :user => client.user) trace = create(:trace, :user => client.user)
signed_get "/api/0.6/gpx/#{trace.id}", :consumer => client, :token => token signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
assert_response :success assert_response :success
signed_get "/api/0.6/user/details", :consumer => client, :token => token signed_get "/api/0.6/user/details", :oauth => { :token => token }
assert_response :forbidden assert_response :forbidden
post "/oauth/revoke", :params => { :token => token.token } post "/oauth/revoke", :params => { :token => token.token }
@ -293,7 +291,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
token = OauthToken.find_by(:token => token.token) token = OauthToken.find_by(:token => token.token)
assert_not_nil token.invalidated_at assert_not_nil token.invalidated_at
signed_get "/api/0.6/gpx/2", :consumer => client, :token => token signed_get "/api/0.6/gpx/2", :oauth => { :token => token }
assert_response :unauthorized assert_response :unauthorized
end end
@ -330,7 +328,7 @@ class OAuthTest < ActionDispatch::IntegrationTest
end end
def get_request_token(client, options = {}) def get_request_token(client, options = {})
signed_get "/oauth/request_token", options.merge(:consumer => client) signed_get "/oauth/request_token", :oauth => options.merge(:consumer => client)
assert_response :success assert_response :success
token = parse_token(response) token = parse_token(response)
assert_instance_of RequestToken, token assert_instance_of RequestToken, token
@ -343,24 +341,6 @@ class OAuthTest < ActionDispatch::IntegrationTest
token token
end end
def signed_get(uri, options)
uri = URI.parse(uri)
uri.scheme ||= "http"
uri.host ||= "www.example.com"
helper = OAuth::Client::Helper.new(nil, options)
request = OAuth::RequestProxy.proxy(
"method" => "GET",
"uri" => uri,
"parameters" => helper.oauth_parameters
)
request.sign!(options)
get request.signed_uri
end
def parse_token(response) def parse_token(response)
params = CGI.parse(response.body) params = CGI.parse(response.body)