class GravatarServiceTests(TestCase): """Tests for djblets.avatars.services.gravatar.""" def setUp(self): super(GravatarServiceTests, self).setUp() self.service = GravatarService(DummySettingsManager) self.request = HttpRequest() self.user = User(username='******', email='*****@*****.**', first_name='User', last_name='Name') def test_urls(self): """Testing GravatarService.get_avatar_urls""" urls = self.service.get_avatar_urls(self.request, self.user, 48) self.assertEqual( urls['1x'], get_gravatar_url_for_email(email=self.user.email, size=48)) self.assertEqual( urls['2x'], get_gravatar_url_for_email(email=self.user.email, size=96)) def test_render_safely(self): """Testing GravatarService.render renders to HTML safely""" with self.settings(GRAVATAR_RATING='G'): urls = self.service.get_avatar_urls(self.request, self.user, 48) self.assertIn('&', urls['1x']) self.assertNotIn('&', urls['1x']) self.assertIn('&', urls['2x']) self.assertNotIn('&', urls['2x'])
class GravatarServiceTests(TestCase): """Tests for djblets.avatars.services.gravatar.""" @classmethod def setUpClass(cls): super(GravatarServiceTests, cls).setUpClass() cls._request_factory = RequestFactory() def setUp(self): super(GravatarServiceTests, self).setUp() self.service = GravatarService(DummySettingsManager) self.request = self._request_factory.get('/') self.user = User(username='******', email='*****@*****.**', first_name='User', last_name='Name') def test_urls(self): """Testing GravatarService.get_avatar_urls""" urls = self.service.get_avatar_urls(self.request, self.user, 48) self.assertEqual( urls['1x'], get_gravatar_url_for_email(email=self.user.email, size=48)) self.assertEqual( urls['2x'], get_gravatar_url_for_email(email=self.user.email, size=96)) def test_render_safely(self): """Testing GravatarService.render renders to HTML safely""" with self.settings(GRAVATAR_RATING='G'): urls = self.service.get_avatar_urls(self.request, self.user, 48) self.assertIn('&', urls['1x']) self.assertNotIn('&', urls['1x']) self.assertIn('&', urls['2x']) self.assertNotIn('&', urls['2x']) def test_user_without_email(self): """Testing GravatarService.render with a user without an email address """ user = User(username='******', first_name='User', last_name='Name') urls = self.service.get_avatar_urls(self.request, user, 48) base_url = ('https://secure.gravatar.com/avatar/' '00000000000000000000000000000000?s=%s') self.assertEqual(urls, { '1x': base_url % 48, '2x': base_url % 96, '3x': base_url % 144, })