use crate::test_helpers::run_succeeds;
use crate::test_helpers::{delete_vhost, output_includes};
use predicates::prelude::*;
use std::error::Error;
#[test]
fn test_export_cluster_wide_definitions() -> Result<(), Box<dyn Error>> {
run_succeeds(["definitions", "export"]).stdout(output_includes("guest"));
Ok(())
}
#[test]
fn test_export_vhost_definitions() -> Result<(), Box<dyn Error>> {
let vh = "rabbitmqadmin.definitions_export.test1";
delete_vhost(vh).expect("failed to delete a virtual host");
run_succeeds(["declare", "vhost", "--name", vh]);
let q = "qq.test_export_vhost_definitions.1";
run_succeeds([
"-V", vh, "declare", "queue", "--name", q, "--type", "quorum",
]);
run_succeeds(["--vhost", vh, "definitions", "export_from_vhost"]).stdout(output_includes(q));
run_succeeds(["--vhost", "/", "definitions", "export_from_vhost"])
.stdout(output_includes(q).not());
delete_vhost(vh).expect("failed to delete a virtual host");
Ok(())
}
#[test]
fn test_export_cluster_wide_definitions_with_transformations_case1() -> Result<(), Box<dyn Error>> {
let vh = "rabbitmqadmin.definitions_export.test2";
delete_vhost(vh).expect("failed to delete a virtual host");
run_succeeds(["declare", "vhost", "--name", vh]);
let p1 = "test_export_cluster_definitions.1";
run_succeeds([
"--vhost",
vh,
"declare",
"policy",
"--name",
p1,
"--pattern",
"^matching\\..+",
"--apply-to",
"classic_queues",
"--priority",
"10",
"--definition",
"{\"max-length\": 10}",
]);
let q = "qq.test_export_cluster_definitions.1";
run_succeeds([
"-V", vh, "declare", "queue", "--name", q, "--type", "quorum",
]);
run_succeeds(["--vhost", vh, "definitions", "export"]).stdout(output_includes(p1));
run_succeeds([
"--vhost",
vh,
"definitions",
"export",
"--transformations",
"prepare_for_quorum_queue_migration,strip_cmq_keys_from_policies,drop_empty_policies",
])
.stdout(output_includes(p1));
delete_vhost(vh).expect("failed to delete a virtual host");
Ok(())
}
#[test]
fn test_export_vhost_definitions_with_transformations_case1() -> Result<(), Box<dyn Error>> {
let vh = "rabbitmqadmin.definitions_export.test3";
delete_vhost(vh).expect("failed to delete a virtual host");
run_succeeds(["declare", "vhost", "--name", vh]);
let p1 = "test_export_vhost_definitions.transformations.1";
run_succeeds([
"--vhost",
vh,
"declare",
"policy",
"--name",
p1,
"--pattern",
"^matching\\..+",
"--apply-to",
"classic_queues",
"--priority",
"10",
"--definition",
"{\"max-length\": 10}",
]);
let q = "qq.test_export_vhost_definitions.transformations.1";
run_succeeds([
"-V", vh, "declare", "queue", "--name", q, "--type", "quorum",
]);
run_succeeds(["--vhost", vh, "definitions", "export_from_vhost"]).stdout(output_includes(p1));
run_succeeds([
"--vhost",
vh,
"definitions",
"export_from_vhost",
"--transformations",
"prepare_for_quorum_queue_migration,strip_cmq_keys_from_policies,drop_empty_policies",
])
.stdout(output_includes(p1));
delete_vhost(vh).expect("failed to delete a virtual host");
Ok(())
}