[ARVADOS] created: 960a09a85db9fb7f38b8c4e1c93cf27a1d186d90

git at public.curoverse.com git at public.curoverse.com
Tue Apr 1 00:27:16 EDT 2014


        at  960a09a85db9fb7f38b8c4e1c93cf27a1d186d90 (commit)


commit 960a09a85db9fb7f38b8c4e1c93cf27a1d186d90
Author: Tom Clegg <tom at curoverse.com>
Date:   Tue Apr 1 00:21:36 2014 -0400

    Count distinct records for items_available, not rows generated by permission join.

diff --git a/services/api/app/controllers/application_controller.rb b/services/api/app/controllers/application_controller.rb
index fa189aa..093db8d 100644
--- a/services/api/app/controllers/application_controller.rb
+++ b/services/api/app/controllers/application_controller.rb
@@ -434,7 +434,9 @@ class ApplicationController < ActionController::Base
       :items => @objects.as_api_response(nil)
     }
     if @objects.respond_to? :except
-      @object_list[:items_available] = @objects.except(:limit).except(:offset).count
+      @object_list[:items_available] = @objects.
+        except(:limit).except(:offset).
+        count(:id, distinct: true)
     end
     render json: @object_list
   end

commit 24a0882b04f95ee44fddcc94fab541486700a0dc
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Mar 31 23:47:47 2014 -0400

    Test no duplicate UUIDs are returned by collections.list.

diff --git a/services/api/test/functional/arvados/v1/collections_controller_test.rb b/services/api/test/functional/arvados/v1/collections_controller_test.rb
index 1036aeb..9cbdc0b 100644
--- a/services/api/test/functional/arvados/v1/collections_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/collections_controller_test.rb
@@ -27,6 +27,8 @@ class Arvados::V1::CollectionsControllerTest < ActionController::TestCase
     resp = JSON.parse(@response.body)
     assert_equal resp['items_available'], assigns(:objects).length
     assert_equal resp['items_available'], resp['items'].count
+    unique_uuids = resp['items'].collect { |i| i['uuid'] }.compact
+    assert_equal unique_uuids.count, resp['items'].count
   end
 
   test "get index with limit=2 offset=99999" do

commit 33507442d1b24551985199ef453641f2c65a66e3
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Mar 31 23:46:16 2014 -0400

    Test items_available = items returned when limit is large.

diff --git a/services/api/test/fixtures/groups.yml b/services/api/test/fixtures/groups.yml
index 5810259..835d03e 100644
--- a/services/api/test/fixtures/groups.yml
+++ b/services/api/test/fixtures/groups.yml
@@ -10,6 +10,12 @@ private:
   name: Private
   description: Private Group
 
+private_and_can_read_foofile:
+  uuid: zzzzz-j7d0g-22xp1wpjul508rk
+  owner_uuid: zzzzz-tpzed-xurymjxw79nv3jz
+  name: Private and Can Read Foofile
+  description: Another Private Group
+
 system_owned_group:
   uuid: zzzzz-j7d0g-8ulrifv67tve5sx
   owner_uuid: zzzzz-tpzed-000000000000000
diff --git a/services/api/test/fixtures/links.yml b/services/api/test/fixtures/links.yml
index 4e10b56..e811deb 100644
--- a/services/api/test/fixtures/links.yml
+++ b/services/api/test/fixtures/links.yml
@@ -158,6 +158,38 @@ foo_file_readable_by_active:
   head_uuid: 1f4b0bc7583c2a7f9102c395f4ffc5e3+45
   properties: {}
 
+foo_file_readable_by_active_duplicate_permission:
+  uuid: zzzzz-o0j2j-2qlmhgothiur55r
+  owner_uuid: zzzzz-tpzed-000000000000000
+  created_at: 2014-01-24 20:42:26 -0800
+  modified_by_client_uuid: zzzzz-ozdt8-000000000000000
+  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_kind: arvados#user
+  tail_uuid: zzzzz-tpzed-xurymjxw79nv3jz
+  link_class: permission
+  name: can_read
+  head_kind: arvados#collection
+  head_uuid: 1f4b0bc7583c2a7f9102c395f4ffc5e3+45
+  properties: {}
+
+foo_file_readable_by_active_redundant_permission_via_private_group:
+  uuid: zzzzz-o0j2j-5s8ry7sn6bwxb7w
+  owner_uuid: zzzzz-tpzed-000000000000000
+  created_at: 2014-01-24 20:42:26 -0800
+  modified_by_client_uuid: zzzzz-ozdt8-000000000000000
+  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_kind: arvados#group
+  tail_uuid: zzzzz-j7d0g-22xp1wpjul508rk
+  link_class: permission
+  name: can_read
+  head_kind: arvados#collection
+  head_uuid: 1f4b0bc7583c2a7f9102c395f4ffc5e3+45
+  properties: {}
+
 bar_file_readable_by_active:
   uuid: zzzzz-o0j2j-8hppiuduf8eqdng
   owner_uuid: zzzzz-tpzed-000000000000000
diff --git a/services/api/test/functional/arvados/v1/collections_controller_test.rb b/services/api/test/functional/arvados/v1/collections_controller_test.rb
index 575eda3..1036aeb 100644
--- a/services/api/test/functional/arvados/v1/collections_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/collections_controller_test.rb
@@ -20,6 +20,15 @@ class Arvados::V1::CollectionsControllerTest < ActionController::TestCase
     end
   end
 
+  test "items.count == items_available" do
+    authorize_with :active
+    get :index, limit: 100000
+    assert_response :success
+    resp = JSON.parse(@response.body)
+    assert_equal resp['items_available'], assigns(:objects).length
+    assert_equal resp['items_available'], resp['items'].count
+  end
+
   test "get index with limit=2 offset=99999" do
     # Assume there are not that many test fixtures.
     authorize_with :active

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list