def mock_spk_url(request): # Mock requests so we don't hit the server with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: for data in spk_data: body = 'fake data for ' + data['kernel'] # If the file is in the 'old' directory, mock a 404 response in the # top level directory. if data['old']: rsps.add(GET, SPK_URL.format(**data), status=404) url = SPK_OLD_URL else: url = SPK_URL if request.param: rsps.add(GET, url.format(**data), body=body) else: headers = {'Content-Length': str(len(body))} rsps.add(GET, url.format(**data), body=body, adding_headers=headers) rsps.add(GET, SPK_URL.format(category='planets', kernel='tatooine'), status=404) rsps.add(GET, SPK_OLD_URL.format(category='planets', kernel='tatooine'), status=404) yield rsps
def test_download_failed(self, tmpdir): with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: rsps.add( GET, SPK_URL.format(category='planets', kernel='jakku'), status=500) rsps.add( GET, SPK_OLD_URL.format(category='planets', kernel='jakku'), status=500) with pytest.raises(requests.HTTPError): download_spk(category='planets', kernel='jakku', download_dir=str(tmpdir))
def test_download_failed(self, tmpdir): with responses.RequestsMock( assert_all_requests_are_fired=False) as rsps: rsps.add(GET, SPK_URL.format(category='planets', kernel='jakku'), status=500) rsps.add(GET, SPK_OLD_URL.format(category='planets', kernel='jakku'), status=500) with pytest.raises(requests.HTTPError): download_spk(category='planets', kernel='jakku', download_dir=str(tmpdir))