def test_counters(self): cache.clear() increment_counters(username="******", ip="127.0.0.1") increment_counters(username="******") self.assertEqual(attempt_count("username", "foo"), 2) self.assertEqual(attempt_count("ip", "127.0.0.1"), 1) self.assertEqual(attempt_count("username", "baz"), 0) reset_counters(username="******", ip="127.0.0.1") self.assertEqual(attempt_count("username", "foo"), 0) self.assertEqual(attempt_count("ip", "127.0.0.1"), 0) cache.clear()
def reset_username_throttle(request, user_id=None, redirect_url="/"): if not request.user.is_superuser: raise Http404 try: username = User.objects.get(id=user_id).username except: logger.error("Couldn't find username for user id %s." % user_id) raise Http404() reset_counters(username=username) logger.info("Authentication throttling reset for user id %s." % user_id) # TODO: Sanitize redirect_url, even though it's coming from an admin? return HttpResponseRedirect(redirect_url)