X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6d93d2ecf9c3d75c2b032f0ad9689af6501570e0..0cefa4c0f3c1b16884b04d6273bd8730166d69ba:/services/api/test/unit/collection_test.rb diff --git a/services/api/test/unit/collection_test.rb b/services/api/test/unit/collection_test.rb index 0783114990..08f46fddcc 100644 --- a/services/api/test/unit/collection_test.rb +++ b/services/api/test/unit/collection_test.rb @@ -92,28 +92,49 @@ class CollectionTest < ActiveSupport::TestCase [ ['foo', true], - ['foo bar', true], - ['foox barx', false], # no match for either - ['foo barx', true], - ['file4', true], # whole string match + ['foo bar', false], # no collection matching both + ['foo&bar', false], # no collection matching both + ['foo|bar', true], # works only no spaces between the words + ['Gnu public', true], # both prefixes found, though not consecutively + ['Gnu&public', true], # both prefixes found, though not consecutively + ['file4', true], # prefix match ['file4.txt', true], # whole string match - ['filex', false], # looks for the whole string and fails + ['filex', false], # no such prefix + ['subdir', true], # prefix matches ['subdir2', true], ['subdir2/', true], ['subdir2/subdir3', true], ['subdir2/subdir3/subdir4', true], - ['subdir', true], # prefix matches - ['no-such-file', false], # looks for whole string and fails - ['no such file', true], # matches "file" + ['subdir2 file4', true], # look for both prefixes + ['subdir4', false], # not a prefix match ].each do |search_filter, expect_results| - search_filters = search_filter.split.each {|s| s.concat(':*')} - results = Collection.where("to_tsvector('english', file_names) @@ to_tsquery(?)", - "#{search_filters.join('|')}") + search_filters = search_filter.split.each {|s| s.concat(':*')}.join('&') + results = Collection.where("#{Collection.full_text_tsvector} @@ to_tsquery(?)", + "#{search_filters}") if expect_results - assert_equal true, results.length>0, "No results found for '#{search_filter}'" + refute_empty results else - assert_equal 0, results.length, "Found #{results.length} results for '#{search_filter}'" + assert_empty results + end + end + end + + [0, 2, 4, nil].each do |ask| + test "replication_desired reports #{ask or 2} if redundancy is #{ask}" do + act_as_user users(:active) do + c = collections(:collection_owned_by_active) + c.update_attributes redundancy: ask + assert_equal (ask or 2), c.replication_desired end end end + + test "create collection with properties" do + act_as_system_user do + c = Collection.create(manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n", + properties: {'property_1' => 'value_1'}) + assert c.valid? + assert_equal 'value_1', c.properties['property_1'] + end + end end