self.client = Client(**client_kwargs)
super(SocialAuthTestsCase, self).__init__(*args, **kwargs)
+ def test_backend_cache(self):
+ """Ensure that the backend for the testcase gets cached."""
+ try:
+ self.name
+ except AttributeError:
+ pass
+ else:
+ from social_auth import backends
+ backends.BACKENDS = {}
+ self.client.get(self.reverse('socialauth_begin', self.name))
+ self.assertTrue(self.name in backends.BACKENDS)
+
def get_content(self, url, data=None, use_cookies=False):
"""Return content for given url, if data is not None, then a POST
request will be issued, otherwise GET will be used"""
class FacebookTestCase(SocialAuthTestsCase):
SERVER_NAME = 'myapp.com'
SERVER_PORT = '8000'
+ name = 'facebook'
def setUp(self, *args, **kwargs):
super(FacebookTestCase, self).setUp(*args, **kwargs)
class GoogleTestCase(SocialAuthTestsCase):
+
+ name = 'google'
+
def setUp(self, *args, **kwargs):
super(GoogleTestCase, self).setUp(*args, **kwargs)
self.user = getattr(settings, 'TEST_GOOGLE_USER', None)
class TwitterTestCase(SocialAuthTestsCase):
+
+ name = 'twitter'
+
def setUp(self, *args, **kwargs):
super(TwitterTestCase, self).setUp(*args, **kwargs)
self.user = getattr(settings, 'TEST_TWITTER_USER', None)
def test_login_succeful(self):
response = self.client.get(self.reverse('socialauth_begin', 'twitter'))
# social_auth must redirect to service page
+ #import pdb; pdb.set_trace()
self.assertEqual(response.status_code, 302)
# Open first redirect page, it contains user login form because