X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/964ab3dd90ff1508efc0c77378cde2b3a4da1029..ce4e75d03a38fc7e4a644a08e3c6044e3a7df390:/services/api/test/unit/repository_test.rb diff --git a/services/api/test/unit/repository_test.rb b/services/api/test/unit/repository_test.rb index 327170c108..4e160dd7e1 100644 --- a/services/api/test/unit/repository_test.rb +++ b/services/api/test/unit/repository_test.rb @@ -1,7 +1,39 @@ require 'test_helper' class RepositoryTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end + test 'write permission allows changing modified_at' do + act_as_user users(:active) do + r = repositories(:foo) + modtime_was = r.modified_at + r.modified_at = Time.now + assert r.save + assert_operator modtime_was, :<, r.modified_at + end + end + + test 'write permission not sufficient for changing name' do + act_as_user users(:active) do + r = repositories(:foo) + name_was = r.name + r.name = 'newname' + assert_raises ArvadosModel::PermissionDeniedError do + r.save! + end + r.reload + assert_equal name_was, r.name + end + end + + test 'write permission necessary for changing modified_at' do + act_as_user users(:spectator) do + r = repositories(:foo) + modtime_was = r.modified_at + r.modified_at = Time.now + assert_raises ArvadosModel::PermissionDeniedError do + r.save! + end + r.reload + assert_equal modtime_was, r.modified_at + end + end end