[ARVADOS] updated: 1.3.0-628-g330210298

Git user git at public.curoverse.com
Tue Apr 2 21:40:04 UTC 2019


Summary of changes:
 .../app/controllers/arvados/v1/users_controller.rb |  2 +-
 services/api/app/models/collection.rb              | 10 ++--
 services/api/app/models/container.rb               |  4 ++
 services/api/app/models/container_request.rb       |  3 ++
 services/api/app/models/group.rb                   |  2 +-
 services/api/app/models/jsonb_type.rb              | 38 +++++++++++++
 services/api/app/models/link.rb                    |  2 +-
 services/api/app/models/node.rb                    |  8 +--
 services/api/config/initializers/custom_types.rb   |  8 +++
 services/api/lib/load_param.rb                     |  2 +-
 services/api/test/fixtures/collections.yml         | 62 ----------------------
 services/api/test/performance/permission_test.rb   |  3 +-
 services/api/test/test_helper.rb                   | 14 ++++-
 13 files changed, 76 insertions(+), 82 deletions(-)
 create mode 100644 services/api/app/models/jsonb_type.rb
 create mode 100644 services/api/config/initializers/custom_types.rb

       via  33021029867be4a2240f0d3673045dfac7598350 (commit)
       via  4eaad199ac21e552eee2a049d33a3c076d8bed60 (commit)
       via  eefc23215940fc40ec7eff4c6e7c52d6b263efee (commit)
       via  39607cc8eaa09bc1247fccbcd7ec13635db1a1ef (commit)
      from  536953b16482799359990462db6f9f018bf94f1e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 33021029867be4a2240f0d3673045dfac7598350
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date:   Tue Apr 2 18:36:08 2019 -0300

    14873: Custom JSON attributes that default to [] or {} when nil.
    
    Previously we used the 'serialize' call to declare a JSONB column as a Hash
    or Array and this had the side effect to default to an empty hash or array
    when assigning nil (whether was reading from the database or passed as a param).
    JSONB columns shouldn't be now declared as serialized because Rails would serialize
    their contents twice, but not declaring them makes us lose their side effect.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>

diff --git a/services/api/app/models/collection.rb b/services/api/app/models/collection.rb
index cb23df1c2..e6d8d8655 100644
--- a/services/api/app/models/collection.rb
+++ b/services/api/app/models/collection.rb
@@ -16,8 +16,10 @@ class Collection < ArvadosModel
 
   # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
   # already know how to properly treat them.
+  attribute :properties, :jsonbHash, default: {}
+  attribute :storage_classes_desired, :jsonbArray, default: ["default"]
+  attribute :storage_classes_confirmed, :jsonbArray, default: []
 
-  before_validation :fill_field_defaults
   before_validation :default_empty_manifest
   before_validation :default_storage_classes, on: :create
   before_validation :check_encoding
@@ -653,10 +655,4 @@ class Collection < ArvadosModel
     self.current_version_uuid ||= self.uuid
     true
   end
-
-  def fill_field_defaults
-    self.properties ||= {}
-    self.storage_classes_desired ||= []
-    self.storage_classes_confirmed ||= []
-  end
 end
diff --git a/services/api/app/models/container.rb b/services/api/app/models/container.rb
index b02989457..fb900a993 100644
--- a/services/api/app/models/container.rb
+++ b/services/api/app/models/container.rb
@@ -19,6 +19,10 @@ class Container < ArvadosModel
 
   # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
   # already know how to properly treat them.
+  attribute :secret_mounts, :jsonbHash, default: {}
+  attribute :runtime_status, :jsonbHash, default: {}
+  attribute :runtime_auth_scopes, :jsonbHash, default: {}
+
   serialize :environment, Hash
   serialize :mounts, Hash
   serialize :runtime_constraints, Hash
diff --git a/services/api/app/models/container_request.rb b/services/api/app/models/container_request.rb
index 80e1bf3ff..292decafb 100644
--- a/services/api/app/models/container_request.rb
+++ b/services/api/app/models/container_request.rb
@@ -21,6 +21,9 @@ class ContainerRequest < ArvadosModel
 
   # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
   # already know how to properly treat them.
+  attribute :properties, :jsonbHash, default: {}
+  attribute :secret_mounts, :jsonbHash, default: {}
+
   serialize :environment, Hash
   serialize :mounts, Hash
   serialize :runtime_constraints, Hash
diff --git a/services/api/app/models/group.rb b/services/api/app/models/group.rb
index b63d0ae2a..7fb8fef42 100644
--- a/services/api/app/models/group.rb
+++ b/services/api/app/models/group.rb
@@ -14,6 +14,7 @@ class Group < ArvadosModel
 
   # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
   # already know how to properly treat them.
+  attribute :properties, :jsonbHash, default: {}
 
   after_create :invalidate_permissions_cache
   after_update :maybe_invalidate_permissions_cache
@@ -50,5 +51,4 @@ class Group < ArvadosModel
     end
     true
   end
-
 end
diff --git a/services/api/app/models/jsonb_type.rb b/services/api/app/models/jsonb_type.rb
new file mode 100644
index 000000000..2011dcec8
--- /dev/null
+++ b/services/api/app/models/jsonb_type.rb
@@ -0,0 +1,38 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+class JsonbType
+  # Emulate pre-rails5.0 behavior by having a interpreting NULL/nil as
+  # some other default value.
+  class WithDefault < ActiveModel::Type::Value
+    include ActiveModel::Type::Helpers::Mutable
+    @@default_value = nil
+
+    def deserialize(value)
+      if value.nil?
+        @@default_value
+      elsif value.is_a?(::String)
+        SafeJSON.load(value) rescue @@default_value
+      else
+        value
+      end
+    end
+
+    def serialize(value)
+      if value.nil?
+        @@default_value
+      else
+        SafeJSON.dump(value)
+      end
+    end
+  end
+
+  class Hash < JsonbType::WithDefault
+    @@default_value = {}
+  end
+
+  class Array < JsonbType::WithDefault
+    @@default_value = []
+  end
+end
\ No newline at end of file
diff --git a/services/api/app/models/link.rb b/services/api/app/models/link.rb
index a95feb83c..ad7800fe6 100644
--- a/services/api/app/models/link.rb
+++ b/services/api/app/models/link.rb
@@ -9,6 +9,7 @@ class Link < ArvadosModel
 
   # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
   # already know how to properly treat them.
+  attribute :properties, :jsonbHash, default: {}
 
   before_create :permission_to_attach_to_objects
   before_update :permission_to_attach_to_objects
@@ -101,5 +102,4 @@ class Link < ArvadosModel
       super
     end
   end
-
 end
diff --git a/services/api/app/models/node.rb b/services/api/app/models/node.rb
index ecafcdd21..148dffc23 100644
--- a/services/api/app/models/node.rb
+++ b/services/api/app/models/node.rb
@@ -11,8 +11,9 @@ class Node < ArvadosModel
 
   # Posgresql JSONB columns should NOT be declared as serialized, Rails 5
   # already know how to properly treat them.
+  attribute :properties, :jsonbHash, default: {}
+  attribute :info, :jsonbHash, default: {}
 
-  before_validation :fill_field_defaults
   before_validation :ensure_ping_secret
   after_update :dns_server_update
 
@@ -141,11 +142,6 @@ class Node < ArvadosModel
 
   protected
 
-  def fill_field_defaults
-    self.info ||= {}
-    self.properties ||= {}
-  end
-
   def assign_hostname
     if self.hostname.nil? and Rails.configuration.assign_node_hostname
       self.hostname = self.class.hostname_for_slot(self.slot_number)
diff --git a/services/api/config/initializers/custom_types.rb b/services/api/config/initializers/custom_types.rb
new file mode 100644
index 000000000..aecd4cfd4
--- /dev/null
+++ b/services/api/config/initializers/custom_types.rb
@@ -0,0 +1,8 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
+# JSONB backed Hash & Array types that default to their empty versions when
+# reading NULL from the database, or get nil passed by parameter.
+ActiveRecord::Type.register(:jsonbHash, JsonbType::Hash)
+ActiveRecord::Type.register(:jsonbArray, JsonbType::Array)

commit 4eaad199ac21e552eee2a049d33a3c076d8bed60
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date:   Tue Apr 2 18:30:11 2019 -0300

    14873: Fixes nested params behavior on controller tests.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>

diff --git a/services/api/app/controllers/arvados/v1/users_controller.rb b/services/api/app/controllers/arvados/v1/users_controller.rb
index f7590b464..18b6b46d2 100644
--- a/services/api/app/controllers/arvados/v1/users_controller.rb
+++ b/services/api/app/controllers/arvados/v1/users_controller.rb
@@ -73,7 +73,7 @@ class Arvados::V1::UsersController < ApplicationController
       if !@object
         return render_404_if_no_object
       end
-    elsif !params[:user]
+    elsif !params[:user] || params[:user].empty?
       raise ArgumentError.new "Required uuid or user"
     elsif !params[:user]['email']
       raise ArgumentError.new "Require user email"
diff --git a/services/api/lib/load_param.rb b/services/api/lib/load_param.rb
index a08b8b78a..736f270e9 100644
--- a/services/api/lib/load_param.rb
+++ b/services/api/lib/load_param.rb
@@ -151,7 +151,7 @@ module LoadParam
     when String
       begin
         @select = SafeJSON.load(params[:select])
-        raise unless @select.is_a? Array or @select.nil?
+        raise unless @select.is_a? Array or @select.nil? or !@select
       rescue
         raise ArgumentError.new("Could not parse \"select\" param as an array")
       end
diff --git a/services/api/test/test_helper.rb b/services/api/test/test_helper.rb
index 710fb2bc4..939242cf8 100644
--- a/services/api/test/test_helper.rb
+++ b/services/api/test/test_helper.rb
@@ -152,8 +152,6 @@ end
 class ActionController::TestCase
   setup do
     @test_counter = 0
-    # Trying this:
-    # https://stackoverflow.com/questions/44119273/rails-5-1-minitest-flattens-array-of-arrays-in-params
     self.request.headers['Accept'] = 'application/json'
     self.request.headers['Content-Type'] = 'application/json'
   end
@@ -168,6 +166,18 @@ class ActionController::TestCase
   [:get, :post, :put, :patch, :delete].each do |method|
     define_method method do |action, *args|
       check_counter action
+      # After Rails 5.0 upgrade, some params don't get properly serialized.
+      # One case are filters: [['attr', 'op', 'val']] become [['attr'], ['op'], ['val']]
+      # if not passed upstream as a JSON string.
+      if args[0].is_a?(Hash) && args[0][:params].is_a?(Hash)
+        args[0][:params].each do |key, _|
+          next if key == :exclude_script_versions # Job Reuse tests
+          # Keys could be: :filters, :where, etc
+          if [Array, Hash].include?(args[0][:params][key].class)
+            args[0][:params][key] = SafeJSON.dump(args[0][:params][key])
+          end
+        end
+      end
       super action, *args
     end
   end

commit eefc23215940fc40ec7eff4c6e7c52d6b263efee
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date:   Tue Apr 2 15:37:07 2019 -0300

    14873: Updates test for fix deprecation warning.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>

diff --git a/services/api/test/performance/permission_test.rb b/services/api/test/performance/permission_test.rb
index e4a3b0a41..e5c829787 100644
--- a/services/api/test/performance/permission_test.rb
+++ b/services/api/test/performance/permission_test.rb
@@ -47,7 +47,8 @@ class PermissionPerfTest < ActionDispatch::IntegrationTest
     puts "Time spent getting group index:"
     (0..4).each do
       puts(Benchmark.measure do
-             get '/arvados/v1/groups', {format: :json, limit: 1000}, auth(:permission_perftest)
+             get '/arvados/v1/groups', params: {format: :json, limit: 1000}, headers: auth(:permission_perftest)
+             byebug
              assert json_response['items_available'] >= n
            end)
     end

commit 39607cc8eaa09bc1247fccbcd7ec13635db1a1ef
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date:   Tue Apr 2 13:23:44 2019 -0300

    14873: Reverts previous fixture changes.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>

diff --git a/services/api/test/fixtures/collections.yml b/services/api/test/fixtures/collections.yml
index f539eea58..8763f3944 100644
--- a/services/api/test/fixtures/collections.yml
+++ b/services/api/test/fixtures/collections.yml
@@ -14,7 +14,6 @@ user_agreement:
   updated_at: 2013-12-26T19:22:54Z
   manifest_text: ". 6a4ff0499484c6c79c95cd8c566bd25f+249025 0:249025:GNU_General_Public_License,_version_3.pdf\n"
   name: user_agreement
-  properties: {}
 
 collection_owned_by_active:
   uuid: zzzzz-4zz18-bv31uwvy3neko21
@@ -29,7 +28,6 @@ collection_owned_by_active:
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: owned_by_active
   version: 2
-  properties: {}
 
 collection_owned_by_active_past_version_1:
   uuid: zzzzz-4zz18-znfnqtbbv4spast
@@ -44,7 +42,6 @@ collection_owned_by_active_past_version_1:
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: owned_by_active_version_1
   version: 1
-  properties: {}
 
 foo_file:
   uuid: zzzzz-4zz18-znfnqtbbv4spc3w
@@ -58,7 +55,6 @@ foo_file:
   updated_at: 2015-02-03T17:22:54Z
   manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n"
   name: foo_file
-  properties: {}
 
 bar_file:
   uuid: zzzzz-4zz18-ehbhgtheo8909or
@@ -72,7 +68,6 @@ bar_file:
   updated_at: 2015-02-03T17:22:54Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: bar_file
-  properties: {}
 
 baz_file:
   uuid: zzzzz-4zz18-y9vne9npefyxh8g
@@ -86,7 +81,6 @@ baz_file:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: baz_file
-  properties: {}
 
 w_a_z_file:
   uuid: zzzzz-4zz18-25k12570yk134b3
@@ -101,7 +95,6 @@ w_a_z_file:
   manifest_text: ". 4c6c2c0ac8aa0696edd7316a3be5ca3c+5 0:5:w\\040\\141\\040z\n"
   name: "\"w a z\" file"
   version: 2
-  properties: {}
 
 w_a_z_file_version_1:
   uuid: zzzzz-4zz18-25k12570yk1ver1
@@ -116,7 +109,6 @@ w_a_z_file_version_1:
   manifest_text: ". 4d20280d5e516a0109768d49ab0f3318+3 0:3:waz\n"
   name: "waz file"
   version: 1
-  properties: {}
 
 multilevel_collection_1:
   uuid: zzzzz-4zz18-pyw8yp9g3pr7irn
@@ -130,7 +122,6 @@ multilevel_collection_1:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3\n./dir1 d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3\n./dir1/subdir d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3\n./dir2 d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3\n"
   name: multilevel_collection_1
-  properties: {}
 
 multilevel_collection_2:
   uuid: zzzzz-4zz18-45xf9hw1sxkhl6q
@@ -145,7 +136,6 @@ multilevel_collection_2:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: "./dir1/sub1 d41d8cd98f00b204e9800998ecf8427e+0 0:0:a 0:0:b\n./dir2/sub2 d41d8cd98f00b204e9800998ecf8427e+0 0:0:c 0:0:d\n"
   name: multilevel_collection_2
-  properties: {}
 
 docker_image:
   uuid: zzzzz-4zz18-1v45jub259sjjgb
@@ -160,7 +150,6 @@ docker_image:
   updated_at: 2014-06-11T17:22:54Z
   manifest_text: ". d21353cfe035e3e384563ee55eadbb2f+67108864 5c77a43e329b9838cbec18ff42790e57+55605760 0:122714624:d8309758b8fe2c81034ffc8a10c36460b77db7bc5e7b448c4e5b684f9d95a678.tar\n"
   name: docker_image
-  properties: {}
 
 # tagged docker image with sha256:{hash}.tar filename
 docker_image_1_12:
@@ -175,7 +164,6 @@ docker_image_1_12:
   updated_at: 2016-10-19 08:50:45.652930000 Z
   manifest_text: ". d21353cfe035e3e384563ee55eadbb2f+67108864 5c77a43e329b9838cbec18ff42790e57+55605760 0:122714624:sha256:d8309758b8fe2c81034ffc8a10c36460b77db7bc5e7b448c4e5b684f9d95a678.tar\n"
   name: docker_image_1_12
-  properties: {}
 
 unlinked_docker_image:
   uuid: zzzzz-4zz18-d0d8z5wofvfgwad
@@ -191,7 +179,6 @@ unlinked_docker_image:
   updated_at: 2014-06-11T17:22:54Z
   manifest_text: ". fca529cfe035e3e384563ee55eadbb2f+67108863 0:67108863:bcd02158b8fe2c81034ffc8a10c36460b77db7bc5e7b448c4e5b684f9d95a678.tar\n"
   name: unlinked_docker_image
-  properties: {}
 
 empty:
   uuid: zzzzz-4zz18-gs9ooj1h9sd5mde
@@ -206,7 +193,6 @@ empty:
   updated_at: 2014-06-11T17:22:54Z
   manifest_text: ""
   name: empty_collection
-  properties: {}
 
 foo_collection_in_aproject:
   uuid: zzzzz-4zz18-fy296fx3hot09f7
@@ -218,7 +204,6 @@ foo_collection_in_aproject:
   updated_at: 2014-04-21 15:37:48 -0400
   manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n"
   name: "zzzzz-4zz18-fy296fx3hot09f7 added sometime"
-  properties: {}
 
 user_agreement_in_anonymously_accessible_project:
   uuid: zzzzz-4zz18-uukreo9rbgwsujr
@@ -230,7 +215,6 @@ user_agreement_in_anonymously_accessible_project:
   updated_at: 2014-06-13 20:42:26 -0800
   manifest_text: ". 6a4ff0499484c6c79c95cd8c566bd25f+249025 0:249025:GNU_General_Public_License,_version_3.pdf\n"
   name: GNU General Public License, version 3
-  properties: {}
 
 public_text_file:
   uuid: zzzzz-4zz18-4en62shvi99lxd4
@@ -242,7 +226,6 @@ public_text_file:
   updated_at: 2015-02-12 16:58:03 -0500
   manifest_text: ". f0ef7081e1539ac00ef5b761b4fb01b3+12 0:12:Hello\\040world.txt\n"
   name: Hello world
-  properties: {}
 
 baz_collection_name_in_asubproject:
   uuid: zzzzz-4zz18-lsitwcf548ui4oe
@@ -254,7 +237,6 @@ baz_collection_name_in_asubproject:
   updated_at: 2014-04-21 15:37:48 -0400
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: "zzzzz-4zz18-lsitwcf548ui4oe added sometime"
-  properties: {}
 
 empty_collection_name_in_active_user_home_project:
   uuid: zzzzz-4zz18-5qa38qghh1j3nvv
@@ -265,7 +247,6 @@ empty_collection_name_in_active_user_home_project:
   modified_at: 2014-08-06 22:11:51.242150425 Z
   manifest_text: ""
   name: Empty collection
-  properties: {}
 
 baz_file_in_asubproject:
   uuid: zzzzz-4zz18-0mri2x4u7ftngez
@@ -279,7 +260,6 @@ baz_file_in_asubproject:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: baz_file
-  properties: {}
 
 collection_to_move_around_in_aproject:
   uuid: zzzzz-4zz18-0mri2x4u7ft1234
@@ -293,7 +273,6 @@ collection_to_move_around_in_aproject:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: collection_to_move_around
-  properties: {}
 
 # Note: collections(:expired_collection) fixture finder won't work
 # because it is not in default scope
@@ -313,7 +292,6 @@ expired_collection:
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:expired\n"
   name: expired_collection
   version: 2
-  properties: {}
 
 expired_collection_past_version:
   uuid: zzzzz-4zz18-mto52zx1s7oldie
@@ -331,7 +309,6 @@ expired_collection_past_version:
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:expired\n"
   name: expired_collection original
   version: 1
-  properties: {}
 
 trashed_on_next_sweep:
   uuid: zzzzz-4zz18-4guozfh77ewd2f0
@@ -348,7 +325,6 @@ trashed_on_next_sweep:
   delete_at: 2112-01-01T00:00:00Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:expired\n"
   name: trashed_on_next_sweep
-  properties: {}
 
 # Note: collections(:deleted_on_next_sweep) fixture finder won't work
 # because it is not in default scope
@@ -367,7 +343,6 @@ deleted_on_next_sweep:
   delete_at: 2016-12-27T22:01:30.234567Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:expired\n"
   name: deleted_on_next_sweep
-  properties: {}
 
 collection_expires_in_future:
   uuid: zzzzz-4zz18-padkqo7yb8d9i3j
@@ -383,7 +358,6 @@ collection_expires_in_future:
   delete_at: 2038-03-01T00:00:00Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:expired\n"
   name: collection_expires_in_future
-  properties: {}
 
 unique_expired_collection:
   uuid: zzzzz-4zz18-mto52zx1s7sn3jk
@@ -400,7 +374,6 @@ unique_expired_collection:
   delete_at: 2038-01-01T00:00:00Z
   manifest_text: ". 29d7797f1888013986899bc9083783fa+3 0:3:expired\n"
   name: unique_expired_collection1
-  properties: {}
 
 unique_expired_collection2:
   uuid: zzzzz-4zz18-mto52zx1s7sn3jr
@@ -417,7 +390,6 @@ unique_expired_collection2:
   delete_at: 2038-01-01T00:00:00Z
   manifest_text: ". 29d7797f1888013986899bc9083783fa+3 0:3:expired\n"
   name: unique_expired_collection2
-  properties: {}
 
 # a collection with a log file that can be parsed by the log viewer
 # This collection hash matches the following log text:
@@ -434,7 +406,6 @@ real_log_collection:
   portable_data_hash: 0b9a7787660e1fce4a93f33e01376ba6+81
   manifest_text: ". cdd549ae79fe6640fa3d5c6261d8303c+195 0:195:zzzzz-8i9sb-0vsrcqi7whchuil.log.txt\n"
   name: real_log_collection
-  properties: {}
 
 collection_in_home_project_with_same_name_as_in_aproject:
   uuid: zzzzz-4zz18-12342x4u7ftabcd
@@ -448,7 +419,6 @@ collection_in_home_project_with_same_name_as_in_aproject:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: collection_with_same_name_in_aproject_and_home_project
-  properties: {}
 
 collection_in_aproject_with_same_name_as_in_home_project:
   uuid: zzzzz-4zz18-56782x4u7ftefgh
@@ -462,7 +432,6 @@ collection_in_aproject_with_same_name_as_in_home_project:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: collection_with_same_name_in_aproject_and_home_project
-  properties: {}
 
 collection_owned_by_foo:
   uuid: zzzzz-4zz18-50surkhkbhsp31b
@@ -473,7 +442,6 @@ collection_owned_by_foo:
   created_at: 2014-02-03T17:22:54Z
   modified_at: 2014-02-03T17:22:54Z
   name: collection_owned_by_foo
-  properties: {}
 
 collection_to_remove_from_subproject:
   # The Workbench tests remove this from subproject.
@@ -485,7 +453,6 @@ collection_to_remove_from_subproject:
   created_at: 2014-10-15T10:45:00
   modified_at: 2014-10-15T10:45:00
   name: Collection to remove from subproject
-  properties: {}
 
 collection_with_files_in_subdir:
   uuid: zzzzz-4zz18-filesinsubdir00
@@ -499,7 +466,6 @@ collection_with_files_in_subdir:
   modified_at: 2014-02-03T17:22:54Z
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 85877ca2d7e05498dd3d109baf2df106+95 0:95:file_in_subdir1\n./subdir2/subdir3 2bbc341c702df4d8f42ec31f16c10120+64 0:32:file1_in_subdir3.txt 32:32:file2_in_subdir3.txt\n./subdir2/subdir3/subdir4 2bbc341c702df4d8f42ec31f16c10120+64 0:32:file1_in_subdir4.txt 32:32:file2_in_subdir4.txt"
-  properties: {}
 
 graph_test_collection1:
   uuid: zzzzz-4zz18-bv31uwvy3neko22
@@ -510,7 +476,6 @@ graph_test_collection1:
   name: bar_file
   created_at: 2014-02-03T17:22:54Z
   modified_at: 2014-02-03T17:22:54Z
-  properties: {}
 
 graph_test_collection2:
   uuid: zzzzz-4zz18-uukreo9rbgwsujx
@@ -521,7 +486,6 @@ graph_test_collection2:
   name: "FOO General Public License, version 3"
   created_at: 2014-02-03T17:22:54Z
   modified_at: 2014-02-03T17:22:54Z
-  properties: {}
 
 graph_test_collection3:
   uuid: zzzzz-4zz18-uukreo9rbgwsujj
@@ -532,7 +496,6 @@ graph_test_collection3:
   name: "baz file"
   created_at: 2014-02-03T17:22:54Z
   modified_at: 2014-02-03T17:22:54Z
-  properties: {}
 
 collection_1_owned_by_fuse:
   uuid: zzzzz-4zz18-ovx05bfzormx3bg
@@ -546,7 +509,6 @@ collection_1_owned_by_fuse:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: "collection #1 owned by FUSE"
-  properties: {}
 
 collection_2_owned_by_fuse:
   uuid: zzzzz-4zz18-8ubpy4w74twtwzr
@@ -560,7 +522,6 @@ collection_2_owned_by_fuse:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n"
   name: "collection #2 owned by FUSE"
-  properties: {}
 
 collection_in_fuse_project:
   uuid: zzzzz-4zz18-vx4mtkjqfrb534f
@@ -574,7 +535,6 @@ collection_in_fuse_project:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 73feffa4b7f6bb68e44cf984c85f6e88+3 0:3:baz\n"
   name: "collection in FUSE project"
-  properties: {}
 
 collection_with_no_name_in_aproject:
   uuid: zzzzz-4zz18-00000nonamecoll
@@ -585,7 +545,6 @@ collection_with_no_name_in_aproject:
   modified_at: 2014-04-21 15:37:48 -0400
   updated_at: 2014-04-21 15:37:48 -0400
   manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n"
-  properties: {}
 
 collection_to_search_for_in_aproject:
   uuid: zzzzz-4zz18-abcd6fx123409f7
@@ -597,7 +556,6 @@ collection_to_search_for_in_aproject:
   updated_at: 2014-04-21 15:37:48 -0400
   manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n"
   name: "zzzzz-4zz18-abcd6fx123409f7 used to search with any"
-  properties: {}
 
 upload_sandbox:
   uuid: zzzzz-4zz18-js48y3ykkfdfjd3
@@ -610,7 +568,6 @@ upload_sandbox:
   updated_at: 2014-12-09 15:03:16
   manifest_text: ''
   name: upload sandbox
-  properties: {}
 
 collection_with_unique_words_to_test_full_text_search:
   uuid: zzzzz-4zz18-mnt690klmb51aud
@@ -625,7 +582,6 @@ collection_with_unique_words_to_test_full_text_search:
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: collection_with_some_unique_words
   description: The quick_brown_fox jumps over the lazy_dog
-  properties: {}
 
 replication_undesired_unconfirmed:
   uuid: zzzzz-4zz18-wjxq7uzx2m9jj4a
@@ -641,7 +597,6 @@ replication_undesired_unconfirmed:
   updated_at: 2015-02-07 00:19:28.596236608 Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: replication want=null have=null
-  properties: {}
 
 replication_desired_2_unconfirmed:
   uuid: zzzzz-4zz18-3t236wrz4769h7x
@@ -657,7 +612,6 @@ replication_desired_2_unconfirmed:
   updated_at: 2015-02-07 00:21:35.050126576 Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: replication want=2 have=null
-  properties: {}
 
 replication_desired_2_confirmed_2:
   uuid: zzzzz-4zz18-434zv1tnnf2rygp
@@ -673,7 +627,6 @@ replication_desired_2_confirmed_2:
   updated_at: 2015-02-07 00:24:52.983381227 Z
   manifest_text: ". acbd18db4cc2f85cedef654fccc4a4d8+3 37b51d194a7513e45b56f6524f2d51f2+3 0:3:foo 3:3:bar\n"
   name: replication want=2 have=2
-  properties: {}
 
 storage_classes_desired_default_unconfirmed:
   uuid: zzzzz-4zz18-3t236wrz4769tga
@@ -689,7 +642,6 @@ storage_classes_desired_default_unconfirmed:
   updated_at: 2015-02-07 00:21:35.050126576 Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: storage classes want=[default] have=[]
-  properties: {}
 
 storage_classes_desired_default_confirmed_default:
   uuid: zzzzz-4zz18-3t236wr12769tga
@@ -705,7 +657,6 @@ storage_classes_desired_default_confirmed_default:
   updated_at: 2015-02-07 00:21:35.050126576 Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: storage classes want=[default] have=[default]
-  properties: {}
 
 storage_classes_desired_archive_confirmed_default:
   uuid: zzzzz-4zz18-3t236wr12769qqa
@@ -721,7 +672,6 @@ storage_classes_desired_archive_confirmed_default:
   updated_at: 2015-02-07 00:21:35.050126576 Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: storage classes want=[archive] have=[default]
-  properties: {}
 
 collection_with_empty_properties:
   uuid: zzzzz-4zz18-emptyproperties
@@ -778,7 +728,6 @@ collection_with_repeated_filenames_and_contents_in_two_dirs_2:
   updated_at: 2014-02-03T17:22:54Z
   name: collection_with_repeated_filenames_and_contents_in_two_dirs_2
   manifest_text: "./dir1 92b53930db60fe94be2a73fc771ba921+34 0:12:alice 12:12:alice.txt 24:10:carol.txt\n./dir2 56ac2557b1ded11ccab7293dc47d1e88+44 0:27:alice.txt\n"
-  properties: {}
 
 foo_and_bar_files_in_dir:
   uuid: zzzzz-4zz18-foonbarfilesdir
@@ -792,7 +741,6 @@ foo_and_bar_files_in_dir:
   updated_at: 2014-02-03T17:22:54Z
   name: foo_file_in_dir
   manifest_text: "./dir1 3858f62230ac3c915f300c664312c63f+6 3:3:bar 0:3:foo\n"
-  properties: {}
 
 multi_level_to_combine:
   uuid: zzzzz-4zz18-pyw8yp9g3ujh45f
@@ -806,7 +754,6 @@ multi_level_to_combine:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 85877ca2d7e05498dd3d109baf2df106+95 0:0:file1 0:0:file2 0:0:file3\n./dir1 85877ca2d7e05498dd3d109baf2df106+95 0:0:file1 0:0:file2 0:0:file3\n./dir1/subdir 85877ca2d7e05498dd3d109baf2df106+95 0:0:file1 0:0:file2 0:0:file3\n./dir2 85877ca2d7e05498dd3d109baf2df106+95 0:0:file1 0:0:file2 0:0:file3\n"
   name: multi_level_to_combine
-  properties: {}
 
 # collection with several file types to test view icon enabled state in collection show page
 collection_with_several_supported_file_types:
@@ -821,7 +768,6 @@ collection_with_several_supported_file_types:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:file.csv 0:0:file.fa 0:0:file.fasta 0:0:file.gif 0:0:file.json 0:0:file.md 0:0:file.pdf 0:0:file.py 0:0:file.R 0:0:file.sam 0:0:file.sh 0:0:file.tiff 0:0:file.tsv 0:0:file.txt 0:0:file.vcf 0:0:file.xml 0:0:file.xsl 0:0:file.yml\n"
   name: collection_with_several_supported_file_types
-  properties: {}
 
 collection_with_several_unsupported_file_types:
   uuid: zzzzz-4zz18-supportedtypes2
@@ -835,7 +781,6 @@ collection_with_several_unsupported_file_types:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:file 0:0:file.bam\n"
   name: collection_with_several_unsupported_file_types
-  properties: {}
 
 collection_not_readable_by_active:
   uuid: zzzzz-4zz18-cd42uwvy3neko21
@@ -849,7 +794,6 @@ collection_not_readable_by_active:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n"
   name: collection_not_readable_by_active
-  properties: {}
 
 collection_to_remove_and_rename_files:
   uuid: zzzzz-4zz18-a21ux3541sxa8sf
@@ -863,7 +807,6 @@ collection_to_remove_and_rename_files:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2\n"
   name: collection to remove and rename files
-  properties: {}
 
 collection_with_tags_owned_by_active:
   uuid: zzzzz-4zz18-taggedcolletion
@@ -896,7 +839,6 @@ trashed_collection_to_test_name_conflict_on_untrash:
   is_trashed: true
   trash_at: 2001-01-01T00:00:00Z
   delete_at: 2038-01-01T00:00:00Z
-  properties: {}
 
 same_name_as_trashed_coll_to_test_name_conflict_on_untrash:
   uuid: zzzzz-4zz18-namesameastrash
@@ -910,7 +852,6 @@ same_name_as_trashed_coll_to_test_name_conflict_on_untrash:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2\n"
   name: same name for trashed and persisted collections
-  properties: {}
 
 collection_in_trashed_subproject:
   uuid: zzzzz-4zz18-trashedproj2col
@@ -924,7 +865,6 @@ collection_in_trashed_subproject:
   updated_at: 2014-02-03T17:22:54Z
   manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2\n"
   name: collection in trashed subproject
-  properties: {}
 
 collection_with_prop1_value1:
   uuid: zzzzz-4zz18-withprop1value1
@@ -1046,7 +986,6 @@ collection_<%=i%>_of_10:
   owner_uuid: zzzzz-j7d0g-0010collections
   created_at: <%= i.minute.ago.to_s(:db) %>
   modified_at: <%= i.minute.ago.to_s(:db) %>
-  properties: {}
 <% end %>
 
 # collections in project_with_201_collections
@@ -1060,7 +999,6 @@ collection_<%=i%>_of_201:
   owner_uuid: zzzzz-j7d0g-0201collections
   created_at: <%= i.minute.ago.to_s(:db) %>
   modified_at: <%= i.minute.ago.to_s(:db) %>
-  properties: {}
 <% end %>
 
 # Do not add your fixtures below this line as the rest of this file will be trimmed by test_helper

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list