recovery(minor): add unittests
This commit is contained in:
parent
65a065c4ee
commit
8bdf12cff1
31
passbook/recovery/tests.py
Normal file
31
passbook/recovery/tests.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
"""recovery tests"""
|
||||||
|
from io import StringIO
|
||||||
|
|
||||||
|
from django.core.management import call_command
|
||||||
|
from django.shortcuts import reverse
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from passbook.core.models import Nonce, User
|
||||||
|
|
||||||
|
|
||||||
|
class TestRecovery(TestCase):
|
||||||
|
"""recovery tests"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.user = User.objects.create_user(
|
||||||
|
username='recovery-test-user')
|
||||||
|
|
||||||
|
def test_create_key(self):
|
||||||
|
"""Test creation of a new key"""
|
||||||
|
out = StringIO()
|
||||||
|
self.assertEqual(len(Nonce.objects.all()), 0)
|
||||||
|
call_command('create_recovery_key', '1', self.user.username, stdout=out)
|
||||||
|
self.assertIn('https://localhost/recovery/use-nonce/', out.getvalue())
|
||||||
|
self.assertEqual(len(Nonce.objects.all()), 1)
|
||||||
|
|
||||||
|
def test_recovery_view(self):
|
||||||
|
"""Test recovery view"""
|
||||||
|
call_command('create_recovery_key', '1', self.user.username)
|
||||||
|
nonce = Nonce.objects.first()
|
||||||
|
self.client.get(reverse('passbook_recovery:use-nonce', kwargs={'uuid': str(nonce.uuid)}))
|
||||||
|
self.assertEqual(int(self.client.session['_auth_user_id']), nonce.user.pk)
|
Reference in a new issue