def test_avatar_url(self):
     email = '*****@*****.**'
     result = avatar.avatar(email=email, width=40, height=50)
     url = urllib.parse.urlparse(result)
     hashed_email = str(hashlib.md5(email.encode('utf8')).hexdigest())
     self.assertEqual(url.path, '/avatar/{}'.format(hashed_email))
     query = urllib.parse.parse_qs(url.query)
     self.assertEqual(query['s'],  ['40'])
 def test_avatar_tag_no_height(self):
     url = avatar.avatar('*****@*****.**', 40)
     result = avatar.avatar_tag('*****@*****.**', 40)
     expected = '<img src="{}" width="40px" height="40px">'.format(url)
     self.assertMultiLineEqual(result, expected)
 def test_avatar_tag(self):
     extra = {'class': 'avatar'}
     url = avatar.avatar('*****@*****.**', 40, 60)
     result = avatar.avatar_tag('*****@*****.**', 40, 60, **extra)
     expected = '<img src="{}" width="40px" height="60px" class="avatar">'.format(url)
     self.assertMultiLineEqual(result, expected)