Refactor after the review, add test
This commit is contained in:
@@ -915,39 +915,13 @@ class LoginFailures(models.Model):
|
||||
except ObjectDoesNotExist:
|
||||
return
|
||||
|
||||
def __repr__(self):
|
||||
"""Repr -> LoginFailures(username, count, date)"""
|
||||
date_str = '-'
|
||||
if self.lockout_until is not None:
|
||||
date_str = self.lockout_until.isoformat()
|
||||
|
||||
try:
|
||||
username = unicode(self.user.username, 'utf-8')
|
||||
except TypeError:
|
||||
username = self.user.username
|
||||
|
||||
return u'LoginFailures({username}, {count}, {date})'.format(
|
||||
username=username,
|
||||
count=self.failure_count,
|
||||
date=date_str
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
"""Str -> Username: count - date."""
|
||||
date_str = '-'
|
||||
if self.lockout_until is not None:
|
||||
date_str = self.lockout_until.isoformat()
|
||||
|
||||
try:
|
||||
username = unicode(self.user.username, 'utf-8')
|
||||
except TypeError:
|
||||
username = self.user.username
|
||||
|
||||
return u'{username}: {count} - {date}'.format(
|
||||
username=username,
|
||||
return six.text_type('{username}: {count} - {date}'.format(
|
||||
username=self.user.username,
|
||||
count=self.failure_count,
|
||||
date=date_str
|
||||
)
|
||||
date=self.lockout_until.isoformat() if self.lockout_until else '-'
|
||||
))
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Login Failure'
|
||||
|
||||
@@ -333,6 +333,16 @@ class LoginFailuresAdminTest(TestCase):
|
||||
super(LoginFailuresAdminTest, self).tearDown()
|
||||
LoginFailures.objects.all().delete()
|
||||
|
||||
def test_unicode_username(self):
|
||||
"""
|
||||
Test if `__str__` method behaves correctly for unicode username.
|
||||
It shouldn't raise `TypeError`.
|
||||
"""
|
||||
try:
|
||||
map(str, LoginFailures.objects.all())
|
||||
except TypeError, e:
|
||||
self.fail("Failed executing `__str__` with unicode: {0}".format(e))
|
||||
|
||||
@ddt.data(
|
||||
reverse('admin:student_loginfailures_changelist'),
|
||||
reverse('admin:student_loginfailures_add'),
|
||||
|
||||
Reference in New Issue
Block a user