|
- from django.test import TestCase
-
- from api import models
- from api.tests import factories
- from api.data_migrations import create_password_with
-
-
- class DataMigrationTestCase(TestCase):
- def setUp(self):
- self.user = factories.UserFactory()
-
- def test_create_password_with_entry(self):
- entry = factories.EntryFactory(user=self.user)
-
- create_password_with(entry)
-
- password = models.Password.objects.get(id=entry.id)
- self.assertEqual(entry.user, password.user)
- self.assertEqual(entry.login, password.login)
- self.assertEqual(entry.site, password.site)
-
- def test_create_password_with_entry_copy_password_info(self):
- entry = factories.EntryFactory(user=self.user)
-
- create_password_with(entry)
-
- password = models.Password.objects.get(id=entry.id)
- self.assertTrue(password.lowercase)
- self.assertTrue(password.uppercase)
- self.assertTrue(password.symbols)
- self.assertTrue(password.numbers)
- self.assertEqual(entry.password.length, password.length)
- self.assertEqual(entry.password.counter, password.counter)
-
- def test_create_password_robust(self):
- password_info = factories.PasswordInfoFactory(settings='["lowercase", "numbers"]', counter=2, length=14)
- entry = factories.EntryFactory(site='migration.com', login='contact@migration.com',
- user=self.user, password=password_info)
-
- create_password_with(entry)
-
- password = models.Password.objects.get(id=entry.id)
- self.assertEqual(self.user, password.user)
- self.assertEqual('contact@migration.com', password.login)
- self.assertEqual('migration.com', password.site)
- self.assertTrue(password.lowercase)
- self.assertFalse(password.uppercase)
- self.assertFalse(password.symbols)
- self.assertTrue(password.numbers)
- self.assertEqual(14, password.length)
- self.assertEqual(2, password.counter)
|