def test_image_url_to_file(self): url = "http://httpbin.org/image/jpeg?thing=foo.star&bang=1#thing" res = image_url_to_file(url, self.tempdir, '', 'testimg') self.assertIsNotNone(res) self.assertEqual('testimg', res['path'])
def test_image_url_to_file_rename_error(self, mock_rename): def side_effect(url): raise Exception mock_rename.side_effect = side_effect url = "http://httpbin.org/image/jpeg" res = image_url_to_file(url, self.tempdir, '', 'testimg') self.assertIsNone(res)
def test_image_url_to_file_makedirs_error(self, mock_makedirs): def side_effect(url): raise Exception mock_makedirs.side_effect = side_effect url = "http://httpbin.org/image/jpeg" res = image_url_to_file(url, './blargh', '', 'testimg') self.assertIsNone(res)
def test_image_url_with_extension_to_file(self, ): actual = urllib.request.urlretrieve('http://httpbin.org/image/jpeg') url = "http://httpbin.org/image/jpeg.suffix?a=foo.star&b=1#thing" with patch('urllib.request.urlretrieve') as mock_url_retrieve: mock_url_retrieve.return_value = actual res = image_url_to_file(url, self.tempdir, '', 'testimg') self.assertIsNotNone(res) self.assertEqual('testimg.suffix', res['path'])
def test_image_url_to_file_invalid_img(self, mock_url_retrieve, mock_makedirs, mock_rename): filename = os.path.join(self.tempdir, 'badimage.jpeg') def side_effect(url): with open(filename, 'w') as fh: fh.write('abcd') return filename, None mock_url_retrieve.side_effect = side_effect url = "http://test.local/image.jpeg" res = image_url_to_file(url, self.tempdir, '', 'testimg') self.assertIsNone(res)