Utworzyłem użytkowników do moich testów jednostkowych na dwa sposoby:
1) Utwórz urządzenie dla „auth.user”, które wygląda mniej więcej tak:
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
Pominąłem pozornie nieistotne części.
2) Użyj 'create_user' w funkcji setUp (chociaż wolałbym zachować wszystko w mojej klasie urządzeń):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
Zauważ, że hasło to simpson w obu przypadkach.
Sprawdziłem, czy te informacje są poprawnie ładowane do testowej bazy danych raz po raz. Mogę pobrać obiekt użytkownika za pomocą User.objects.get. Mogę sprawdzić, czy hasło jest prawidłowe, używając opcji „check_password”. Użytkownik jest aktywny.
Jednak niezmiennie self.client.login (nazwa użytkownika = 'homer', hasło = 'simpson') FAILS. Jestem zdumiony, dlaczego. Wydaje mi się, że czytałem każdą dyskusję internetową na ten temat. Czy ktoś może pomóc?
Kod logowania w moim teście jednostkowym wygląda następująco:
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
Dzięki.