Estoy intentando construir una prueba para una vista que está decorada con @login_required, ya que no pude hacerlo funcionar, hice una prueba simple y todavía no puedo hazlo pasarDjango: error de prueba en una vista con @login_required
Aquí es el código de la simple prueba y la vista:
def test_login(self):
user = self._create_new_user()
self.assertTrue(user.is_active)
login = self.client.login(username=user.username,
password=self.data['password1'])
self.failUnless(login, 'Could not log in')
response = self.client.get('/accounts/testlogin/')
self.assertEqual(response.status_code, 200)
@login_required
def testlogin(request):
print 'testlogin !! '
return HttpResponse('OK')
_create_new_user() es el ahorro al usuario y no es una prueba de que en el interior método para ver que está trabajando.
la prueba falla en el response.status_code, volviendo 302 y la instancia respuesta es de un HttpResponseRedirect, se redirigir como si no iniciado sesión.
Alguna pista? Me falta algo?
Saludos Esteban
@aeby: He copiado y pegado el código y aún así obtener una 302, ¿Estás usando @login_required en tu vista? –
Django versión 1.1.1 - Doble comprobó que la vista TESTLOGIN está trabajando desde el navegador y que está disponible solamente por el usuario conectado en –
Sí, lo creo: de django.contrib.auth.decorators importar a partir de login_required @login_required def TESTLOGIN (petición): return HttpResponse ("Test") –