def test_user_doesnt_exist(self): uid = str(uuid.uuid4()) password = "******" body = self.req(uid, body={'password': password}) self.assertEqual(self.srmock.status, falcon.HTTP_200) body = json.loads(body) self.assertEqual({}, body) user = model.user.read(uid) self.assertEqual(UnicodeType, type(user.get_password())) self.assertEqual(password, user.get_password()) self.assertEqual(None, user.get_token())
def test_user_already_exists(self): uid = str(uuid.uuid4()) old_password = "******" new_password = "******" user = User(uid=uid, password=old_password) user.write() body = self.req(uid, body={'password': new_password}) user = model.user.read(uid) self.assertEqual(new_password, user.get_password())
def test_validate_password_correct(self): uid = str(uuid.uuid4()) password = "******" user = User(uid=uid, password=password) user.write() body = self.req(uid, password) user = model.user.read(uid) body = json.loads(body) self.assertEqual(self.srmock.status, falcon.HTTP_200) self.assertEqual(body['token'], user.get_token()) self.assertEqual(password, user.get_password())
def test_user_already_exists(self): uid = "222" old_token = str(uuid.uuid4()) password = "******" user = User(uid=uid, password=password, auth_token=old_token) user.write() body = self.req(uid) body = json.loads(body) user = model.user.read(uid) self.assertEqual(password, user.get_password()) self.assertNotEqual(old_token, user.get_token()) self.assertTrue(user.get_token() == body['auth_token'])
def test_create_token_success(self): uid = "111" body = self.req(uid) self.assertEqual(self.srmock.status, falcon.HTTP_200) body = json.loads(body) self.assertEqual(1, len(body)) self.assertEqual(['auth_token'], body.keys()) user = model.user.read(uid) self.assertEqual(UnicodeType, type(user.get_token())) self.assertTrue(len(user.get_token()) > 10) self.assertTrue(user.get_token() == body['auth_token']) self.assertEqual(None, user.get_password())
def test_user_already_has_token(self): uid = str(uuid.uuid4()) password = "******" old_token = "abc" user = User(uid=uid, password=password, token=old_token) user.write() body = self.req(uid, password) user = model.user.read(uid) body = json.loads(body) self.assertEqual(self.srmock.status, falcon.HTTP_200) self.assertEqual(body['token'], user.get_token()) self.assertEqual(password, user.get_password()) self.assertNotEqual(old_token, user.get_token())
def on_post(self, req, resp, uid): password = req.context['body'].get('password') user = model.user.try_read(uid) if user == None: req.context['result'] = {'errors': [{'code': "user_not_found"}]} resp.status = falcon.HTTP_404 else: if password == user.get_password(): token = common.create_token() user.set_token(token) user.write() req.context['result'] = {'token': token} resp.status = falcon.HTTP_200 else: req.context['result'] = { 'errors': [{ 'code': "password_invalid" }] } resp.status = falcon.HTTP_401