Skip to content

Commit efe4fa8

Browse files
committed
Adjust CLI tests for OTP28
1 parent 522739a commit efe4fa8

File tree

3 files changed

+106
-92
lines changed

3 files changed

+106
-92
lines changed

deps/rabbitmq_cli/test/ctl/set_permissions_command_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ defmodule SetPermissionsCommandTest do
9999
assert @command.run(
100100
[context[:user], "^#{context[:user]}-.*", ".*", "*"],
101101
context[:opts]
102-
) == {:error, {:invalid_regexp, ~c"*", {~c"nothing to repeat", 0}}}
102+
) == {:error, {:invalid_regexp, ~c"*", {~c"quantifier does not follow a repeatable item", 0}}}
103103

104104
# asserts that the failed command didn't change anything
105105
u = Enum.find(list_permissions(context[:vhost]), fn x -> x[:user] == context[:user] end)

deps/rabbitmq_cli/test/ctl/set_permissions_globally_command_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ defmodule SetPermissionsGloballyCommandTest do
100100
assert @command.run(
101101
[context[:user], "^#{context[:user]}-.*", ".*", "*"],
102102
context[:opts]
103-
) == {:error, {:invalid_regexp, ~c"*", {~c"nothing to repeat", 0}}}
103+
) == {:error, {:invalid_regexp, ~c"*", {~c"quantifier does not follow a repeatable item", 0}}}
104104

105105
# asserts that the failed command didn't change anything
106106
p4 = Enum.find(list_permissions(@vhost1), fn x -> x[:user] == context[:user] end)

deps/rabbitmq_cli/test/plugins/disable_plugins_command_test.exs

Lines changed: 104 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,24 @@ defmodule DisablePluginsCommandTest do
6868
}
6969
end
7070

71+
# Helper functions for order-insensitive assertions
72+
defp normalize_result_map(map) when is_map(map) do
73+
map
74+
|> Map.update(:stopped, [], &Enum.sort/1)
75+
|> Map.update(:disabled, [], &Enum.sort/1)
76+
|> Map.update(:set, [], &Enum.sort/1)
77+
end
78+
79+
defp normalize_stream_result([list, map]) when is_list(list) and is_map(map) do
80+
[Enum.sort(list), normalize_result_map(map)]
81+
end
82+
83+
defp normalize_stream_result(other), do: other
84+
85+
defp assert_lists_equal(expected, actual) do
86+
assert Enum.sort(expected) == Enum.sort(actual)
87+
end
88+
7189
test "validate: specifying both --online and --offline is reported as invalid", context do
7290
assert match?(
7391
{:validation_failure, {:bad_argument, _}},
@@ -104,16 +122,18 @@ defmodule DisablePluginsCommandTest do
104122
assert {:stream, test_stream} =
105123
@command.run(["rabbitmq_stomp"], Map.merge(context[:opts], %{node: :nonode}))
106124

107-
assert [
108-
[:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
109-
%{mode: :offline, disabled: [:rabbitmq_stomp], set: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]}
110-
] ==
111-
Enum.to_list(test_stream)
125+
result = Enum.to_list(test_stream)
126+
expected = [
127+
[:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
128+
%{mode: :offline, disabled: [:rabbitmq_stomp], set: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]}
129+
]
130+
assert normalize_stream_result(expected) == normalize_stream_result(result)
112131

113132
assert {:ok, [[:rabbitmq_federation]]} == :file.consult(context[:opts][:enabled_plugins_file])
114133

115-
assert [:amqp_client, :rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp] ==
116-
Enum.sort(:rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, []))
134+
result = :rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, [])
135+
expected = [:amqp_client, :rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp]
136+
assert_lists_equal(expected, result)
117137
end
118138

119139
test "in offline mode, writes out enabled plugins and reports implicitly enabled plugin list",
@@ -124,15 +144,18 @@ defmodule DisablePluginsCommandTest do
124144
Map.merge(context[:opts], %{offline: true, online: false})
125145
)
126146

127-
assert [
128-
[:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
129-
%{mode: :offline, disabled: [:rabbitmq_stomp], set: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]}
130-
] == Enum.to_list(test_stream)
147+
result = Enum.to_list(test_stream)
148+
expected = [
149+
[:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
150+
%{mode: :offline, disabled: [:rabbitmq_stomp], set: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]}
151+
]
152+
assert normalize_stream_result(expected) == normalize_stream_result(result)
131153

132154
assert {:ok, [[:rabbitmq_federation]]} == :file.consult(context[:opts][:enabled_plugins_file])
133155

134-
assert [:amqp_client, :rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp] ==
135-
Enum.sort(:rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, []))
156+
active_plugins = :rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, [])
157+
expected_active = [:amqp_client, :rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp]
158+
assert_lists_equal(expected_active, active_plugins)
136159
end
137160

138161
test "in offline mode, removes implicitly enabled plugins when the last explicitly enabled one is removed",
@@ -143,10 +166,12 @@ defmodule DisablePluginsCommandTest do
143166
Map.merge(context[:opts], %{offline: true, online: false})
144167
)
145168

146-
assert [
147-
[:rabbitmq_stomp],
148-
%{mode: :offline, disabled: [:rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_exchange_federation, :rabbitmq_federation], set: [:rabbitmq_stomp]}
149-
] == Enum.to_list(test_stream0)
169+
result = Enum.to_list(test_stream0)
170+
expected = [
171+
[:rabbitmq_stomp],
172+
%{mode: :offline, disabled: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation], set: [:rabbitmq_stomp]}
173+
]
174+
assert normalize_stream_result(expected) == normalize_stream_result(result)
150175

151176
assert {:ok, [[:rabbitmq_stomp]]} == :file.consult(context[:opts][:enabled_plugins_file])
152177

@@ -156,111 +181,100 @@ defmodule DisablePluginsCommandTest do
156181
Map.merge(context[:opts], %{offline: true, online: false})
157182
)
158183

159-
assert [[], %{mode: :offline, disabled: [:rabbitmq_stomp], set: []}] ==
160-
Enum.to_list(test_stream1)
184+
result = Enum.to_list(test_stream1)
185+
expected = [[], %{mode: :offline, disabled: [:rabbitmq_stomp], set: []}]
186+
assert normalize_stream_result(expected) == normalize_stream_result(result)
161187

162188
assert {:ok, [[]]} = :file.consult(context[:opts][:enabled_plugins_file])
163189
end
164190

165191
test "updates plugin list and stops disabled plugins", context do
166192
assert {:stream, test_stream0} = @command.run(["rabbitmq_stomp"], context[:opts])
167193

168-
assert [
169-
[:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
170-
%{
171-
mode: :online,
172-
started: [],
173-
stopped: [:rabbitmq_stomp],
174-
disabled: [:rabbitmq_stomp],
175-
set: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]
176-
}
177-
] ==
178-
Enum.to_list(test_stream0)
194+
result = Enum.to_list(test_stream0)
195+
expected = [
196+
[:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
197+
%{
198+
mode: :online,
199+
started: [],
200+
stopped: [:rabbitmq_stomp],
201+
disabled: [:rabbitmq_stomp],
202+
set: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]
203+
}
204+
]
205+
assert normalize_stream_result(expected) == normalize_stream_result(result)
179206

180207
assert {:ok, [[:rabbitmq_federation]]} == :file.consult(context[:opts][:enabled_plugins_file])
181208

182-
assert [:amqp_client, :rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation] ==
183-
Enum.sort(:rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, []))
209+
result = :rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, [])
210+
expected = [:amqp_client, :rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation]
211+
assert_lists_equal(expected, result)
184212

185213
assert {:stream, test_stream1} = @command.run(["rabbitmq_federation"], context[:opts])
186214

187-
assert [
188-
[],
189-
%{
190-
mode: :online,
191-
started: [],
192-
stopped: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
193-
disabled: [:rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_exchange_federation, :rabbitmq_federation],
194-
set: []
195-
}
196-
] ==
197-
Enum.to_list(test_stream1)
215+
result = Enum.to_list(test_stream1)
216+
expected = [
217+
[],
218+
%{
219+
mode: :online,
220+
started: [],
221+
stopped: [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation],
222+
disabled: [:rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_exchange_federation, :rabbitmq_federation],
223+
set: []
224+
}
225+
]
226+
assert normalize_stream_result(expected) == normalize_stream_result(result)
198227

199228
assert {:ok, [[]]} == :file.consult(context[:opts][:enabled_plugins_file])
200229

201-
assert Enum.empty?(
202-
Enum.sort(:rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, []))
203-
)
230+
result = :rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, [])
231+
assert Enum.empty?(result)
204232
end
205233

206234
test "can disable multiple plugins at once", context do
207235
assert {:stream, test_stream} =
208236
@command.run(["rabbitmq_stomp", "rabbitmq_federation"], context[:opts])
209237

210-
[[], m0] = Enum.to_list(test_stream)
211-
212-
m1 =
213-
m0
214-
|> Map.update!(:stopped, &Enum.sort/1)
215-
|> Map.update!(:disabled, &Enum.sort/1)
216-
217-
expected_list = Enum.sort([:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp])
218-
219-
assert [
220-
[],
221-
%{
222-
mode: :online,
223-
started: [],
224-
stopped: expected_list,
225-
disabled: expected_list,
226-
set: []
227-
}
228-
] == [[], m1]
238+
result = Enum.to_list(test_stream)
239+
expected_list = [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp]
240+
expected = [
241+
[],
242+
%{
243+
mode: :online,
244+
started: [],
245+
stopped: expected_list,
246+
disabled: expected_list,
247+
set: []
248+
}
249+
]
250+
assert normalize_stream_result(expected) == normalize_stream_result(result)
229251

230252
assert {:ok, [[]]} == :file.consult(context[:opts][:enabled_plugins_file])
231253

232-
assert Enum.empty?(
233-
Enum.sort(:rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, []))
234-
)
254+
active_plugins = :rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, [])
255+
assert Enum.empty?(active_plugins)
235256
end
236257

237258
test "disabling a dependency disables all plugins that depend on it", context do
238259
assert {:stream, test_stream} = @command.run(["amqp_client"], context[:opts])
239-
[[], m0] = Enum.to_list(test_stream)
240-
241-
m1 =
242-
m0
243-
|> Map.update!(:stopped, &Enum.sort/1)
244-
|> Map.update!(:disabled, &Enum.sort/1)
245-
246-
expected_list = Enum.sort([:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp])
247-
248-
assert [
249-
[],
250-
%{
251-
mode: :online,
252-
started: [],
253-
stopped: expected_list,
254-
disabled: expected_list,
255-
set: []
256-
}
257-
] == [[], m1]
260+
result = Enum.to_list(test_stream)
261+
expected_list = [:rabbitmq_exchange_federation, :rabbitmq_federation, :rabbitmq_federation_common, :rabbitmq_queue_federation, :rabbitmq_stomp]
262+
expected = [
263+
[],
264+
%{
265+
mode: :online,
266+
started: [],
267+
stopped: expected_list,
268+
disabled: expected_list,
269+
set: []
270+
}
271+
]
272+
assert normalize_stream_result(expected) == normalize_stream_result(result)
258273

259274
assert {:ok, [[]]} == :file.consult(context[:opts][:enabled_plugins_file])
260275

261-
assert Enum.empty?(
262-
Enum.sort(:rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, []))
263-
)
276+
result = :rabbit_misc.rpc_call(context[:opts][:node], :rabbit_plugins, :active, [])
277+
assert Enum.empty?(result)
264278
end
265279

266280
test "formats enabled plugins mismatch errors", context do

0 commit comments

Comments
 (0)