def test_session_token(self):
     user = User(email="*****@*****.**")
     user.put()
     token = user.get_session_token()
     self.assertIsNotNone(token)
     valid, data = User.verify_session_token(token)
     self.assertTrue(valid)
     self.assertEqual(user.key.id(), data['user_id'])
     token = user.get_session_token(expiration=-1)
     self.assertIsNotNone(token)
     valid, data = User.verify_session_token(token)
     self.assertFalse(valid)
 def test_password_reset(self):
     user = User(email='*****@*****.**')
     user.set_password('_foobar_')
     user.put()
     rv = self.app.post('/password/reset', data={'email': '*****@*****.**'})
     self.assertEqual(rv.status, '200 OK')
     messages = self.mail_stub.get_sent_messages(to='*****@*****.**')
     self.assertEqual(1, len(messages))
     self.assertEqual('*****@*****.**', messages[0].to)
     token = self.get_token_from_message(str(messages[0].body))
     rv = self.app.post(
         '/password/reset/confirm',
         data={'password': '******', 'reset_token': token}
     )
     self.assertEqual(rv.status, '200 OK')
     self.assertFalse(user.verify_password('_foobar_'))
     self.assertTrue(user.verify_password('_foobar_new_'))
 def test_create_user(self):
     user = User(email="*****@*****.**")
     user.put()
     self.assertEqual(user.password, None)
     self.assertEqual(1, len(User.query().fetch(2)))
     self.assertFalse(user.admin)