def test_broadcast_message_not_admin(self): mock_protocol = Mock() mock_protocol.player.access_level = UserLevels.GUEST plugin = AdminMessenger() plugin.protocol = mock_protocol result = plugin.broadcast_message('test') self.assertFalse(result) mock_protocol.send_chat_message.assert_called_with( 'You are not authorized to do this.' )
def test_message_admins(self, mock_add_timestamp): mock_logger = Mock() mock_config = Mock() mock_config.colors = {'moderator': 'moderator colors'} mock_message = Mock() mock_message.message = '##test' mock_add_timestamp.return_value = 'with add_normalizer' mock_just_player = Mock() mock_just_player.player.access_level = UserLevels.GUEST mock_player_moderator = Mock() mock_player_moderator.player.access_level = UserLevels.MODERATOR mock_factory = Mock() mock_factory.protocols = { 'normal player': mock_just_player, 'moderator': mock_player_moderator } mock_protocol = Mock() mock_protocol.player.colored_name.return_value = 'player colors' plugin = AdminMessenger() plugin.factory = mock_factory plugin.config = mock_config plugin.logger = mock_logger plugin.protocol = mock_protocol plugin.message_admins(mock_message) mock_player_moderator.send_chat_message.assert_called_with( '{}{}ADMIN: ^yellow;<{}^yellow;> {}{}'.format( 'with add_normalizer', 'moderator colors', 'player colors', 'moderator colors', 'test' ) ) mock_logger.info.assert_called_with( 'Received an admin message from %s. Message: %s', mock_protocol.player.name, 'test' ) self.assertFalse(mock_just_player.send_chat_message.called) mock_add_timestamp.assert_called_with(add_normalizer=True)
def test_broadcast_message(self, mock_add_timestamp): mock_logger = Mock() mock_config = Mock() mock_config.colors = { 'admin': 'admin colors', 'default': 'default colors' } mock_message = Mock() mock_message.message = '###test' mock_add_timestamp.return_value = 'without add_normalizer' mock_just_player = Mock() mock_player_moderator = Mock() mock_factory = Mock() mock_factory.protocols = { 'normal player': mock_just_player, 'moderator': mock_player_moderator } mock_protocol = Mock() mock_protocol.player.access_level = UserLevels.ADMIN plugin = AdminMessenger() plugin.factory = mock_factory plugin.config = mock_config plugin.logger = mock_logger plugin.protocol = mock_protocol expected_message = '{}{}BROADCAST: ^red;{}{}'.format( 'without add_normalizer', 'admin colors', 'TEST', 'default colors' ) plugin.broadcast_message(mock_message) mock_player_moderator.send_chat_message.assert_called_with( expected_message ) mock_just_player.send_chat_message.assert_called_with(expected_message) mock_logger.info.assert_called_with( 'Broadcast from %s. Message: %s', mock_protocol.player.name, 'TEST' ) self.assertFalse(mock_protocol.send_chat_message.called)