Exemplo n.º 1
0
    def test_attrs(self):
        # start with the defaults
        at = AccessToken()
        self.assertEqual(at.token, '')
        self.assertEqual(at.is_active, True)
        self.assertEqual(at.expires_on, default_expiry())
        self.assertEqual(at.created_at, None)
        self.assertEqual(at.updated_at, None)
        self.assertEqual(at.created_by, None)

        # check the timestamps
        at = at.save()
        self.assertIsNotNone(at.created_at)
        self.assertEqual(at.updated_at, at.created_at)

        # check the timestamps are updated
        x = at.created_at
        at = at.save()
        # created_at is _not_ updated
        self.assertEqual(at.created_at, x)
        # but updated_at _is_
        self.assertTrue(at.updated_at > at.created_at)

        self.assertTrue(at.is_valid)
        self.assertFalse(at.has_expired)
Exemplo n.º 2
0
class GatewayFormTests(TestCase):

    def setUp(self):
        self.factory = RequestFactory()
        self.payload = {
            'token': "test",
            'email': "*****@*****.**",
            'name': "Hugo Rodger-Brown"
        }
        self.request = self.factory.post('/',
            data=self.payload,
            REMOTE_ADDR='127.0.0.1',
            HTTP_USER_AGENT='test_agent'
        )
        self.token = AccessToken(token="test").save()
        self.form = GatewayForm(self.request.POST)

    def test_post_valid_token(self):
        self.assertTrue(self.form.is_valid())
        self.assertEqual(self.form.token, self.token)

    def test_clean_inactive_token(self):
        self.token.is_active = False
        self.token.save(update_fields=['is_active'])
        self.assertFalse(self.form.is_valid())
        self.assertRaises(ValidationError, self.form.clean_token)

    def test_clean_expired_token(self):
        self.token.expires_on = YESTERDAY
        self.token.save(update_fields=['expires_on'])
        self.assertFalse(self.form.is_valid())
        self.assertRaises(ValidationError, self.form.clean_token)

    def test_no_matching_token(self):
        AccessToken.objects.all().delete()
        self.assertFalse(self.form.is_valid())
        self.assertRaises(ValidationError, self.form.clean_token)

    def test_save(self):
        self.request.session = {}
        self.assertTrue(self.form.is_valid())
        au = self.form.save(self.request)
        self.assertTrue(AccessTokenUse.objects.get(), au)
        self.assertEqual(au.user_email, self.payload['email'])
        self.assertEqual(au.user_name, self.payload['name'])
        self.assertEqual(au.token, self.token)
        self.assertEqual(au.client_ip, '127.0.0.1')
        self.assertEqual(au.client_user_agent, 'test_agent')