in core/cli/src/args/permissions/stream.rs [446:541]
fn should_deserialize_short_permissions() {
assert_eq!(
StreamPermissionsArg::from_str("111:m_str,r_str,m_top,r_top,p_msg,s_msg").unwrap(),
StreamPermissionsArg {
stream_id: 111,
permissions: StreamPermissions {
manage_stream: true,
read_stream: true,
manage_topics: true,
read_topics: true,
poll_messages: true,
send_messages: true,
topics: None,
}
}
);
assert_eq!(
StreamPermissionsArg::from_str("27:m_top,r_top").unwrap(),
StreamPermissionsArg {
stream_id: 27,
permissions: StreamPermissions {
manage_stream: false,
read_stream: false,
manage_topics: true,
read_topics: true,
poll_messages: false,
send_messages: false,
topics: None,
}
}
);
assert_eq!(
StreamPermissionsArg::from_str("9:s_msg,r_top,r_str").unwrap(),
StreamPermissionsArg {
stream_id: 9,
permissions: StreamPermissions {
manage_stream: false,
read_stream: true,
manage_topics: false,
read_topics: true,
poll_messages: false,
send_messages: true,
topics: None,
}
}
);
assert_eq!(
StreamPermissionsArg::from_str("4:s_msg").unwrap(),
StreamPermissionsArg {
stream_id: 4,
permissions: StreamPermissions {
manage_stream: false,
read_stream: false,
manage_topics: false,
read_topics: false,
poll_messages: false,
send_messages: true,
topics: None,
}
}
);
assert_eq!(
StreamPermissionsArg::from_str("6:m_top#1:m_top#2:m_top").unwrap(),
StreamPermissionsArg {
stream_id: 6,
permissions: StreamPermissions {
manage_stream: false,
read_stream: false,
manage_topics: true,
read_topics: false,
poll_messages: false,
send_messages: false,
topics: Some(AHashMap::from([
(
2,
TopicPermissions {
manage_topic: true,
read_topic: false,
poll_messages: false,
send_messages: false,
}
),
(
1,
TopicPermissions {
manage_topic: true,
read_topic: false,
poll_messages: false,
send_messages: false,
}
)
])),
}
}
);
}