From fda97813e23aa92764b99331a982ec8ff0d247f7 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Wed, 27 Mar 2024 19:06:10 -0400 Subject: [PATCH] Reuse --silent and --quiet in #10865 --- .../cli/plugins/commands/list_command.ex | 5 +- .../plugins/list_plugins_command_test.exs | 52 ++++++++++++++++++- deps/rabbitmq_mqtt/BUILD.bazel | 2 +- 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex index a148bf94a73e..08681a8efc62 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex @@ -62,7 +62,10 @@ defmodule RabbitMQ.CLI.Plugins.Commands.ListCommand do false -> names = Enum.join(Enum.to_list(missing), ", ") - IO.puts("WARNING - plugins currently enabled but missing: #{names}\n") + if Config.output_less?(opts) do + true -> ok + false -> IO.puts("WARNING - plugins currently enabled but missing: #{names}\n") + end end implicit = :rabbit_plugins.dependencies(false, enabled, all) diff --git a/deps/rabbitmq_cli/test/plugins/list_plugins_command_test.exs b/deps/rabbitmq_cli/test/plugins/list_plugins_command_test.exs index 6124b299848e..4c40bd079c76 100644 --- a/deps/rabbitmq_cli/test/plugins/list_plugins_command_test.exs +++ b/deps/rabbitmq_cli/test/plugins/list_plugins_command_test.exs @@ -38,7 +38,7 @@ defmodule ListPluginsCommandTest do {:ok, [enabled_plugins]} = :file.consult(plugins_file) IO.puts( - "plugins list tests will assume tnat #{Enum.join(enabled_plugins, ",")} is the list of enabled plugins to revert to" + "plugins list tests will assume that #{Enum.join(enabled_plugins, ",")} is the list of enabled plugins to revert to" ) opts = %{ @@ -444,4 +444,54 @@ defmodule ListPluginsCommandTest do assert_plugin_states(actual_plugins2, expected_plugins2) end + + test "run: lists all plugins with missing plugins warning control", context do + opts = Map.replace(context[:opts], :silent, true) + context = Map.replace(context, :opts, opts) + + missing_plugin = :rabbitmq_non_existent + + reset_enabled_plugins_to_preconfigured_defaults(context) + + set_enabled_plugins( + [:rabbitmq_federation, missing_plugin], + :online, + context[:opts][:node], + context[:opts] + ) + + on_exit(fn -> + set_enabled_plugins( + [:rabbitmq_stomp, :rabbitmq_federation], + :online, + context[:opts][:node], + context[:opts] + ) + end) + + expected_plugins = [ + %{name: :rabbitmq_federation, enabled: :enabled, running: true}, + %{name: :rabbitmq_stomp, enabled: :not_enabled, running: false} + ] + + opts = context[:opts] + + assert capture_io(fn -> + %{ + plugins: actual_plugins + } = @command.run([".*"], opts) + + assert_plugin_states(actual_plugins, expected_plugins) + end) =~ ~s// + + opts = Map.replace(opts, :ignore_warnings, false) + + assert capture_io(fn -> + %{ + plugins: actual_plugins + } = @command.run([".*"], opts) + + assert_plugin_states(actual_plugins, expected_plugins) + end) =~ ~s/WARNING - plugins currently enabled but missing: #{missing_plugin}\n/ + end end diff --git a/deps/rabbitmq_mqtt/BUILD.bazel b/deps/rabbitmq_mqtt/BUILD.bazel index 332753152c01..79223cf7482d 100644 --- a/deps/rabbitmq_mqtt/BUILD.bazel +++ b/deps/rabbitmq_mqtt/BUILD.bazel @@ -168,7 +168,7 @@ rabbitmq_integration_suite( runtime_deps = [ "@emqtt//:erlang_app", ], -) +)IO rabbitmq_integration_suite( name = "config_SUITE",