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)
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')