2017-11-16 3 views
0

, wie ich im Testmodus Token erhalten können, wenn es nach dem LoginDaten empfangen vom Gesuch im Testmodus Django Ruhe

client = APIClient() 
client.post('/api/login/', {'username': 'username', 'password': 'password'}, format='json') 

und nach Anforderung müssen zurück Antwort von Token Schlüssel in json erzeugt. Die Verwendung von Anfragen an den Dev-Server funktioniert gut, aber wie im TEST-Modus zu verwenden?

Antwort

0

Sie können Sie django-Ruhe-Framework Testfälle. Wenn der Testfall ausgeführt wird, wird eine neue Datenbank erstellt, sodass keine Daten in der Datenbank vorhanden sind. Danach wird die Methode setUp aufgerufen, um die erforderlichen Daten für den Test zu erstellen.

from rest_framework.test import APITestCase 

class AccountTests(APITestCase): 

    def setUp(self): 
     super(AccountTests, self).setUp() 
     user = User.objects.create(user_name='username') 
     user.set_password('password') 
     user.save() 
     self.token = Token.objects.create(user=user) 

    def test_login(self): 
     url = '/api/login/' 
     data = {'username': 'username', 'password': 'password'} 
     response = self.client.post(url, data, format='json') 
     # key = response.json()['token'] 
     # self.assertEqual(key, self.token.key)