J'essaye de construire un test pour une vue qui est décorée avec @login_required, puisque je n'ai pas réussi à le faire fonctionner, j'ai fait un simple test et je ne peux toujours pas faites-le passer.Django: test échouant sur une vue avec @login_required
Voici le code pour le test simple et la vue:
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() sauve l'utilisateur et il y a un test dans cette méthode pour voir qui fonctionne.
Le test échoue dans le response.status_code, le retour 302 et l'instance de réponse est d'un HttpResponseRedirect, réoriente comme sinon connecté.
Un indice? Il me manque quelque chose?
Cordialement Esteban
@aeby: Je copié et collé votre code et toujours obtenir un 302, utilisez-vous @login_required à votre avis? –
Django version 1.1.1 - Double vérifié que la vue testlogin travaille à partir du navigateur et qui est disponible uniquement par utilisateur connecté –
Oui je fais: de django.contrib.auth.decorators importation login_required @login_required def testlogin (demande): return HttpResponse ("Test") –