X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6c92a0d8acd0a5525bbe566a3e202b93d498b370..6189e6d37b6f05bee599fb54cfb9e29f81665d75:/services/api/test/unit/arvados_model_test.rb diff --git a/services/api/test/unit/arvados_model_test.rb b/services/api/test/unit/arvados_model_test.rb index a0c132759a..85d07a5746 100644 --- a/services/api/test/unit/arvados_model_test.rb +++ b/services/api/test/unit/arvados_model_test.rb @@ -32,6 +32,13 @@ class ArvadosModelTest < ActiveSupport::TestCase end [ {:a => 'foo'}, + {'a' => :foo}, + {:a => ['foo', 'bar']}, + {'a' => [:foo, 'bar']}, + {'a' => ['foo', :bar]}, + {:a => [:foo, :bar]}, + {:a => {'foo' => {'bar' => 'baz'}}}, + {'a' => {:foo => {'bar' => 'baz'}}}, {'a' => {'foo' => {:bar => 'baz'}}}, {'a' => {'foo' => {'bar' => :baz}}}, {'a' => {'foo' => ['bar', :baz]}}, @@ -51,11 +58,21 @@ class ArvadosModelTest < ActiveSupport::TestCase end test "Stringify symbols coming from serialized attribute in database" do + set_user_from_auth :admin_trustedclient fixed = Link.find_by_uuid(links(:has_symbol_keys_in_database_somehow).uuid) assert_equal(["baz", "foo"], fixed.properties.keys.sort, "Hash symbol keys from DB did not get stringified.") assert_equal(['waz', 'waz', 'waz', 1, nil, false, true], fixed.properties['baz'], "Array symbol values from DB did not get stringified.") + assert_equal true, fixed.save, "Failed to save fixed model back to db." + end + + test "No HashWithIndifferentAccess in database" do + set_user_from_auth :admin_trustedclient + assert_raises ActiveRecord::RecordInvalid do + Link.create!(link_class: 'test', + properties: {'foo' => 'bar'}.with_indifferent_access) + end end end