def test_webhook_requires_urls(payload):
    with patch('urllib2.Request') as mock_urllib2_request:
        with patch('urllib2.urlopen') as mock_urllib2_urlopen:
            mock_request = Mock()
            mock_urllib2_request.return_value = mock_request

            service = WebhookService({})
            service.send(payload)

            assert not mock_urllib2_request.called
            assert not mock_urllib2_urlopen.called
def test_webhook_requires_urls(payload):
    with patch('urllib2.Request') as mock_urllib2_request:
        with patch('urllib2.urlopen') as mock_urllib2_urlopen:
            mock_request = Mock()
            mock_urllib2_request.return_value = mock_request

            service = WebhookService({})
            service.send(payload)

            assert not mock_urllib2_request.called
            assert not mock_urllib2_urlopen.called
def test_webhook_sends(payload):
    options = {'urls': ['http://sprint.ly']}

    with patch('urllib2.Request') as mock_urllib2_request:
        with patch('urllib2.urlopen') as mock_urllib2_urlopen:
            mock_request = Mock()
            mock_urllib2_request.return_value = mock_request

            service = WebhookService(options)
            service.send(payload)

            assert mock_urllib2_request.call_count == len(options['urls'])
            assert mock_urllib2_request.call_args[0][0] == options['urls'][0]
            mock_urllib2_urlopen.call_args[0][0] == mock_request
def test_webhook_sends(payload):
    options = {
        'urls': [
            'http://sprint.ly'
        ]
    }

    with patch('urllib2.Request') as mock_urllib2_request:
        with patch('urllib2.urlopen') as mock_urllib2_urlopen:
            mock_request = Mock()
            mock_urllib2_request.return_value = mock_request

            service = WebhookService(options)
            service.send(payload)

            assert mock_urllib2_request.call_count == len(options['urls'])
            assert mock_urllib2_request.call_args[0][0] == options['urls'][0]
            mock_urllib2_urlopen.call_args[0][0] == mock_request