mirror of
https://github.com/pinry/pinry.git
synced 2025-11-14 09:05:41 +01:00
Fix test by mocking requests.get function
This commit is contained in:
@@ -18,8 +18,9 @@ def filter_generator_for(size):
|
|||||||
return wrapped_func
|
return wrapped_func
|
||||||
|
|
||||||
|
|
||||||
def mock_urlopen(url):
|
def mock_requests_get(url):
|
||||||
return open('logo.png')
|
response = mock.Mock(content=open('logo.png').read())
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
class ImageResourceTest(ResourceTestCase):
|
class ImageResourceTest(ResourceTestCase):
|
||||||
@@ -62,7 +63,7 @@ class PinResourceTest(ResourceTestCase):
|
|||||||
self.user = UserFactory(password='password')
|
self.user = UserFactory(password='password')
|
||||||
self.api_client.client.login(username=self.user.username, password='password')
|
self.api_client.client.login(username=self.user.username, password='password')
|
||||||
|
|
||||||
@mock.patch('urllib2.urlopen', mock_urlopen)
|
@mock.patch('requests.get', mock_requests_get)
|
||||||
def test_post_create_url(self):
|
def test_post_create_url(self):
|
||||||
post_data = {
|
post_data = {
|
||||||
'submitter': '/api/v1/user/1/',
|
'submitter': '/api/v1/user/1/',
|
||||||
@@ -74,7 +75,7 @@ class PinResourceTest(ResourceTestCase):
|
|||||||
self.assertEqual(Pin.objects.count(), 1)
|
self.assertEqual(Pin.objects.count(), 1)
|
||||||
self.assertEqual(Image.objects.count(), 1)
|
self.assertEqual(Image.objects.count(), 1)
|
||||||
|
|
||||||
@mock.patch('urllib2.urlopen', mock_urlopen)
|
@mock.patch('requests.get', mock_requests_get)
|
||||||
def test_post_create_url_with_empty_tags(self):
|
def test_post_create_url_with_empty_tags(self):
|
||||||
url = 'http://testserver/mocked/logo.png'
|
url = 'http://testserver/mocked/logo.png'
|
||||||
post_data = {
|
post_data = {
|
||||||
@@ -90,7 +91,7 @@ class PinResourceTest(ResourceTestCase):
|
|||||||
pin = Pin.objects.get(url=url)
|
pin = Pin.objects.get(url=url)
|
||||||
self.assertEqual(pin.tags.count(), 0)
|
self.assertEqual(pin.tags.count(), 0)
|
||||||
|
|
||||||
@mock.patch('urllib2.urlopen', mock_urlopen)
|
@mock.patch('requests.get', mock_requests_get)
|
||||||
def test_post_create_url_with_empty_origin(self):
|
def test_post_create_url_with_empty_origin(self):
|
||||||
url = 'http://testserver/mocked/logo.png'
|
url = 'http://testserver/mocked/logo.png'
|
||||||
post_data = {
|
post_data = {
|
||||||
@@ -105,7 +106,7 @@ class PinResourceTest(ResourceTestCase):
|
|||||||
self.assertEqual(Image.objects.count(), 1)
|
self.assertEqual(Image.objects.count(), 1)
|
||||||
self.assertEqual(Pin.objects.get(url=url).origin, None)
|
self.assertEqual(Pin.objects.get(url=url).origin, None)
|
||||||
|
|
||||||
@mock.patch('urllib2.urlopen', mock_urlopen)
|
@mock.patch('requests.get', mock_requests_get)
|
||||||
def test_post_create_url_with_origin(self):
|
def test_post_create_url_with_origin(self):
|
||||||
origin = 'http://testserver/mocked/'
|
origin = 'http://testserver/mocked/'
|
||||||
url = origin + 'logo.png'
|
url = origin + 'logo.png'
|
||||||
|
|||||||
@@ -9,8 +9,9 @@ from ..core.models import Image, Pin
|
|||||||
from .models import User
|
from .models import User
|
||||||
|
|
||||||
|
|
||||||
def mock_urlopen(url):
|
def mock_requests_get(url):
|
||||||
return open('logo.png')
|
response = mock.Mock(content=open('logo.png').read())
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
class CombinedAuthBackendTest(TestCase):
|
class CombinedAuthBackendTest(TestCase):
|
||||||
@@ -33,14 +34,14 @@ class CombinedAuthBackendTest(TestCase):
|
|||||||
def test_authenticate_unknown_user(self):
|
def test_authenticate_unknown_user(self):
|
||||||
self.assertIsNone(self.backend.authenticate(username='wrong-username', password='wrong-password'))
|
self.assertIsNone(self.backend.authenticate(username='wrong-username', password='wrong-password'))
|
||||||
|
|
||||||
@mock.patch('urllib2.urlopen', mock_urlopen)
|
@mock.patch('requests.get', mock_requests_get)
|
||||||
def test_has_perm_on_pin(self):
|
def test_has_perm_on_pin(self):
|
||||||
image = Image.objects.create_for_url('http://testserver/mocked/screenshot.png')
|
image = Image.objects.create_for_url('http://testserver/mocked/screenshot.png')
|
||||||
user = User.objects.get(pk=1)
|
user = User.objects.get(pk=1)
|
||||||
pin = Pin.objects.create(submitter=user, image=image)
|
pin = Pin.objects.create(submitter=user, image=image)
|
||||||
self.assertTrue(self.backend.has_perm(user, 'add_pin', pin))
|
self.assertTrue(self.backend.has_perm(user, 'add_pin', pin))
|
||||||
|
|
||||||
@mock.patch('urllib2.urlopen', mock_urlopen)
|
@mock.patch('requests.get', mock_requests_get)
|
||||||
def test_has_perm_on_pin_unauthorized(self):
|
def test_has_perm_on_pin_unauthorized(self):
|
||||||
image = Image.objects.create_for_url('http://testserver/mocked/screenshot.png')
|
image = Image.objects.create_for_url('http://testserver/mocked/screenshot.png')
|
||||||
user = User.objects.get(pk=1)
|
user = User.objects.get(pk=1)
|
||||||
@@ -73,4 +74,4 @@ class LogoutViewTest(TestCase):
|
|||||||
|
|
||||||
def test_logout_view(self):
|
def test_logout_view(self):
|
||||||
response = self.client.get(reverse('users:logout'))
|
response = self.client.get(reverse('users:logout'))
|
||||||
self.assertRedirects(response, reverse('core:recent-pins'))
|
self.assertRedirects(response, reverse('core:recent-pins'))
|
||||||
|
|||||||
Reference in New Issue
Block a user