X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/75a07d8175c9ee9a1c212cd1abe1c0d64a91cfc7..b4fd2ab4e409e36f894c1fb27144e4fa2854f389:/services/api/test/functional/arvados/v1/collections_controller_test.rb?ds=sidebyside 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 021918c6bf..ed56b62cd9 100644 --- a/services/api/test/functional/arvados/v1/collections_controller_test.rb +++ b/services/api/test/functional/arvados/v1/collections_controller_test.rb @@ -68,6 +68,18 @@ class Arvados::V1::CollectionsControllerTest < ActionController::TestCase assert_equal unique_uuids.count, resp['items'].count end + test "items.count == items_available with filters" do + authorize_with :active + get :index, { + limit: 100, + filters: [['uuid','=',collections(:foo_file).uuid]] + } + assert_response :success + assert_equal 1, assigns(:objects).length + assert_equal 1, json_response['items_available'] + assert_equal 1, json_response['items'].count + end + test "get index with limit=2 offset=99999" do # Assume there are not that many test fixtures. authorize_with :active @@ -335,12 +347,12 @@ EOS test "search collections with 'any' operator" do authorize_with :active get :index, { - where: { any: ['contains', '7f9102c395f4ffc5e3'] } + where: { any: ['contains', 'd0bc8c7f34be170a7b7b'] } } assert_response :success found = assigns(:objects).collect(&:portable_data_hash) - assert_equal 2, found.count - assert_equal true, !!found.index('1f4b0bc7583c2a7f9102c395f4ffc5e3+45') + assert_equal 1, found.count + assert_equal true, !!found.index('5bd9c1ad0bc8c7f34be170a7b7b39089+45') end [false, true].each do |permit_unsigned| @@ -576,6 +588,7 @@ EOS end test 'Reject manifest with unsigned blob' do + permit_unsigned_manifests false authorize_with :active unsigned_manifest = ". 0cc175b9c0f1b6a831c399e269772661+1 0:1:a.txt\n" manifest_uuid = Digest::MD5.hexdigest(unsigned_manifest) @@ -648,4 +661,35 @@ EOS } assert_response :success end + + test "get collection and verify that file_names is not included" do + authorize_with :active + get :show, {id: collections(:foo_file).uuid} + assert_response :success + assert_equal collections(:foo_file).uuid, json_response['uuid'] + assert_nil json_response['file_names'] + assert json_response['manifest_text'] + end + + [ + [2**8, :success], + [2**18, 422], + ].each do |description_size, expected_response| + test "create collection with description size #{description_size} + and expect response #{expected_response}" do + authorize_with :active + + description = 'here is a collection with a very large description' + while description.length < description_size + description = description + description + end + + post :create, collection: { + manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:foo.txt\n", + description: description, + } + + assert_response expected_response + end + end end