summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <klishinm@vmware.com>2020-12-03 07:45:43 +0300
committerGitHub <noreply@github.com>2020-12-03 07:45:43 +0300
commitb687d3c64398db9f4d53865f30c93ceac41e7df9 (patch)
tree740d746d0430777a3cafcb53dba4e9f00f962238
parente6c97547e498d4b5361a626dde92872c582ae107 (diff)
parent8525a659702ecc7ca057d99e6161edc8e8c3b709 (diff)
downloadrabbitmq-server-git-b687d3c64398db9f4d53865f30c93ceac41e7df9.tar.gz
Merge pull request #2669 from rabbitmq/rabbitmq-server-2668
Handle undefined args case
-rw-r--r--deps/rabbit/src/rabbit_definitions.erl1
-rw-r--r--deps/rabbit/test/definition_import_SUITE.erl5
-rw-r--r--deps/rabbit/test/definition_import_SUITE_data/case14.json34
3 files changed, 39 insertions, 1 deletions
diff --git a/deps/rabbit/src/rabbit_definitions.erl b/deps/rabbit/src/rabbit_definitions.erl
index 0d0212dbae..0df016d398 100644
--- a/deps/rabbit/src/rabbit_definitions.erl
+++ b/deps/rabbit/src/rabbit_definitions.erl
@@ -623,6 +623,7 @@ get_or_missing(K, L) ->
V -> V
end.
+args(undefined) -> args(#{});
args([]) -> args(#{});
args(L) -> rabbit_misc:to_amqp_table(L).
diff --git a/deps/rabbit/test/definition_import_SUITE.erl b/deps/rabbit/test/definition_import_SUITE.erl
index ac0c18da99..6c1b04cd2a 100644
--- a/deps/rabbit/test/definition_import_SUITE.erl
+++ b/deps/rabbit/test/definition_import_SUITE.erl
@@ -39,7 +39,8 @@ groups() ->
import_case10,
import_case11,
import_case12,
- import_case13
+ import_case13,
+ import_case14
]},
{boot_time_import, [], [
import_on_a_booting_node
@@ -141,6 +142,8 @@ import_case13(Config) ->
Skip
end.
+import_case14(Config) -> import_file_case(Config, "case14").
+
export_import_round_trip_case1(Config) ->
%% case 6 has runtime parameters that do not depend on any plugins
import_file_case(Config, "case6"),
diff --git a/deps/rabbit/test/definition_import_SUITE_data/case14.json b/deps/rabbit/test/definition_import_SUITE_data/case14.json
new file mode 100644
index 0000000000..ef75f8422c
--- /dev/null
+++ b/deps/rabbit/test/definition_import_SUITE_data/case14.json
@@ -0,0 +1,34 @@
+{
+ "vhosts": [
+ {
+ "name": "/"
+ }
+ ],
+ "exchanges": [
+ {
+ "name": "x_demo",
+ "vhost": "/",
+ "type": "fanout",
+ "durable": true,
+ "auto_delete": false,
+ "internal": false
+ }
+ ],
+ "queues": [
+ {
+ "name": "q_demo",
+ "vhost": "/",
+ "durable": true,
+ "auto_delete": false
+ }
+ ],
+ "bindings": [
+ {
+ "source": "x_demo",
+ "vhost": "/",
+ "destination": "q_demo",
+ "destination_type": "queue",
+ "routing_key": "#"
+ }
+ ]
+}