Merge branch 'master' into 4904-arv-web
[arvados.git] / services / api / test / unit / arvados_model_test.rb
index 63b47731f0e40e8effdf474926ffeb4f41eb6934..cb69127a1c40f0f92f63569b05680f58ce7cf3b9 100644 (file)
@@ -87,6 +87,17 @@ class ArvadosModelTest < ActiveSupport::TestCase
     end
   end
 
+  test "store long string" do
+    set_user_from_auth :active
+    longstring = "a"
+    while longstring.length < 2**16
+      longstring = longstring + longstring
+    end
+    g = Group.create! name: 'Has a long description', description: longstring
+    g = Group.find_by_uuid g.uuid
+    assert_equal g.description, longstring
+  end
+
   [['uuid', {unique: true}],
    ['owner_uuid', {}]].each do |the_column, requires|
     test "unique index on all models with #{the_column}" do
@@ -118,6 +129,10 @@ class ArvadosModelTest < ActiveSupport::TestCase
       table_class = table.classify.constantize
       if table_class.respond_to?('searchable_columns')
         search_index_columns = table_class.searchable_columns('ilike')
+        # Disappointing, but text columns aren't indexed yet.
+        search_index_columns -= table_class.columns.select { |c|
+          c.type == :text or c.name == 'description'
+        }.collect(&:name)
 
         indexes = ActiveRecord::Base.connection.indexes(table)
         search_index_by_columns = indexes.select do |index|