Browse Source

Fixes #5101 - Fetching LdapSource for unknown users fails.

Florian Liebe 10 months ago
parent
commit
c5266fae1b

+ 1 - 0
app/models/ldap_source.rb

@@ -10,6 +10,7 @@ class LdapSource < ApplicationModel
   store :preferences
 
   def self.by_user(user)
+    return if user.blank? || user.source.blank?
     return if !%r{^Ldap::(\d+)$}.match?(user.source)
 
     LdapSource.find(user.source.split('::')[1])

+ 12 - 0
spec/lib/sequencer/unit/import/common/user/skip/is_ldap_source_spec.rb

@@ -46,5 +46,17 @@ RSpec.describe Sequencer::Unit::Import::Common::User::Skip::IsLdapSource, sequen
         expect(result).not_to include(action: :skipped)
       end
     end
+
+    context 'when user is empty' do
+      let(:user) { nil }
+
+      it 'does not skip' do
+        result = process({
+                           instance: user,
+                         })
+
+        expect(result).not_to include(action: :skipped)
+      end
+    end
   end
 end