Пример #1
0
 def test_generate_confirmation_token(self):
     # Ensure token is generated and unique
     timestamp = time.time()
     token_one = generate_confirmation_token('*****@*****.**', 1,
                                             timestamp)
     token_two = generate_confirmation_token('*****@*****.**', 2, timestamp)
     self.assertTrue(token_one)
     self.assertTrue(token_one != token_two)
Пример #2
0
 def test_generate_confirmation_token(self):
     # Ensure token is generated and unique
     timestamp = time.time()
     token_one = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     token_two = generate_confirmation_token(
         '*****@*****.**', 2, timestamp)
     self.assertTrue(token_one)
     self.assertTrue(token_one != token_two)
Пример #3
0
 def test_expired_confirmation_token(self):
     # Ensure expired token is invalid
     timestamp = time.time()
     token = generate_confirmation_token('*****@*****.**', 1, timestamp)
     time.sleep(2)  # expire token
     user_info = confirm_token(token, expiration=1)
     self.assertFalse(user_info)
Пример #4
0
 def test_validate_confirmation_token_not_logged_in(self):
     # Ensure valid token cannot be successfully confirmed in the views
     timestamp = time.time()
     token = generate_confirmation_token('*****@*****.**', 1, timestamp)
     response = self.client.get('/confirm/' + str(token),
                                follow_redirects=True)
     self.assertEqual(response.status_code, 200)
     self.assertIn('Sign In', response.data)
Пример #5
0
 def test_expired_confirmation_token(self):
     # Ensure expired token is invalid
     timestamp = time.time()
     token = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     time.sleep(2)  # expire token
     user_info = confirm_token(token, expiration=1)
     self.assertFalse(user_info)
Пример #6
0
 def test_valid_confirmation_token(self):
     # Ensure token is valid
     timestamp = time.time()
     token = generate_confirmation_token('*****@*****.**', 1, timestamp)
     user_info = confirm_token(token)
     self.assertEqual(user_info[0], '*****@*****.**')
     self.assertFalse(user_info[0] == '*****@*****.**')
     self.assertEqual(user_info[1], 1)
     self.assertEqual(user_info[2], timestamp)
Пример #7
0
 def test_validate_confirmation_token_not_logged_in(self):
     # Ensure valid token cannot be successfully confirmed in the views
     timestamp = time.time()
     token = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     response = self.client.get(
         '/confirm/'+str(token), follow_redirects=True)
     self.assertEqual(response.status_code, 200)
     self.assertIn('Sign In', response.data)
Пример #8
0
 def test_valid_confirmation_token(self):
     # Ensure token is valid
     timestamp = time.time()
     token = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     user_info = confirm_token(token)
     self.assertEqual(user_info[0], '*****@*****.**')
     self.assertFalse(user_info[0] == '*****@*****.**')
     self.assertEqual(user_info[1], 1)
     self.assertEqual(user_info[2], timestamp)
Пример #9
0
 def test_validate_confirmation_token_invalid_email(self):
     # Ensure invalid email cannot be successfully confirmed in the views
     timestamp = time.time()
     token = generate_confirmation_token('*****@*****.**', 1,
                                         timestamp)
     with self.client:
         self.client.post('/login',
                          data=dict(email='*****@*****.**',
                                    password='******'),
                          follow_redirects=True)
         response = self.client.get('/confirm/' + str(token),
                                    follow_redirects=True)
         user = User()
         user = user.get('username', '*****@*****.**', g.rdb_conn)
         self.assertFalse(user.confirmed)
         self.assertEqual(response.status_code, 200)
         self.assertIn('Login', response.data)
         self.assertIn('The confirmation link is invalid', response.data)
Пример #10
0
 def test_validate_confirmation_token(self):
     # Ensure valid token can be successfully confirmed in the views
     timestamp = time.time()
     token = generate_confirmation_token('*****@*****.**', 1, timestamp)
     with self.client:
         self.client.post('/login',
                          data=dict(email='*****@*****.**',
                                    password='******'),
                          follow_redirects=True)
         response = self.client.get('/confirm/' + str(token),
                                    follow_redirects=True)
         user = User()
         user = user.get('username', '*****@*****.**', g.rdb_conn)
         self.assertTrue(user.confirmed)
         self.assertEqual(response.status_code, 200)
         self.assertIn('Dashboard', response.data)
         self.assertIn('You have confirmed your account. Thanks!',
                       response.data)
Пример #11
0
 def test_validate_confirmation_token_invalid_email(self):
     # Ensure invalid email cannot be successfully confirmed in the views
     timestamp = time.time()
     token = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     with self.client:
         self.client.post('/login', data=dict(
             email='*****@*****.**', password='******'
         ), follow_redirects=True)
         response = self.client.get(
             '/confirm/'+str(token), follow_redirects=True)
         user = User()
         user = user.get('username', '*****@*****.**', g.rdb_conn)
         self.assertFalse(user.confirmed)
         self.assertEqual(response.status_code, 200)
         self.assertIn('Login', response.data)
         self.assertIn('The confirmation link is invalid',
                       response.data)
Пример #12
0
 def test_validate_confirmation_token(self):
     # Ensure valid token can be successfully confirmed in the views
     timestamp = time.time()
     token = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     with self.client:
         self.client.post('/login', data=dict(
             email='*****@*****.**', password='******'
         ), follow_redirects=True)
         response = self.client.get(
             '/confirm/'+str(token), follow_redirects=True)
         user = User()
         user = user.get('username', '*****@*****.**', g.rdb_conn)
         self.assertTrue(user.confirmed)
         self.assertEqual(response.status_code, 200)
         self.assertIn('Runbooks', response.data)
         self.assertIn('You have confirmed your account. Thanks!',
                       response.data)
Пример #13
0
 def test_already_confirmed(self):
     # Ensure user is redirected if already confirmed
     timestamp = time.time()
     token = generate_confirmation_token(
         '*****@*****.**', 1, timestamp)
     with self.client:
         self.client.post('/login', data=dict(
             email='*****@*****.**', password='******'
         ), follow_redirects=True)
         user = User()
         user = user.get('username', '*****@*****.**', g.rdb_conn)
         r.table('users').get(user.uid).update(
             {'confirmed': True}).run(g.rdb_conn)
         response = self.client.get(
             '/confirm/'+str(token), follow_redirects=True)
         self.assertEqual(response.status_code, 200)
         self.assertIn('Runbooks', response.data)
         self.assertIn('Account already confirmed. Thank you.',
                       response.data)