diff --git a/passbook/factors/tests/test_auth_view.py b/passbook/factors/tests.py similarity index 100% rename from passbook/factors/tests/test_auth_view.py rename to passbook/factors/tests.py diff --git a/passbook/factors/tests/__init__.py b/passbook/factors/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/passbook/recovery/tests.py b/passbook/recovery/tests.py new file mode 100644 index 000000000..9057295e1 --- /dev/null +++ b/passbook/recovery/tests.py @@ -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)