]> git.openstreetmap.org Git - rails.git/blob - test/controllers/oauth2_authorized_applications_controller_test.rb
Allow cross origin access to OAuth 2 token endpoints
[rails.git] / test / controllers / oauth2_authorized_applications_controller_test.rb
1 require "test_helper"
2
3 class Oauth2AuthorizedApplicationsControllerTest < ActionDispatch::IntegrationTest
4   ##
5   # test all routes which lead to this controller
6   def test_routes
7     assert_routing(
8       { :path => "/oauth2/authorized_applications", :method => :get },
9       { :controller => "oauth2_authorized_applications", :action => "index" }
10     )
11     assert_routing(
12       { :path => "/oauth2/authorized_applications/1", :method => :delete },
13       { :controller => "oauth2_authorized_applications", :action => "destroy", :id => "1" }
14     )
15   end
16
17   def test_index
18     user = create(:user)
19     application1 = create(:oauth_application)
20     create(:oauth_access_grant, :resource_owner_id => user.id, :application => application1)
21     create(:oauth_access_token, :resource_owner_id => user.id, :application => application1)
22     application2 = create(:oauth_application)
23     create(:oauth_access_grant, :resource_owner_id => user.id, :application => application2)
24     create(:oauth_access_token, :resource_owner_id => user.id, :application => application2)
25     create(:oauth_application)
26
27     get oauth_authorized_applications_path
28     assert_response :redirect
29     assert_redirected_to login_path(:referer => oauth_authorized_applications_path)
30
31     session_for(user)
32
33     get oauth_authorized_applications_path
34     assert_response :success
35     assert_template "oauth2_authorized_applications/index"
36     assert_select "tr", 2
37   end
38
39   def test_destroy
40     user = create(:user)
41     application1 = create(:oauth_application)
42     create(:oauth_access_grant, :resource_owner_id => user.id, :application => application1)
43     create(:oauth_access_token, :resource_owner_id => user.id, :application => application1)
44     application2 = create(:oauth_application)
45     create(:oauth_access_grant, :resource_owner_id => user.id, :application => application2)
46     create(:oauth_access_token, :resource_owner_id => user.id, :application => application2)
47     create(:oauth_application)
48
49     delete oauth_authorized_application_path(:id => application1.id)
50     assert_response :forbidden
51
52     session_for(user)
53
54     delete oauth_authorized_application_path(:id => application1.id)
55     assert_response :redirect
56     assert_redirected_to oauth_authorized_applications_path
57
58     get oauth_authorized_applications_path
59     assert_response :success
60     assert_template "oauth2_authorized_applications/index"
61     assert_select "tr", 1
62   end
63 end