def setUp(self): db.create_all() sample1 = Users(username="******", password="******") sample2 = Users(username="******", password="******") db.session.add(sample1) db.session.add(sample2) db.session.commit()
def signup(): if current_user.is_authenticated: return flask.redirect(flask.url_for('home')) if flask.request.method == 'POST': member_username = flask.request.form['member_username'] member_email = flask.request.form['member_email'] member_password = flask.request.form['member_passwd'] repeat_password = flask.request.form['repeat_password'] invitation_code = flask.request.form['invitation_code'] existing_username = Users.query.filter_by(username=member_username).first() existing_email = Users.query.filter_by(email=member_email).first() # Check if the email is allowed: if validate_email(member_email) == False: flask.flash("You can't use that email here, sorry.") return flask.redirect(flask.url_for('signup')) # Check if username is allowed: if validate_username(member_username) == False: flask.flash("Usernames should be between 6-16 characters, contain letters, digits, underscore and dots.") return flask.redirect(flask.url_for('signup')) # Check if email or username is in use if existing_username or existing_email is not None: flask.flash("The email or username is in use.") return flask.redirect(flask.url_for('signup')) # Ensure the password is strong if validate_password(member_password) == False: flask.flash(f"""That password is weak, use this instead: {gen_password()}""") return flask.redirect(flask.url_for('signup')) # Ensure the password and repeat password match if member_password != repeat_password: flask.flash("Passwords didn't match, please try again.") return flask.redirect(flask.url_for('signup')) valid_token = Invitations.query.filter_by(invitation_code=invitation_code).first() # Check if the provided invitation_code is in Invitations table if valid_token is not None: new_user = Users(username=member_username, email=member_email, invitation_code=invitation_code, ip_address=get_ip(), account_confirmed=False, user_agent=flask.request.headers.get('User-Agent')) new_user.set_password(member_password) #valid_token.expired = True # to specify that an invitation has expired db.session.add(new_user) db.session.commit() token = generate_confirmation_token(new_user.email) confirm_url = flask.url_for('confirm_email', token=token, _external=True) html = flask.render_template('./mail_messages/account_activation.html', confirm_url=confirm_url) subject = 'Please confirm your email' send_email(new_user.email, subject, html) flask.flash("Singup was succeed, please check your email for account activation.") return flask.redirect(flask.url_for('login')) else: flask.flash("Something went wrong, please try again.") return flask.redirect(flask.url_for('signup')) return flask.render_template('./main/member_signup.html')
def setUp(self): """ Will be called before every test """ # ensure there is no data in the test database when the test starts db.session.commit() db.drop_all() db.create_all() # create test admin user hashed_pw = bcrypt.generate_password_hash('admin2016') admin = Users(first_name="admin", last_name="admin", email="*****@*****.**", password=hashed_pw) # create test non-admin user hashed_pw_2 = bcrypt.generate_password_hash('test2016') employee = Users(first_name="test", last_name="user", email="*****@*****.**", password=hashed_pw_2) # save users to database db.session.add(admin) db.session.add(employee) db.session.commit()
def userRoute(id): # convert request data to dictionary data = toDict(request.data) success = False # assume the response is unsucessful message = "" # assume an empty message status = "" # accepted statues: 'OK', 'DENIED', 'FAILURE', 'WARNING', 'INVALID' response = {} # assume the response is empty dict() for now user = {} # set the users to an empty list if request.method == 'PUT': # Modify a user and find our whether it is successful or not success = Users.modifyUser(id, fname=data['fname'], lname=data['lname'], engineer=data['engineer'], display_image=data['display_image']) if success: status = "OK" message = "User information Updated." else: status = "FAILURE" message = "User does not exist." elif request.method == 'GET': # Get the user user = Users.getUserById(id) if user is not None: success = True status = "OK" message = "User returned." else: success = False status = "FAILURE" message = "No user by that id." elif request.method == 'DELETE': # Get the user success = Users.deleteUser(id) if success: status = "OK" message = "User deleted" else: status = "FAILURE" message = "User not found" else: success = False status = "WARNING" message = "HTTP method invalid." response = json.dumps({ 'success': success, 'status': status, 'message': message, 'user': user }) return response
def setUp(self): #Will be called before every test # ensure the is no data in the test dataase when the test start db.session.commit() db.drop_all() db.create_all() # create test admin user admin = Users(first_name="admin", last_name="admin", email="*****@*****.**", password="******") # create test non-admin user employee = Users(first_name="test", last_name="user", email="*****@*****.**", password="******") # save users to database db.session.add(admin) db.session.add(employee) db.session.commit()
def setUp(self): """ Will be called before every test """ db.session.commit() db.drop_all() db.create_all() #deleting then creating all the apps so its fresh ready for testing. # create test admin user admin = Users(first_name="admin", last_name="testing", email="*****@*****.**", password="******") # create test non-admin user employee = Users(first_name="test", last_name="testing", email="*****@*****.**", password="******") # save users to database db.session.add(admin) db.session.add(employee) db.session.commit()
def create_user(): error = "" form = LoginForm() if request.method == 'POST': username = form.username.data password = form.password.data register = form.register.data all_users = Users.query.all() if register == True: if len(username) == 0: error = "Please enter a valid username" elif len(password) == 0: error = "Please enter a valid password" else: if len(all_users) == 0: user = Users(username=username, password=password) db.session.add(user) db.session.commit() return redirect(url_for("login")) else: for i in all_users: if username.lower() == i.username.lower(): error = "Username already exists." return render_template('create.html', form=form, message=error) user = Users(username=username, password=password) db.session.add(user) db.session.commit() return redirect(url_for("login")) return render_template('create.html', form=form, message=error)
def test_user(self): """ Test number of users in user table and user information after creating, updating and deleting a record """ # create test review user = Users(first_name="Nick", last_name="Jones", email="*****@*****.**", password="******") #save review to database db.session.add(user) db.session.commit self.assertEqual(Users.query.count(), 3) #update information user.first_name = "Nicholas" db.session.commit self.assertEqual( Users.query.filter_by( email='*****@*****.**').first().first_name, "Nicholas") #delete record db.session.delete(user) db.session.commit self.assertEqual(Users.query.count(), 2)
def setUp(self): db.session.commit() db.drop_all() db.create_all() test_user1 = Users(userName="******") test_user2 = Users(userName="******") db.session.add(test_user1) db.session.add(test_user2) db.session.commit()
def setUp(self): chrome_options = webdriver.chrome.options.Options() chrome_options.add_argument('--headless') self.driver = webdriver.Chrome(options=chrome_options) db.create_all() sample1 = Users(username="******", password="******") sample2 = Users(username="******", password="******") db.session.add(sample1) db.session.add(sample2) db.session.commit() self.driver.get(f'http://localhost:5000/')
def login(): # print(request.form) loginForm = LoginForm() registerForm = RegisterForm() if (loginForm.validate_on_submit()): print("loginForm.validate_on_submit") lemail = loginForm.lemail.data lpassword = loginForm.lpassword.data user = Users.query.filter_by(email=lemail).first() if (not user): flash("不存在该用户") return redirect(url_for(".login")) elif not user.check_password(lpassword): flash("密码错误") return redirect(url_for(".login")) else: flash("登陆成功") print("登陆成功") session['email'] = loginForm.lemail.data login_user(user, True) return redirect(request.args.get('next') or url_for("main.index")) # return redirect("/login") if (registerForm.validate_on_submit()): print("registerForm.validate_on_submit") rname = registerForm.rname.data remail = registerForm.remail.data rpassword = registerForm.rpassword.data newuser = Users(name=rname, email=remail) newuser.set_password(rpassword) db.session.add(newuser) db.session.commit() token = newuser.generate_confirmation_token() send_email(newuser.email, '验证账户', 'auth/email/confirm', user=newuser, token=token) flash("验证邮件已发送至您的邮箱") return redirect(url_for(".login")) loginForm.lemail.data = session.get('email') return render_template("auth/login.html", loginForm=loginForm, registerForm=registerForm)
def registration(): if current_user.is_authenticated: return redirect(url_for('index')) regform = RegistrationForm() if regform.validate_on_submit(): user = Users(username=regform.username.data, email=regform.email.data) user.set_password(regform.password.data) db.session.add(user) db.session.commit() flash('Поздравляем, вы прошли регистрацию') return redirect(url_for('login')) return render_template('registration.html', title="Регистрация", regform=regform)
def setUp(self): """Will be called before every test""" db.drop_all() db.create_all() db.session.commit() hashed_pw = bcrypt.generate_password_hash('Adm1nSy5temT35t1n8') admin_user = Users( user_name="Admin", email="*****@*****.**", password=hashed_pw, record=1 ) admin_details = Users( first_name="Admin", middle_name="System", last_name="Testing", sex = "Male" dob_day = 1 dob_month = 1 dob_year = 2000 sub_day = 1 sub_month = 1 sub_year = 2020 sub_time = 00:00 ) hashed_pw_2 = bcrypt.generate_password_hash('Sy5temT35t1n8') employee = Users( user_name="Employee", email="*****@*****.**", password=hashed_pw_2, record=2 ) employee_details = Users( first_name="Employee", middle_name="System", last_name="User", sex = "Female" dob_day = 5 dob_month = 1 dob_year = 2000 sub_day = 5 sub_month = 1 sub_year = 2020 sub_time = 00:00 ) db.session.add(admin_details) db.session.add(admin)
def setUp(self): """Setup the test driver and create test users""" print( "--------------------------NEXT-TEST----------------------------------------------" ) chrome_options = Options() chrome_options.binary_location = "/usr/bin/chromium-browser" chrome_options.add_argument("--headless") self.driver = webdriver.Chrome( executable_path="/home/jenkins/chromedriver", chrome_options=chrome_options) self.driver.get("http://*****:*****@testemaill.com', password=hashed_pw) song = Songs(title="test song", artist="test artist") db.session.add(admin) db.session.add(song) db.session.commit()
def home(): code_string = '' name = '' form = NameForm() if form.validate_on_submit(): first_name = form.first_name.data last_name = form.last_name.data unicode_num_first = requests.post('http://service2:5001', data=first_name) unicode_letter = requests.post('http://service3:5002', data=last_name) code_string = unicode_num_first.text + " " + unicode_letter.text name = requests.post('http://service4:5003', data=code_string) postData = Users(first_name=first_name, last_name=last_name, rapper_name=name.text) db.session.add(postData) db.session.commit() return render_template('home.html', title='Home', form=form, code=code_string, name=name)
def account_delete(): user = current_user.id account = Users.query.filter_by(id=user).first() posts = Posts.query.filter_by(user_id=user).all() logout_user() for post in posts: db.session.delete(post) db.session.delete(account) db.session.commit() return redirect(url_for('register')) if current_user.is_authenticated: return redirect(url_for('home')) form = RegistrationForm() if form.validate_on_submit(): hash_pw=bcrypt.generate_password_hash(form.password.data) user=Users( first_name=form.first_name.data, last_name=form.last_name.data, email=form.email.data, password=hash_pw ) db.session.add(user) db.session.commit() return redirect(url_for('post')) return render_template('register.html', title='Register', form=form)
def emailRoute(): # convert request data to dictionary data = toDict(request.data) success = False # assume the response is unsucessful message = "" # assume an empty message status = "" # accepted statues: 'OK', 'DENIED', 'FAILURE', 'WARNING', 'INVALID' response = {} # assume the response is empty dict() for now # If the request is POST we assume your trying to get email if request.method == 'POST': # Check if user exists success = Users.userExists(data['email']) if success: message = "User exists." status = "WARNING" else: message = "User does not exist." status = "OK" else: message = "HTTP method invalid." status = "WARNING" success = False response = json.dumps({ 'success': success, 'status': status, 'message': message }) return response
def signup(): if current_user.is_authenticated: return redirect(url_for('index')) if request.method == "POST": username = request.form['username'] email = request.form['email'] password1 = request.form['password1'] password2 = request.form['password2'] print(username, email, password2, password1) user = Users.query.filter_by(username=username).first() email = Users.query.filter_by(email=email).first() if user is not None or email is not None: flash("Username or Email is in use.") return redirect(url_for('signup')) if password1 == password2: new_user = Users(username=username, email=email, password=password2) db.session.add(new_user) db.session.commit() flash("You have been registered.") return redirect(url_for('login')) else: flash("Something went wrong, please try again!") return redirect(url_for('signup')) return render_template("signup.html")
def answerQuestion(): data = toDict( request.data ) # toDict takes the request data and converts it to a dictionary success = False # assume the response is unsucessful message = "" # assume an empty message status = "" # accepted statues: 'OK', 'DENIED', 'FAILURE', 'WARNING', 'INVALID' response = {} # assume the response is empty dict() for now answer = {} if request.method == 'POST': # Create a user and find our whether it is successful or not answer = Answers.createAnswer(data['text'], data['user_id'], data['question_id']) if answer is not None: answer['user'] = Users.getUser(answer['user_id']) success = True status = "OK" message = "Answer added." else: success = False status = "FAILURE" message = "Error." # make the response a json object response = json.dumps({ 'success': success, 'status': status, 'message': message, 'question': question })
def setUp(self): db.session.commit() db.drop_all() db.create_all() testUser = Users(first_name="test", last_name="user", email="*****@*****.**", password=(bcrypt.generate_password_hash("test"))) db.session.add(testUser) testProduct = Product(name="testBoard", style="Fish", volume=55.0, size=9.0, price=500, stock=10, user_id=1) db.session.add(testProduct) testOrder = Orders(user_id=1) db.session.add(testOrder) theOrder = Orders.query.order_by(Orders.id.desc()).first() testOrder_line = Order_line(order_id=theOrder.id, product_id=1, quantity=10, total=2500) db.session.add(testOrder_line) db.session.commit()
def displayimageRoute(): # convert request data to dictionary data = toDict(request.data) success = False # assume the response is unsucessful message = "" # assume an empty message status = "" # accepted statues: 'OK', 'DENIED', 'FAILURE', 'WARNING', 'INVALID' response = {} # assume the response is empty dict() for now # If the request is PUT we assume your're trying to update the display_image if request.method == 'PUT': # Check if display image change wroks success = Users.updateDisplayImage(data['user_id'], data['display_image']) if success: message = "display_image updated." status = "OK" else: message = "display_image could not be updated, no user with that id." status = "FAILURE" else: message = "HTTP method invalid." status = "WARNING" success = False response = json.dumps({ 'success': success, 'status': status, 'message': message }) return response
def register(): if current_user.is_authenticated: return redirect(url_for('home')) user = Users(first_name=form.first_name.data, last_name=form.last_name.data, email=form.email.data, password=hashed_pw)
def register(): if current_user.is_authenticated: return redirect(url_for('home')) form = RegisterForm() if form.validate_on_submit(): hashed_pw = bcrypt.generate_password_hash(form.password.data) user = Users(email=form.email.data, first_name=form.first_name.data, last_name=form.last_name.data, photo=form.photo.data.filename, password=hashed_pw) db.session.add(user) db.session.commit() f = form.photo.data app.config["IMAGE_UPLOADS"] = "/tmp" f.save(os.path.join(app.config["IMAGE_UPLOADS"], f.filename)) #return f s3 = boto3.resource('s3') #bucket = s3.Bucket('qpwoei-qpwoei') #bucket.upload_file('tmp/f') #bucket=s3.Bucket('qpwoei-qpwoei') #bucket.put_object(Body=request.files['f'], Key="/tmp/"+str(f.filename)) s3.meta.client.upload_file("/tmp/"+str(f.filename), 'qpwoei-qpwoei', "/tmp/"+str(f.filename)) os.remove("/tmp/"+str(f.filename)) return redirect(url_for('login')) return render_template('register.html', title='Register', form=form)
def register(): #Redirects the user if the user has been authenticated if current_user.is_authenticated: return redirect(url_for('home')) #Initiliases the form to be passed over to the HTML form = RegistrationForm() #Addes the enteries and hashes the password for extra security if form.validate_on_submit(): hashed_pw = bcrypt.generate_password_hash(form.password.data).decode('utf-8') user = Users( first_name=form.first_name.data, last_name=form.last_name.data, username=form.username.data, email=form.email.data, password=hashed_pw ) db.session.add(user) db.session.commit() flash('You have successfully registered! You can now login') return redirect(url_for('login')) return render_template('register.html', title='Register', form=form)
def user_home(): if request.form: user_db = Users(user_name=request.form.get("user_name"), user_email=request.form.get("user_email"), start_date = request.form.get("start_date"), book_id=request.form.get("book_id")) db.session.add(user_db) db.session.commit() user_data = Users.query.all() return render_template("user.html", user_data=user_data)
def register(): """This function is to process the users details upon registering.""" if current_user.is_authenticated: return redirect(url_for('<user_name>')) form = RegistrationForm() if form.validate_on_submit(): hash_pw=bcrypt.generate_password_hash(form.password.data) record=Records( first_name=form.first_name.data, irst_name=form.middle_name.data, last_name=form.last_name.data, sex=form.sex.data, dob_day=form.dob_day, dob_month=form.dob_month, dob_year=form.dob_year, sub_day=form.sub_day, sub_month=form.sub_month, sub_year=form.sub_year, sub_time=form.sub_time ) db.session.add(record) db.session.commit() link_account = Records.query.last() user=Users( display_name=form.display_name, email=form.email.data, password=hash_pw, record=link_account.id ) db.session.add(user) db.session.commit() return redirect(url_for('<user_name>')) return render_template('register.html', title='Register', form=form)
def setUp(self): #Called before every test db.session.commit() db.drop_all() db.create_all() #Create test admin user admin = Users(first_name="admin", last_name="admin", email="*****@*****.**", password="******") employee = Users(first_name="test", last_name="user", email="*****@*****.**", password="******") BenjaminFranklin = Books( book="An American Life: Benjamin Franklin", author="Walter Isaacson", description="It is a biography of Benjamin Franklin", rating="5") ZeroToOne = Books(book="Zero To One", author="Peter Thiel", description="It stipulates business theory", rating="5") ShuaibReview = Reviews(review_author="Shuaib", review="Best book ever", rating="5", book_id="2") ThomasReview = Reviews(review_author="Thomas", review="Interesting book", rating="5", book_id="2") #Save/Add users to the databse db.session.add(admin) db.session.add(employee) #Save/Add book to database db.session.add(BenjaminFranklin) db.session.add(ZeroToOne) #Save/Add reviews to database db.session.add(ShuaibReview) db.session.add(ThomasReview) db.session.commit()
def test_users_model(self): piers = Users(first_name="piers", last_name="gilbert", email="*****@*****.**", password="******") db.session.add(piers) db.session.commit() self.assertEqual(Users.query.count(), 3)
def setUp(self): db.session.commit() db.drop_all() db.create_all() admin = Users(first_name="admin", last_name="admin", email="*****@*****.**", password="******") employee = Users(first_name="test", last_name="user", email="*****@*****.**", password="******") db.session.add(admin) db.session.add(employee) db.session.commit()
def register(): form = RegistrationForm() if form.validate_on_submit(): hashed_pw = bcrypt.generate_password_hash(form.password.data) user = Users(email=form.email.data, password=hashed_pw) db.session.add(user) db.session.commit() return redirect(url_for('post')) return render_template('register.html', title='Register', form=form)