Código fuente para test.test_download
import unittest
import mock
from catatom2osm import config
from catatom2osm.download import chunk_size, get_response, wget
config.install_gettext("catato2osm", "")
[documentos]class TestGetResponse(unittest.TestCase):
[documentos] @mock.patch("catatom2osm.download.requests")
def test_get_response_ok(self, mock_requests):
mock_response = mock.MagicMock()
mock_response.status_code = 200
mock_requests.codes.ok = 200
mock_requests.get.return_value = mock_response
r = get_response("foo", "bar")
self.assertEqual(r, mock_response)
mock_requests.get.assert_called_once_with("foo", stream="bar", timeout=30)
[documentos] @mock.patch("catatom2osm.download.requests")
def test_get_response_bad(self, mock_requests):
mock_response = mock.MagicMock()
mock_response.status_code = 404
mock_requests.codes.ok = 200
mock_requests.get.return_value = mock_response
get_response("foo", "bar")
self.assertEqual(mock_requests.get.call_count, 3)
mock_response.raise_for_status.assert_called_once_with()
[documentos]class TestWget(unittest.TestCase):
[documentos] @mock.patch("catatom2osm.download.progressbar", mock.MagicMock())
@mock.patch("catatom2osm.download.get_response")
@mock.patch("catatom2osm.download.open")
def test_wget(self, mock_open, mock_gr):
mock_gr.return_value = mock.MagicMock()
mock_gr.return_value.iter_content = range
mock_gr.return_value.headers = {"Content-Length": "99999"}
file_mock = mock.MagicMock()
mock_open.return_value.__enter__.return_value = file_mock
wget("foo", "bar")
self.assertEqual(file_mock.write.call_count, chunk_size)
[documentos] @mock.patch("catatom2osm.download.progressbar", mock.MagicMock())
@mock.patch("catatom2osm.download.get_response")
@mock.patch("catatom2osm.download.open")
def test_wget0(self, mock_open, mock_gr):
mock_gr.return_value = mock.MagicMock()
mock_gr.return_value.iter_content = range
mock_gr.return_value.headers = {}
file_mock = mock.MagicMock()
mock_open.return_value.__enter__.return_value = file_mock
wget("foo", "bar")
self.assertEqual(file_mock.write.call_count, chunk_size)