def test_power_levels(self): parsed_dict = TestClass._load_response( "tests/data/events/power_levels.json") event = PowerLevelsEvent.from_dict(parsed_dict) assert isinstance(event, PowerLevelsEvent) levels = event.power_levels admin = "@example:localhost" user = "******" assert levels.get_state_event_required_level("m.room.name") == 50 assert levels.get_state_event_required_level("m.room.undefined") == 50 assert levels.get_message_event_required_level("m.room.message") == 25 assert levels.get_message_event_required_level("m.room.undefined") == 0 assert levels.get_user_level(admin) == 100 assert levels.get_user_level(user) == 0 assert levels.can_user_send_state(admin, "m.room.name") is True assert levels.can_user_send_state(user, "m.room.name") is False assert levels.can_user_send_message(admin) is True assert levels.can_user_send_message(user, "m.room.message") is False assert levels.can_user_ban(admin) is True assert levels.can_user_ban(user) is False assert levels.can_user_invite(admin) is True assert levels.can_user_invite(user) is True assert levels.can_user_kick(admin) is True assert levels.can_user_kick(user) is False assert levels.can_user_redact(admin) is True assert levels.can_user_redact(user) is False
def test_power_levels(self): parsed_dict = TestClass._load_response( "tests/data/events/power_levels.json") event = PowerLevelsEvent.from_dict(parsed_dict) assert isinstance(event, PowerLevelsEvent) levels = event.power_levels admin = "@example:localhost" mod = "@alice:localhost" higher_user = "******" user = "******" assert levels.get_state_event_required_level("m.room.name") == 50 assert levels.get_state_event_required_level("m.room.undefined") == 50 assert levels.get_message_event_required_level("m.room.message") == 25 assert levels.get_message_event_required_level("m.room.undefined") == 0 assert levels.get_notification_required_level("room") == 60 assert levels.get_notification_required_level("non_existant") == 50 assert levels.get_user_level(admin) == 100 assert levels.get_user_level(user) == 0 assert levels.can_user_send_state(admin, "m.room.name") is True assert levels.can_user_send_state(user, "m.room.name") is False assert levels.can_user_send_message(admin) is True assert levels.can_user_send_message(user, "m.room.message") is False assert levels.can_user_invite(admin) is True assert levels.can_user_invite(user) is True assert levels.can_user_kick(admin) is True assert levels.can_user_kick(user) is False assert levels.can_user_kick(admin, admin) is False assert levels.can_user_kick(admin, mod) is True assert levels.can_user_kick(mod, admin) is False assert levels.can_user_kick(mod, higher_user) is True assert levels.can_user_kick(higher_user, user) is False assert levels.can_user_ban(admin) is True assert levels.can_user_ban(user) is False assert levels.can_user_ban(admin, admin) is False assert levels.can_user_ban(admin, mod) is True assert levels.can_user_ban(mod, admin) is False assert levels.can_user_ban(mod, higher_user) is True assert levels.can_user_ban(higher_user, user) is False assert levels.can_user_redact(admin) is True assert levels.can_user_redact(user) is False assert levels.can_user_notify(admin, "room") is True assert levels.can_user_notify(mod, "room") is False
def test_power_levels(self): parsed_dict = TestClass._load_response( "tests/data/events/power_levels.json") event = PowerLevelsEvent.from_dict(parsed_dict) assert isinstance(event, PowerLevelsEvent)