def test__prepare_request(self): download1 = _download.Download(EXAMPLE_URL) method1, url1, payload1, headers1 = download1._prepare_request() assert method1 == u"GET" assert url1 == EXAMPLE_URL assert payload1 is None assert headers1 == {} download2 = _download.Download(EXAMPLE_URL, start=53) method2, url2, payload2, headers2 = download2._prepare_request() assert method2 == u"GET" assert url2 == EXAMPLE_URL assert payload2 is None assert headers2 == {u"range": u"bytes=53-"}
async def test__process_response(self): download = _download.Download(EXAMPLE_URL) _fix_up_virtual(download) # Make sure **not finished** before. assert not download.finished response = mock.AsyncMock(status=int(http_client.OK), spec=["status"]) ret_val = download._process_response(response) assert ret_val is None # Make sure **finished** after. assert download.finished
def test__prepare_request_with_headers(self): headers = {u"spoonge": u"borb"} download = _download.Download(EXAMPLE_URL, start=11, end=111, headers=headers) method, url, payload, new_headers = download._prepare_request() assert method == u"GET" assert url == EXAMPLE_URL assert payload is None assert new_headers is headers assert headers == {u"range": u"bytes=11-111", u"spoonge": u"borb"}
async def test__process_response_bad_status(self): download = _download.Download(EXAMPLE_URL) _fix_up_virtual(download) # Make sure **not finished** before. assert not download.finished response = mock.AsyncMock(status=int(http_client.NOT_FOUND), spec=["status"]) with pytest.raises(common.InvalidResponse) as exc_info: download._process_response(response) error = exc_info.value assert error.response is response assert len(error.args) == 5 assert error.args[1] == response.status assert error.args[3] == http_client.OK assert error.args[4] == http_client.PARTIAL_CONTENT # Make sure **finished** even after a failure. assert download.finished
def test__prepare_request_already_finished(self): download = _download.Download(EXAMPLE_URL) download._finished = True with pytest.raises(ValueError): download._prepare_request()
def test_consume(self): download = _download.Download(EXAMPLE_URL) with pytest.raises(NotImplementedError) as exc_info: download.consume(None) exc_info.match(u"virtual")