コード例 #1
0
    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)
コード例 #2
0
    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)