class DatabaseControllerTest < ActionController::TestCase
include CurrentApiClient
+ teardown do
+ restore_configuration
+ # We made configuration changes here that affect routing.
+ Rails.application.reload_routes!
+ end
+
test "reset fails with non-admin token" do
authorize_with :active
post :reset
ENV['RAILS_ENV'] = env_was
end
+ test "reset fails when not configured" do
+ Rails.configuration.enable_remote_database_reset = false
+ Rails.application.reload_routes!
+ authorize_with :admin
+ assert_raise ActionController::RoutingError do
+ post :reset
+ end
+ end
+
test "reset succeeds with admin token" do
new_uuid = nil
act_as_system_user do
--- /dev/null
+require 'test_helper'
+
+class DatabaseResetTest < ActionDispatch::IntegrationTest
+ teardown do
+ restore_configuration
+ # We made configuration changes here that affect routing.
+ Rails.application.reload_routes!
+ end
+
+ test "reset fails when not configured" do
+ Rails.configuration.enable_remote_database_reset = false
+ Rails.application.reload_routes!
+ post '/database/reset', {}, auth(:admin)
+ assert_response 404
+ end
+
+ test "reset fails with non-admin token" do
+ post '/database/reset', {}, auth(:active)
+ assert_response 403
+ end
+end
Thread.current[:api_client_uuid] = nil
Thread.current[:api_client] = nil
Thread.current[:user] = nil
+ restore_configuration
+ end
+
+ def restore_configuration
# Restore configuration settings changed during tests
$application_config.each do |k,v|
if k.match /^[^.]*$/