koalalorenzo/python-digitalocean

Test failure in test_get_per_region_volumes

felixonmars opened this issue · 1 comments

I somehow can access the API on the machine, so I suppose this is something related to the test suite?

platform linux -- Python 3.7.1, pytest-3.9.2, py-1.7.0, pluggy-0.8.0
responses 0.10.2

=================================== FAILURES ===================================
___________________ TestManager.test_get_per_region_volumes ____________________

self = <digitalocean.tests.test_manager.TestManager testMethod=test_get_per_region_volumes>

    @responses.activate
    def test_get_per_region_volumes(self):
        data = json.loads(self.load_from_file('volumes/all.json'))
        data["volumes"] = [
            volume for volume in data["volumes"]
            if volume["region"]["slug"] == "nyc1"]

        url = self.base_url + "volumes?region=nyc1"
        responses.add(responses.GET,
                      url,
                      body=json.dumps(data),
                      status=200,
                      content_type='application/json')
>       volumes = self.manager.get_all_volumes("nyc1")

digitalocean/tests/test_manager.py:513:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
digitalocean/Manager.py:343: in get_all_volumes
    data = self.get_data(url)
digitalocean/baseapi.py:180: in get_data
    req = self.__perform_request(url, type, params)
digitalocean/baseapi.py:114: in __perform_request
    return requests_method(url, **kwargs)
/usr/lib/python3.7/site-packages/requests/api.py:75: in get
    return request('get', url, params=params, **kwargs)
/usr/lib/python3.7/site-packages/requests/api.py:60: in request
    return session.request(method=method, url=url, **kwargs)
/usr/lib/python3.7/site-packages/requests/sessions.py:524: in request
    resp = self.send(prep, **send_kwargs)
/usr/lib/python3.7/site-packages/requests/sessions.py:637: in send
    r = adapter.send(request, **kwargs)
/usr/lib/python3.7/site-packages/responses.py:600: in unbound_on_send
    return self._on_request(adapter, request, *a, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <responses.RequestsMock object at 0x7f7084aee320>
adapter = <requests.adapters.HTTPAdapter object at 0x7f708371c470>
request = <PreparedRequest [GET]>
kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': None, ...}
match = None, resp_callback = None
error_msg = 'Connection refused: GET https://api.digitalocean.com/v2/volumes?region=nyc1&per_page=200'
response = ConnectionError('Connection refused: GET https://api.digitalocean.com/v2/volumes?region=nyc1&per_page=200')

    def _on_request(self, adapter, request, **kwargs):
        match = self._find_match(request)
        resp_callback = self.response_callback

        if match is None:
            if request.url.startswith(self.passthru_prefixes):
                logger.info("request.allowed-passthru", extra={"url": request.url})
                return _real_send(adapter, request, **kwargs)

            error_msg = "Connection refused: {0} {1}".format(
                request.method, request.url
            )
            response = ConnectionError(error_msg)
            response.request = request

            self._calls.add(request, response)
            response = resp_callback(response) if resp_callback else response
>           raise response
E           requests.exceptions.ConnectionError: Connection refused: GET https://api.digitalocean.com/v2/volumes?region=nyc1&per_page=200

/usr/lib/python3.7/site-packages/responses.py:575: ConnectionError

If you have time, could you work on a PR for this?