Django-fr

Forum

#1 01-04-2015 09:37:01

Maxtitou
Membre
Inscription : 01-04-2015
Messages : 1

[Erreur] AssertionError: 400 != 201

Bonjour, je suis nouveau sur Django et j'ai un problème que je n'arrive pas à résoudre.

Je suis en train de faire des tests unitaires, et ceux-ci ne marchent pas.

    def test_post(self):
        frame = 'presence=' + self.presence + '&datetime=2014-12-12 16:45:45'

        c = Client()
        response = c.post('/datapresence', {'presence=' + self.presence + '&datetime=2014-12-12 16:45:45'},  content_type="application/x-www-form-urlencoded", HTTP_DATE=datetime)
        self.assertEqual(response.status_code, 201)

Mon objectif est de faire une requête POST d'une trame (présence + datetime). En utilisant Advanced Rest Client, cela fonctionne parfaitement en indiquant l'url (http://localhost:8000/datapresence) et la trame (presence=50&datetime=2014-12-12 16:41:45), j'ai 201 CREATED.
Par contre avec python manage.py test, j'ai le droit à l'erreur suivante : AssertionError: 400 != 201.

Merci et désolé d'avance pour mon niveau sur Django ^^

Hors ligne

#2 07-04-2015 10:07:51

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : [Erreur] AssertionError: 400 != 201

il faut que tu regardes ce que Django retourne dans le corps de la réponse (de mémoire):
self.assertEqual(response.status_code, 201, response.content)

Hors ligne

#3 07-04-2015 10:08:29

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : [Erreur] AssertionError: 400 != 201

Note qu'il est très probable que tu n'aies pas mis le csrf token dans ton post et que Django le refuse.

Hors ligne

Pied de page des forums