#![recursion_limit = "256"]
use std::collections::HashSet;
use cheetah_string::CheetahString;
use rocketmq_client_rust::ConsumerAdmin;
use rocketmq_client_rust::TopicAdmin;
fn topic_batch_api_is_typed<T: TopicAdmin>(admin: &T) {
let future = admin.delete_topic_in_broker_list(
HashSet::from([CheetahString::from_static_str("127.0.0.1:10911")]),
vec![CheetahString::from_static_str("TopicA")],
);
drop(future);
}
fn group_batch_api_is_typed<T: ConsumerAdmin>(admin: &T) {
let future = admin.delete_subscription_group_list(
CheetahString::from_static_str("127.0.0.1:10911"),
vec![CheetahString::from_static_str("GroupA")],
true,
);
drop(future);
}
#[test]
fn batch_delete_capabilities_are_public_and_typed() {
fn assert_contract<T: TopicAdmin + ConsumerAdmin>() {
let _ = topic_batch_api_is_typed::<T>;
let _ = group_batch_api_is_typed::<T>;
}
let _ = assert_contract::<rocketmq_client_rust::DefaultMQAdminExt>;
let _ = assert_contract::<rocketmq_client_rust::DefaultMQAdminExtImpl>;
}