20284: username updates from login cluster always take precidence
[arvados.git] / services / api / test / functional / arvados / v1 / users_controller_test.rb
index 8bffac8dd1e1aabc4ead73afcfc577ffdd3c98dd..fd1674a05af6286c417913dca3451b2a695c27d5 100644 (file)
@@ -1043,12 +1043,16 @@ The Arvados team.
     existinguuid = 'remot-tpzed-foobarbazwazqux'
     newuuid = 'remot-tpzed-newnarnazwazqux'
     unchanginguuid = 'remot-tpzed-nochangingattrs'
+    conflictinguuid1 = 'remot-tpzed-conflictingname'
+    conflictinguuid2 = 'remot-tpzed-conflictingname'
     act_as_system_user do
       User.create!(uuid: existinguuid, email: 'root@existing.example.com')
       User.create!(uuid: unchanginguuid, email: 'root@unchanging.example.com', prefs: {'foo' => {'bar' => 'baz'}})
     end
     assert_equal(1, Log.where(object_uuid: unchanginguuid).count)
 
+    Rails.configuration.Login.LoginCluster = 'remot'
+
     authorize_with(:admin)
     patch(:batch_update,
           params: {
@@ -1069,6 +1073,14 @@ The Arvados team.
                 'email' => 'root@unchanging.example.com',
                 'prefs' => {'foo' => {'bar' => 'baz'}},
               },
+              conflictinguuid1 => {
+                'email' => 'root@conflictingname1.example.com',
+                'username' => 'active'
+              },
+              conflictinguuid1 => {
+                'email' => 'root@conflictingname2.example.com',
+                'username' => 'federatedactive'
+              },
             }})
     assert_response(:success)