Пример #1
0
def test_client_manager_setup_missing_config_key():

    config = {}

    client_manager = rtm.SlackRTMClientManager()
    client_manager.container = Mock(config=config)

    with pytest.raises(ConfigurationError) as exc:
        client_manager.setup()

    assert str(exc.value) == '`SLACK` config key not found'
Пример #2
0
def test_client_manager_setup_with_default_bot_token(mocked_slack_client,
                                                     config):

    client_manager = rtm.SlackRTMClientManager()
    client_manager.container = Mock(config=config)

    client_manager.setup()

    assert constants.DEFAULT_BOT_NAME in client_manager.clients
    assert (client_manager.clients[constants.DEFAULT_BOT_NAME] ==
            mocked_slack_client.return_value)
    assert mocked_slack_client.call_args == call('abc-123')
Пример #3
0
def test_client_manager_setup_missing_mandatory_connection_keys():

    config = {'SLACK': {}}

    client_manager = rtm.SlackRTMClientManager()
    client_manager.container = Mock(config=config)

    with pytest.raises(ConfigurationError) as exc:
        client_manager.setup()

    assert (str(
        exc.value) == 'At least one token must be provided in `SLACK` config')
Пример #4
0
def test_client_manager_setup_with_multiple_bot_tokens(mocked_slack_client):

    config = {"SLACK": {"BOTS": {"spam": "abc-123", "ham": "def-456"}}}

    client_manager = rtm.SlackRTMClientManager()
    client_manager.container = Mock(config=config)

    client_manager.setup()

    assert "spam" in client_manager.clients
    assert "ham" in client_manager.clients
    assert client_manager.clients["spam"] == mocked_slack_client.return_value
    assert client_manager.clients["ham"] == mocked_slack_client.return_value

    assert call("abc-123") in mocked_slack_client.call_args_list
    assert call("def-456") in mocked_slack_client.call_args_list
Пример #5
0
def test_client_manager_setup_with_multiple_bot_tokens(mocked_slack_client):

    config = {
        'SLACK': {
            'BOTS': {
                'spam': 'abc-123',
                'ham': 'def-456',
            }
        }
    }

    client_manager = rtm.SlackRTMClientManager()
    client_manager.container = Mock(config=config)

    client_manager.setup()

    assert 'spam' in client_manager.clients
    assert 'ham' in client_manager.clients
    assert client_manager.clients['spam'] == mocked_slack_client.return_value
    assert client_manager.clients['ham'] == mocked_slack_client.return_value

    assert call('abc-123') in mocked_slack_client.call_args_list
    assert call('def-456') in mocked_slack_client.call_args_list