def test_create_existing_user_fails(self): user = '******' passwd = 'fakepass' with RollbackContext() as rollback: users.create_user(user, passwd) rollback.prependDefer(users.delete_user, user) with self.assertRaises(OperationFailed): users.create_user(user, passwd)
def test_add_user_to_primary_group(self): user = '******' passwd = 'fakepass' group = 'unit_test_fake_group' with RollbackContext() as rollback: users.create_group(group) rollback.prependDefer(users.delete_group, group) users.create_user(user, passwd) rollback.prependDefer(users.delete_user, user) users.add_user_to_primary_group(user, group) users_group = users.get_users_from_group(group) self.assertEqual(len(users_group), 1) self.assertIn(user, users_group)
def test_create_user(self): user = '******' passwd = 'fakepass' common_users = users.get_users() with RollbackContext() as rollback: users.create_user(user, passwd) rollback.prependDefer(users.delete_user, user) new_users = users.get_users() self.assertEqual(len(new_users), len(common_users) + 1) enc_passwd = spwd.getspnam(user)[1] invalid_passwd = [None, "NP", "!", "!!", "", "LK", "*"] self.assertNotIn(enc_passwd, invalid_passwd) self.assertEqual(crypt.crypt(passwd, enc_passwd), enc_passwd)
def register_user(): new_user = request.data user = json.loads(new_user.decode()) success = users.create_user(user) if (success == True): return {'message': "Registration successful"}, 200 else: return {'err': "Registration unsuccessful"}, 500
def index(): # API Token exist? if 'X_API_Token' not in request.headers: return make_response(jsonify({'message': 'API token not found'}), 400) # API Token Correct? if not check_api_token(request.headers['X_API_Token']): return make_response(jsonify({'message': 'API token is not correct'}), 400) # API Key Corrected, begin create user. if request.method == 'POST': created_user = create_user() return make_response(jsonify(created_user)) else: return make_response(jsonify({'message': 'This is user view root'}))
def register(): if request.method == 'GET': names, mails = get_usrnames_and_emails() return render_template('register.html',names =names, mails=mails) if request.method == 'POST': name = request.form.get("name") lastname = request.form.get('lastname') username = request.form.get('username') password = request.form.get('logpassword') print(name,lastname,username,password) photo = request.files['photo'] pw_hash = bcrypt.generate_password_hash(password).decode('utf-8') age = request.form.get('age') print(age) if age == '': age = 10 email = request.form.get("email") type = request.form.get("type") error = create_user(name, lastname, username, pw_hash, age, email, type, photo) if error != "": print(error) return render_template('index.html')
def add_user_page(): locations = get_all_location_with_dict() if request.method == "GET": useraccount = Combine() return render_template("/users/create.html", form=useraccount, errors={}, locations=locations) else: useraccount = Combine() if useraccount.validate_on_submit(): photopath = "/static/" + request.files["photo-photo"].filename hashedpassword = hasher.hash(useraccount.data["useraccount"]["password"]) data = {"location": useraccount.data["contactinfo"]["location"], "photo": photopath, "username": useraccount.data["useraccount"]['username'], "password": hashedpassword, "phoneNumber": useraccount.data["contactinfo"]["phoneNumber"], "email": useraccount.data["contactinfo"]["email"], "fax": useraccount.data["contactinfo"]["fax"], "homePhone": useraccount.data["contactinfo"]["homePhone"], "workmail": useraccount.data["contactinfo"]["workmail"], "lastEntry": datetime.datetime.now(), "joinedDate": datetime.datetime.now(), "securityAnswer": useraccount.data["useraccount"]["securityAnswer"], "membershiptype": useraccount.data["useraccount"]["membershiptype"], "name": useraccount.data["person"]["name"], "surname": useraccount.data["person"]["surname"], "gender": useraccount.data["person"]["gender"], "birthday": useraccount.data["person"]["birthday"], "educationLevel": useraccount.data["person"]["educationLevel"], "facebook": useraccount.data["socialmedia"]["facebook"], "twitter": useraccount.data["socialmedia"]["twitter"], "instagram": useraccount.data["socialmedia"]["instagram"], "discord": useraccount.data["socialmedia"]["discord"], "youtube": useraccount.data["socialmedia"]["youtube"], "linkedin": useraccount.data["socialmedia"]["linkedin"], "membership": 0} if useraccount.data["useraccount"]["membershiptype"] == "Boss": data["membership"] = 1 else: data["membership"] = 2 response = create_user(data) if response[0]: request.files["photo-photo"].save("./static/" + request.files["photo-photo"].filename) session['username'] = data["username"] session['password'] = data["password"] session['membershiptype'] = 'Boss' if data['membership'] == 1 else 'Customer' session['userid'] = response[1] session['logged_in'] = True return redirect(url_for("users_page")) else: errs = [["Username is already taken"]] errjson = json.dumps(errs) return render_template("/users/create.html", form=useraccount, errors=errjson, locations=locations) else: errs = [] for fieldName, errorMessages in useraccount.errors.items(): errs.append(errorMessages) errjson = json.dumps(errs) locations = get_all_location_with_dict() return render_template("/users/create.html", form=useraccount, errors=errjson, locations=locations) return render_template("/users/create.html", form=useraccount)
def facebook_authorized(resp): next_url = request.args.get('next') or '/' if resp is None or 'access_token' not in resp: return redirect(next_url) session['facebook_token'] = (resp['access_token'], '') data = facebook.get('/me').data profile_picture = 'https://graph.facebook.com/' + data['id'] + '/picture?width=1000' # profile_picture = facebook.get('/me/picture').data if 'id' in data and 'name' in data and 'email' in data and 'link' in data: provider_user_id = data['id'] name = data['name'] username = data['username'] user_email = data['email'] profile_url = data['link'] # profile_picture = profile_picture['url'] generated_name = str(uuid.uuid1()) + '.jpg' user = User.query.filter(User.email == user_email).first() if not user: user = users.create_user( name=name, email=user_email, password=None, active=True ) users.commit() current_user_id = str(user.id) folder_path = app.config['UPLOADS_FOLDER'] + '/user/' + current_user_id + '/' new_folder = os.path.dirname(folder_path) if not os.path.exists(new_folder): os.makedirs(new_folder) filepath = os.path.join(folder_path, generated_name) urllib.urlretrieve(profile_picture, filepath) new_photo = 'user/' + current_user_id + '/' + generated_name User.query.filter(User.id == user.id).update({User.photo: new_photo}) connection = Connection.query.filter(Connection.user_id == user.id, Connection.provider_id == 'facebook').first() if not connection: print "no prior connection" connection = Connection( user=user, provider_id='facebook', provider_user_id=provider_user_id, access_token=resp['access_token'], profile_url=profile_url, image_url=generated_name, full_name=name, display_name=username ) db.session.add(connection) db.session.commit() else: print "updating prior connection" connection.access_token = resp['access_token'] db.session.commit() if connection and login_user(user): users.commit() return redirect(next_url) return redirect("/login")
class state: ... s = state() # App configuration templates_path = os.path.abspath("./templates") app = Flask(__name__, template_folder=templates_path) app.secret_key = "somekey" app.config["SEND_FILE_MAX_AGE_DEFAULT"] = 0 # Create tables users.create_user(path) contactus.create_tbl(path) stock.make_tbl(path) def get_current_price(symbol: str) -> float: """Gets current closing price of stock using Ticker method Args: symbol: Stock Symbol Returns: float: Closing Stock price """ ticker = yf.Ticker(symbol) todays_data = ticker.history(period="1d")
def facebook_authorized(resp): next_url = request.args.get('next') or '/' if resp is None or 'access_token' not in resp: return redirect(next_url) session['facebook_token'] = (resp['access_token'], '') data = facebook.get('/me').data profile_picture = 'https://graph.facebook.com/' + data[ 'id'] + '/picture?width=1000' # profile_picture = facebook.get('/me/picture').data if 'id' in data and 'name' in data and 'email' in data and 'link' in data: provider_user_id = data['id'] name = data['name'] username = data['username'] user_email = data['email'] profile_url = data['link'] # profile_picture = profile_picture['url'] generated_name = str(uuid.uuid1()) + '.jpg' user = User.query.filter(User.email == user_email).first() if not user: user = users.create_user(name=name, email=user_email, password=None, active=True) users.commit() current_user_id = str(user.id) folder_path = app.config[ 'UPLOADS_FOLDER'] + '/user/' + current_user_id + '/' new_folder = os.path.dirname(folder_path) if not os.path.exists(new_folder): os.makedirs(new_folder) filepath = os.path.join(folder_path, generated_name) urllib.urlretrieve(profile_picture, filepath) new_photo = 'user/' + current_user_id + '/' + generated_name User.query.filter(User.id == user.id).update( {User.photo: new_photo}) connection = Connection.query.filter( Connection.user_id == user.id, Connection.provider_id == 'facebook').first() if not connection: print "no prior connection" connection = Connection(user=user, provider_id='facebook', provider_user_id=provider_user_id, access_token=resp['access_token'], profile_url=profile_url, image_url=generated_name, full_name=name, display_name=username) db.session.add(connection) db.session.commit() else: print "updating prior connection" connection.access_token = resp['access_token'] db.session.commit() if connection and login_user(user): users.commit() return redirect(next_url) return redirect("/login")