Description: Fix list_users provider
Author: Thomas Goirand <zigo@debian.org>
Forwarded: no
Last-Update: 2025-05-29

Index: puppet-module-puppetlabs-rabbitmq/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
===================================================================
--- puppet-module-puppetlabs-rabbitmq.orig/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
+++ puppet-module-puppetlabs-rabbitmq/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
@@ -15,15 +15,19 @@ Puppet::Type.type(:rabbitmq_user).provid
       rabbitmqctl_list('users')
     end
 
-    user_list.split(%r{\n}).map do |line|
-      raise Puppet::Error, "Cannot parse invalid user line: #{line}" unless line =~ %r{^(\S+)\s+\[(.*?)\]$}
-      user = Regexp.last_match(1)
-      tags = Regexp.last_match(2).split(%r{,\s*})
-      new(
-        ensure: :present,
-        name: user,
-        tags: tags
-      )
+    if user_list.split(%r{\n}).size > 0
+      user_list.split(%r{\n})[1..-1].map do |line|
+        raise Puppet::Error, "Cannot parse invalid user line: #{line}" unless line =~ %r{^(\S+)\s+\[(.*?)\]$}
+        user = Regexp.last_match(1)
+        tags = Regexp.last_match(2).split(%r{,\s*})
+        new(
+          ensure: :present,
+          name: user,
+          tags: tags
+        )
+      end
+    else
+      user_list = []
     end
   end
 
