def post(self): # get the post data post_data = request.get_json() # check if user already exists user = User.query.filter_by(email=post_data.get('email')).first() if not user: try: user = User(email=post_data.get('email'), name=post_data.get('name'), password=post_data.get('password'), admin=post_data.get('admin')) # insert the user db.session.add(user) db.session.commit() # generate the auth token auth_token = user.encode_auth_token(user.id) responseObject = {'status': 'success', 'data': user._asdict()} return make_response(json.dumps(responseObject, default=str)), 200 except Exception as e: print(e) responseObject = { 'status': 'fail', 'message': 'Some error occurred. Please try again.' } return make_response(json.dumps(responseObject, default=str)), 401 else: responseObject = { 'status': 'fail', 'message': 'User already exists. Please Log in.', } return make_response(json.dumps(responseObject, default=str)), 202
def add_super_admin(): """Adds first admin here""" email = "*****@*****.**" name = "Tafang Joshua" password = "******" user = User(email=email, name=name, password=password, admin=True) db.session.add(user) db.session.commit()
def test_decode_auth_token(self): user = User(email='*****@*****.**', password='******') db.session.add(user) db.session.commit() auth_token = user.encode_auth_token(user.id) self.assertTrue(isinstance(auth_token, bytes)) self.assertTrue( User.decode_auth_token(auth_token.decode("utf-8")) == 1)
def test_registered_with_already_registered_user(self): """ Test registration with already registered email""" user = User(email='*****@*****.**', password='******') db.session.add(user) db.session.commit() with self.client: response = register_user(self, '*****@*****.**', '123456') data = json.loads(response.data.decode()) self.assertTrue(data['status'] == 'fail') self.assertTrue( data['message'] == 'User already exists. Please Log in.') self.assertTrue(response.content_type == 'application/json') self.assertEqual(response.status_code, 202)