4027: Fixup arvados repo fixture to make it more realistic. 4027-api-sdk-version-wip
authorBrett Smith <brett@curoverse.com>
Wed, 12 Nov 2014 22:10:55 +0000 (17:10 -0500)
committerBrett Smith <brett@curoverse.com>
Wed, 12 Nov 2014 22:10:55 +0000 (17:10 -0500)
services/api/test/fixtures/links.yml
services/api/test/fixtures/repositories.yml
services/api/test/functional/arvados/v1/repositories_controller_test.rb

index 0d9b06a7250051678f3142174c3aa02404c61c03..4d576a25c14ab73f96989564ac0948811071e9b0 100644 (file)
@@ -250,6 +250,20 @@ runningbarbaz_job_readable_by_spectator:
   head_uuid: zzzzz-8i9sb-cjs4pklxxjykyuj
   properties: {}
 
+arvados_repository_readable_by_all_users:
+  uuid: zzzzz-o0j2j-allcanreadarvrp
+  owner_uuid: zzzzz-tpzed-000000000000000
+  created_at: 2014-01-24 20:42:26 -0800
+  modified_by_client_uuid: zzzzz-ozdt8-brczlopd8u8d0jr
+  modified_by_user_uuid: zzzzz-tpzed-000000000000000
+  modified_at: 2014-01-24 20:42:26 -0800
+  updated_at: 2014-01-24 20:42:26 -0800
+  tail_uuid: zzzzz-j7d0g-fffffffffffffff
+  link_class: permission
+  name: can_read
+  head_uuid: zzzzz-s0uqq-arvadosrepo0123
+  properties: {}
+
 foo_repository_readable_by_spectator:
   uuid: zzzzz-o0j2j-cpy7p41hpk5xxx
   owner_uuid: zzzzz-tpzed-000000000000000
index 38632dd048d635bf756c8ecfe74b56894c4e5355..5775f8ac80759be42b0ade7240d1d029a52bd4f5 100644 (file)
@@ -5,7 +5,7 @@ crunch_dispatch_test:
 
 arvados:
   uuid: zzzzz-s0uqq-arvadosrepo0123
-  owner_uuid: zzzzz-j7d0g-fffffffffffffff # all users
+  owner_uuid: zzzzz-tpzed-000000000000000 # root
   name: arvados
 
 foo:
index 0793d12e4e5103c0298f6b96122a9558d489677d..5304bcafc531bc1138c8c17071fd2793d71aff1c 100644 (file)
@@ -43,17 +43,18 @@ class Arvados::V1::RepositoriesControllerTest < ActionController::TestCase
   end
 
   test "get_all_permissions does not give any access to user without permission" do
+    viewer_uuid = users(:project_viewer).uuid
+    assert_equal(authorized_keys(:project_viewer).authorized_user_uuid,
+                 viewer_uuid,
+                 "project_viewer must have an authorized_key for this test to work")
     authorize_with :admin
     get :get_all_permissions
     assert_response :success
-    assert_equal(authorized_keys(:project_viewer).authorized_user_uuid,
-                 users(:project_viewer).uuid,
-                 "project_viewer must have an authorized_key for this test to work")
-    json_response['repositories'].each do |repo|
-      assert_equal(false,
-                   repo['user_permissions'].has_key?(users(:project_viewer).uuid),
-                   "project_viewer user should not have perms for #{repo['uuid']}")
+    readable_repos = json_response["repositories"].select do |repo|
+      repo["user_permissions"].has_key?(viewer_uuid)
     end
+    assert_equal(["arvados"], readable_repos.map { |r| r["name"] },
+                 "project_viewer should only have permissions on public repos")
   end
 
   test "get_all_permissions gives gitolite R to user with read-only access" do