debian-python-redmine/debian/patches/use-system-requests.patch

159 lines
7.7 KiB
Diff

Description: Use system version of Python requests
Do not use the bundled requests version which would make security support
harder.
Author: Benjamin Drung <benjamin.drung@profitbricks.com>
Bug: https://github.com/maxtepkeev/python-redmine/issues/108#issuecomment-149040488
--- a/redmine/__init__.py
+++ b/redmine/__init__.py
@@ -2,8 +2,8 @@
import json
from distutils.version import LooseVersion
+import requests
-from .packages import requests
from .version import __version__
from .managers import ResourceManager
from .utilities import is_string, to_string
--- a/tests/test_managers.py
+++ b/tests/test_managers.py
@@ -48,7 +48,7 @@
self.assertEqual(resourceset[1].identifier, 'bar')
self.assertEqual(resourceset[1].id, 2)
- @mock.patch('redmine.packages.requests.get')
+ @mock.patch('redmine.requests.get')
def test_get_single_resource(self, mock_get):
mock_get.return_value = response = mock.Mock(status_code=200)
response.json.return_value = {'project': {'name': 'Foo', 'identifier': 'foo', 'id': 1}}
@@ -72,7 +72,7 @@
self.assertEqual(time_entries.manager.params['from'], '2014-03-09T00:00:00Z')
self.assertEqual(time_entries.manager.params['to'], '2014-03-10T00:00:00Z')
- @mock.patch('redmine.packages.requests.post')
+ @mock.patch('redmine.requests.post')
def test_create_resource(self, mock_post):
mock_post.return_value = response = mock.Mock(status_code=201)
response.json.return_value = {'user': {'firstname': 'John', 'lastname': 'Smith', 'id': 1}}
@@ -81,7 +81,7 @@
self.assertEqual(user.lastname, 'Smith')
@mock.patch('redmine.open', mock.mock_open(), create=True)
- @mock.patch('redmine.packages.requests.post')
+ @mock.patch('redmine.requests.post')
def test_create_resource_with_uploads(self, mock_post):
mock_post.return_value = response = mock.Mock(status_code=201)
response.json.return_value = {
@@ -98,7 +98,7 @@
defaults.update(dict((relation, None) for relation in project._relations))
self.assertEqual(project._attributes, defaults)
- @mock.patch('redmine.packages.requests.put')
+ @mock.patch('redmine.requests.put')
def test_update_resource(self, mock_put):
mock_put.return_value = mock.Mock(status_code=200, content='')
manager = self.redmine.wiki_page
@@ -107,8 +107,8 @@
del manager.params['project_id']
@mock.patch('redmine.open', mock.mock_open(), create=True)
- @mock.patch('redmine.packages.requests.put')
- @mock.patch('redmine.packages.requests.post')
+ @mock.patch('redmine.requests.put')
+ @mock.patch('redmine.requests.post')
def test_update_resource_with_uploads(self, mock_post, mock_put):
mock_put.return_value = mock.Mock(status_code=200, content='')
mock_post.return_value = response = mock.Mock(status_code=201)
@@ -118,7 +118,7 @@
self.assertEqual(manager.update(1, subject='Bar', uploads=[{'path': 'foo'}]), True)
del manager.params['subject']
- @mock.patch('redmine.packages.requests.delete')
+ @mock.patch('redmine.requests.delete')
def test_delete_resource(self, mock_delete):
mock_delete.return_value = mock.Mock(status_code=200, content='')
self.assertEqual(self.redmine.group.delete(1), True)
@@ -178,20 +178,20 @@
self.assertEqual(project.url, unpickled_project.url)
self.assertEqual(project.params['foo'], unpickled_project.params['foo'])
- @mock.patch('redmine.packages.requests.put')
- @mock.patch('redmine.packages.requests.post')
+ @mock.patch('redmine.requests.put')
+ @mock.patch('redmine.requests.post')
def test_create_validation_exception_via_put(self, mock_post, mock_put):
mock_post.return_value = mock.Mock(status_code=404)
mock_put.return_value = mock.Mock(status_code=200)
self.assertRaises(ValidationError, lambda: self.redmine.user.create(firstname='John', lastname='Smith'))
- @mock.patch('redmine.packages.requests.get')
+ @mock.patch('redmine.requests.get')
def test_reraises_not_found_exception(self, mock_get):
from redmine.exceptions import ResourceNotFoundError
mock_get.return_value = mock.Mock(status_code=404)
self.assertRaises(ResourceNotFoundError, lambda: self.redmine.project.get('non-existent-project'))
- @mock.patch('redmine.packages.requests.get')
+ @mock.patch('redmine.requests.get')
def test_resource_requirements_exception(self, mock_get):
from redmine.exceptions import ResourceRequirementsError
FooResource.requirements = ('foo plugin', ('bar plugin', '1.2.3'),)
--- a/tests/test_redmine.py
+++ b/tests/test_redmine.py
@@ -51,9 +51,9 @@
self.url = URL
self.redmine = Redmine(self.url)
self.response = mock.Mock()
- patcher_get = mock.patch('redmine.packages.requests.get', return_value=self.response)
- patcher_post = mock.patch('redmine.packages.requests.post', return_value=self.response)
- patcher_put = mock.patch('redmine.packages.requests.put', return_value=self.response)
+ patcher_get = mock.patch('redmine.requests.get', return_value=self.response)
+ patcher_post = mock.patch('redmine.requests.post', return_value=self.response)
+ patcher_put = mock.patch('redmine.requests.put', return_value=self.response)
patcher_get.start()
patcher_post.start()
patcher_put.start()
--- a/tests/test_resources.py
+++ b/tests/test_resources.py
@@ -104,10 +104,10 @@
self.url = URL
self.redmine = Redmine(self.url)
self.response = mock.Mock(status_code=200)
- patcher_get = mock.patch('redmine.packages.requests.get', return_value=self.response)
- patcher_post = mock.patch('redmine.packages.requests.post', return_value=self.response)
- patcher_put = mock.patch('redmine.packages.requests.put', return_value=self.response)
- patcher_delete = mock.patch('redmine.packages.requests.delete', return_value=self.response)
+ patcher_get = mock.patch('redmine.requests.get', return_value=self.response)
+ patcher_post = mock.patch('redmine.requests.post', return_value=self.response)
+ patcher_put = mock.patch('redmine.requests.put', return_value=self.response)
+ patcher_delete = mock.patch('redmine.requests.delete', return_value=self.response)
patcher_get.start()
patcher_post.start()
patcher_put.start()
--- a/tests/test_resultsets.py
+++ b/tests/test_resultsets.py
@@ -14,9 +14,9 @@
self.url = URL
self.redmine = Redmine(self.url)
self.response = mock.Mock(status_code=200, json=mock.Mock(return_value=response))
- patcher_get = mock.patch('redmine.packages.requests.get', return_value=self.response)
- patcher_put = mock.patch('redmine.packages.requests.put', return_value=self.response)
- patcher_delete = mock.patch('redmine.packages.requests.delete', return_value=self.response)
+ patcher_get = mock.patch('redmine.requests.get', return_value=self.response)
+ patcher_put = mock.patch('redmine.requests.put', return_value=self.response)
+ patcher_delete = mock.patch('redmine.requests.delete', return_value=self.response)
patcher_get.start()
patcher_put.start()
patcher_delete.start()
--- a/setup.py
+++ b/setup.py
@@ -63,6 +63,7 @@
description='Library for communicating with a Redmine project management application',
long_description=open('README.rst').read() + '\n\n' + open('CHANGELOG.rst').read(),
keywords='redmine,redminecrm,easyredmine',
+ install_requires=['requests >= 0.12.1'],
tests_require=tests_require,
cmdclass={'test': NoseTests},
zip_safe=False,