def create_user(): with app.app_context(): user = models.User('test', '*****@*****.**') user.end_point = models.EndPoint.get_default() user.billing_plan = models.BillingPlan.get_default(user.end_point) models.db.session.add(user) models.db.session.commit() return user.id
def create_user(geojson_feature_collection): with app.app_context(): user = models.User('test', '*****@*****.**') user.end_point = models.EndPoint.get_default() user.billing_plan = models.BillingPlan.get_default(user.end_point) user.shape = json.dumps(geojson_feature_collection) models.db.session.add(user) models.db.session.commit() return user.id
def post(self): user = None parser = reqparse.RequestParser() parser.add_argument('login', type=unicode, required=True, case_sensitive=False, help='login is required', location=('json', 'values')) parser.add_argument('email', type=unicode, required=True, case_sensitive=False, help='email is required', location=('json', 'values')) parser.add_argument('end_point_id', type=int, required=False, help='id of the end_point', location=('json', 'values')) parser.add_argument( 'type', type=str, required=False, default='with_free_instances', help= 'type of user: [with_free_instances, without_free_instances, super_user]', location=('json', 'values'), choices=[ 'with_free_instances', 'without_free_instances', 'super_user' ]) args = parser.parse_args() if not validate_email(args['email'], check_mx=current_app.config['EMAIL_CHECK_MX'], verify=current_app.config['EMAIL_CHECK_SMTP']): return ({'error': 'email invalid'}, 400) end_point = None if args['end_point_id']: end_point = models.EndPoint.query.get_or_404(args['end_point_id']) else: end_point = models.EndPoint.get_default() try: user = models.User(login=args['login'], email=args['email']) user.type = args['type'] user.end_point = end_point db.session.add(user) db.session.commit() return marshal(user, user_fields_full) except (sqlalchemy.exc.IntegrityError, sqlalchemy.orm.exc.FlushError): return ({'error': 'duplicate user'}, 409) except Exception: logging.exception("fail") raise
def create_multiple_users(request, geojson_polygon): with app.app_context(): end_point = models.EndPoint() end_point.name = 'myEndPoint' billing_plan = models.BillingPlan() billing_plan.name = 'free' billing_plan.end_point = end_point user1 = models.User('foo', '*****@*****.**') user1.end_point = end_point user1.billing_plan = billing_plan user1.shape = json.dumps(geojson_polygon) user2 = models.User('foodefault', '*****@*****.**') user2.end_point = models.EndPoint.get_default() user2.billing_plan = models.BillingPlan.get_default(user2.end_point) models.db.session.add(end_point) models.db.session.add(billing_plan) models.db.session.add(user1) models.db.session.add(user2) models.db.session.commit() # we end the context but need to keep some id for later (object won't survive this lost!) d = { 'user1': user1.id, 'user2': user2.id, 'end_point': end_point.id, 'billing_plan': billing_plan.id } # we can't truncate end_point and billing_plan, so we have to delete them explicitly def teardown(): with app.app_context(): end_point = models.EndPoint.query.get(d['end_point']) billing_plan = models.BillingPlan.query.get(d['billing_plan']) models.db.session.delete(end_point) models.db.session.delete(billing_plan) models.db.session.commit() request.addfinalizer(teardown) return d
def create_5_users(): with app.app_context(): for i in range(5): user_name = 'user{}'.format(str(i)) user = models.User(user_name, '{}@example.com'.format(user_name)) models.db.session.add(user) models.db.session.commit() # Return only 1 id for test purpose yield user.id for user in models.User.query.all(): models.db.session.delete(user) models.db.session.commit()
def post(self): user = None parser = reqparse.RequestParser() parser.add_argument('login', type=unicode, required=True, case_sensitive=False, help='login is required') parser.add_argument('email', type=unicode, required=True, case_sensitive=False, help='email is required') args = parser.parse_args() if not validate_email(args['email'], check_mx=current_app.config['EMAIL_CHECK_MX'], verify=current_app.config['EMAIL_CHECK_SMTP']): return ({'error': 'email invalid'}, 400) try: user = models.User(login=args['login'], email=args['email']) db.session.add(user) db.session.commit() return marshal(user, user_fields_full) except sqlalchemy.exc.IntegrityError: return ({'error': 'duplicate user'}, 409) except Exception: logging.exception("fail") raise