示例#1
0
    def setUp(self):
        self.user = accounts.models.User.objects.create_user(
            username="******",
            email="*****@*****.**",
            password="******",
            email_verified=True,
            twofa_enabled=True)
        self.user._test_agree_all_tos()

        self.dead_totp_device = models.TOTPDevice(owner=self.user,
                                                  last_t=0,
                                                  activated_at=timezone.now(),
                                                  deleted_at=timezone.now())
        self.dead_totp_device.save()

        self.totp_device = models.TOTPDevice(owner=self.user,
                                             last_t=0,
                                             activated_at=timezone.now())
        self.totp_device.save()

        self.backup_device = models.PaperDevice(owner=self.user,
                                                activated_at=timezone.now())
        self.backup_device.save()

        self.client = django.test.Client()
        self.login(self.client)
示例#2
0
    def test_can_render_totp(self):
        self.device = models.TOTPDevice(
            owner=self.user, activated_at=timezone.now(),
            last_t=0, base32_secret='GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ')
        self.device.save()

        self.client.get(self.path())
    def test_allows_totp_if_previous_disabled(self):
        existing_device = models.TOTPDevice(
            owner=self.user, last_t=0, activated_at=timezone.now(), deleted_at=timezone.now()
        )
        existing_device.save()

        resp = self.client.get(self.path())
        assert resp.status_code == 200
示例#4
0
    def test_disallows_multiple_totp(self):
        existing_device = models.TOTPDevice(owner=self.user,
                                            last_t=0,
                                            activated_at=timezone.now())
        existing_device.save()

        resp = self.client.get(self.path())
        assert resp.status_code == 302
示例#5
0
    def test_returns_active_device(self):
        device = models.TOTPDevice(
            owner=self.user, activated_at=timezone.now(),
            last_t=0)
        device.save()

        got_device, got_other_devices = views._get_verify_device(self.user, None)
        assert got_device == device
        assert set(got_other_devices) == set()
示例#6
0
    def setUp(self):
        self.user = accounts.models.User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******',
            email_verified=True,
            twofa_enabled=True)
        self.other_user = accounts.models.User.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******',
            email_verified=True,
            twofa_enabled=True)

        self.dead_backup_device = models.PaperDevice(
            owner=self.user,
            activated_at=timezone.now(),
            deleted_at=timezone.now())
        self.dead_backup_device.save()

        self.backup_device = models.PaperDevice(owner=self.user,
                                                activated_at=timezone.now())
        self.backup_device.save()

        self.totp_device = models.TOTPDevice(owner=self.user,
                                             activated_at=timezone.now(),
                                             last_t=0)
        self.totp_device.save()

        self.bobs_totp_device = models.TOTPDevice(owner=self.other_user,
                                                  activated_at=timezone.now(),
                                                  last_t=0)
        self.bobs_totp_device.save()

        self.client = django.test.Client()
        self.login(self.client)