diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2021-12-20 12:56:38 +0500 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2021-12-20 12:56:38 +0500 |
| commit | 11c892dd942dd691fc1a2b5136f0961873f8c2d6 (patch) | |
| tree | cc07a5a2949b29e3a98edcc032c2fc0ec045c39c | |
| parent | a9c123812eb1a1039448b9d856812b60b22c1d3d (diff) | |
| parent | cee6c25bc0aef89952c697c27f422026340f355f (diff) | |
| download | rabbitmq-server-git-11c892dd942dd691fc1a2b5136f0961873f8c2d6.tar.gz | |
Merge branch 'polaris-alioth-prevent_unnamed_policy_when_loading_definition'
| -rw-r--r-- | deps/rabbit/src/rabbit_definitions.erl | 4 | ||||
| -rw-r--r-- | deps/rabbit/test/definition_import_SUITE.erl | 5 | ||||
| -rw-r--r-- | deps/rabbit/test/definition_import_SUITE_data/failing_case17.json | 19 |
3 files changed, 27 insertions, 1 deletions
diff --git a/deps/rabbit/src/rabbit_definitions.erl b/deps/rabbit/src/rabbit_definitions.erl index 8faf2f808a..152a6be5f2 100644 --- a/deps/rabbit/src/rabbit_definitions.erl +++ b/deps/rabbit/src/rabbit_definitions.erl @@ -464,6 +464,10 @@ add_policy(Param, Username) -> add_policy(VHost, Param, Username) -> Key = maps:get(name, Param, undefined), + case Key of + undefined -> exit(rabbit_misc:format("policy in virtual host '~s' has undefined name", [VHost])); + _ -> ok + end, case rabbit_policy:set( VHost, Key, maps:get(pattern, Param, undefined), case maps:get(definition, Param, undefined) of diff --git a/deps/rabbit/test/definition_import_SUITE.erl b/deps/rabbit/test/definition_import_SUITE.erl index d893862daf..3685a2addd 100644 --- a/deps/rabbit/test/definition_import_SUITE.erl +++ b/deps/rabbit/test/definition_import_SUITE.erl @@ -46,7 +46,8 @@ groups() -> import_case13, import_case14, import_case15, - import_case16 + import_case16, + import_case17 ]}, {boot_time_import_using_classic_source, [], [ @@ -236,6 +237,8 @@ import_case16(Config) -> {skip, "Should not run in mixed version environments"} end. +import_case17(Config) -> import_invalid_file_case(Config, "failing_case17"). + export_import_round_trip_case1(Config) -> case rabbit_ct_helpers:is_mixed_versions() of false -> diff --git a/deps/rabbit/test/definition_import_SUITE_data/failing_case17.json b/deps/rabbit/test/definition_import_SUITE_data/failing_case17.json new file mode 100644 index 0000000000..4776408833 --- /dev/null +++ b/deps/rabbit/test/definition_import_SUITE_data/failing_case17.json @@ -0,0 +1,19 @@ +{ + "vhosts": [ + { + "name": "\/" + } + ], + "policies": [ + { + "vhost": "\/", + "pattern": "^project-nd-ns-", + "apply-to": "queues", + "definition": { + "expires": 120000, + "max-length": 10000 + }, + "priority": 1 + } + ] +} |
