diff --git a/app/controllers/admin/plugin_admin_controller.rb b/app/controllers/admin/plugin_admin_controller.rb new file mode 100644 index 0000000..7b3a8ec --- /dev/null +++ b/app/controllers/admin/plugin_admin_controller.rb @@ -0,0 +1,5 @@ +class PluginAdminController < AdminController + + protect 'edit_environment_features', :environment + +end diff --git a/test/functional/plugin_admin_controller_test.rb b/test/functional/plugin_admin_controller_test.rb new file mode 100644 index 0000000..88eacef --- /dev/null +++ b/test/functional/plugin_admin_controller_test.rb @@ -0,0 +1,25 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class PluginAdminController + def index + render :text => 'ok' + end +end + +class PluginAdminControllerTest < ActionController::TestCase + + should 'allow user with the required permission to access plugin administration page' do + create_user_with_permission('testuser', 'edit_environment_features', Environment.default) + login_as('testuser') + get :index + assert_response :success + end + + should 'forbid access to users that did not have the required permission' do + create_user('testuser') + login_as('testuser') + get :index + assert_response :forbidden + end + +end -- libgit2 0.21.2