X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/49aaa9f26dfaf50056abd7527976b681be26208b..1059fd1f9e22ebcae51413d2b0fde0416c71c79b:/services/api/test/unit/application_test.rb diff --git a/services/api/test/unit/application_test.rb b/services/api/test/unit/application_test.rb new file mode 100644 index 0000000000..ca80319250 --- /dev/null +++ b/services/api/test/unit/application_test.rb @@ -0,0 +1,32 @@ +require 'test_helper' + +class ApplicationTest < ActiveSupport::TestCase + include CurrentApiClient + + test "test act_as_system_user" do + Thread.current[:user] = users(:active) + assert_equal users(:active), Thread.current[:user] + act_as_system_user do + assert_not_equal users(:active), Thread.current[:user] + assert_equal system_user, Thread.current[:user] + end + assert_equal users(:active), Thread.current[:user] + end + + test "test act_as_system_user is exception safe" do + Thread.current[:user] = users(:active) + assert_equal users(:active), Thread.current[:user] + caught = false + begin + act_as_system_user do + assert_not_equal users(:active), Thread.current[:user] + assert_equal system_user, Thread.current[:user] + raise "Fail" + end + rescue + caught = true + end + assert caught + assert_equal users(:active), Thread.current[:user] + end +end