fn should_deserialize_permissions()

in core/cli/src/args/permissions/stream.rs [295:443]


    fn should_deserialize_permissions() {
        assert_eq!(
            StreamPermissionsArg::from_str(
                "1:manage_stream,read_stream,manage_topics,read_topics,poll_messages,send_messages"
            )
            .unwrap(),
            StreamPermissionsArg {
                stream_id: 1,
                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("1:manage_topics,read_topics").unwrap(),
            StreamPermissionsArg {
                stream_id: 1,
                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("39:send_messages,read_topics,read_stream").unwrap(),
            StreamPermissionsArg {
                stream_id: 39,
                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("71").unwrap(),
            StreamPermissionsArg {
                stream_id: 71,
                permissions: StreamPermissions {
                    manage_stream: false,
                    read_stream: false,
                    manage_topics: false,
                    read_topics: false,
                    poll_messages: false,
                    send_messages: false,
                    topics: None,
                }
            }
        );
        assert_eq!(
            StreamPermissionsArg::from_str("9:send_messages").unwrap(),
            StreamPermissionsArg {
                stream_id: 9,
                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("9#1#2").unwrap(),
            StreamPermissionsArg {
                stream_id: 9,
                permissions: StreamPermissions {
                    manage_stream: false,
                    read_stream: false,
                    manage_topics: false,
                    read_topics: false,
                    poll_messages: false,
                    send_messages: false,
                    topics: Some(AHashMap::from([
                        (
                            2,
                            TopicPermissions {
                                manage_topic: false,
                                read_topic: false,
                                poll_messages: false,
                                send_messages: false,
                            }
                        ),
                        (
                            1,
                            TopicPermissions {
                                manage_topic: false,
                                read_topic: false,
                                poll_messages: false,
                                send_messages: false,
                            }
                        )
                    ])),
                }
            }
        );
        assert_eq!(
            StreamPermissionsArg::from_str("4:manage_topics#1:manage_topic#2:manage_topic")
                .unwrap(),
            StreamPermissionsArg {
                stream_id: 4,
                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,
                            }
                        )
                    ])),
                }
            }
        );
    }