def test_refresh_from_db(self): gary = User('Gary').save() DB.some_collection.update_one( {'_id': 'Gary'}, {'$set': {'phone': 1234567}}) gary.refresh_from_db() self.assertEqual(1234567, gary.phone)
def test_refresh_from_db(self): gary = User('Gary').save() DB.some_collection.update_one({'_id': 'Gary'}, {'$set': { 'phone': 1234567 }}) gary.refresh_from_db() self.assertEqual(1234567, gary.phone)
def load_user(id): # Flask-Login USER loader # can't use current_user here as this method is setting the current_user if 'user_id' in session: print('Got user from SESSION') return User.get_user_from_session(session) else: print('Got user from DATABASE') return User.get_user_by_id(id)
def test_instantiation(self): msg = 'Got 5 arguments for only 4 fields' with self.assertRaisesRegex(ValueError, msg): User('Gary', 1234567, '12 Apple Street', 42, 'cucumber') msg = 'Unrecognized field name' with self.assertRaisesRegex(ValueError, msg): User(last_name='Gygax') msg = 'name specified more than once in constructor for User' with self.assertRaisesRegex(ValueError, msg): User('Gary', fname='Gygax')
def test_simple_inheritance(self): child = User(fname='Gary', phone=1234567) self.assertIsInstance(child, User) self.assertIsInstance(child, ParentModel) # 'name' is primary key from parent. self.assertEqualsModel( SON([('_id', 'Gary'), ('phone', 1234567)]), child) child.save() # We use the correct collection name. result = User.objects.first() self.assertEqual(child, result)
def test_simple_inheritance(self): child = User(fname='Gary', phone=1234567) self.assertIsInstance(child, User) self.assertIsInstance(child, ParentModel) # 'name' is primary key from parent. self.assertEqualsModel(SON([('_id', 'Gary'), ('phone', 1234567)]), child) child.save() # We use the correct collection name. result = User.objects.first() self.assertEqual(child, result)
def register(): if current_user.is_authenticated: return redirect(url_for('index')) form = RegistrationForm() if form.validate_on_submit(): user = User(username=form.username.data, email=form.email.data) user.set_password(form.password.data) db.session.add(user) db.session.commit() flash('Congratulations, you are now a registered user!') return redirect(url_for('login')) return render_template('register.html', title='Register', form=form)
def register_user(): full_name = request.form.get('full_name') email = request.form.get('email') phone_number = request.form.get('password') # print(request.form.get('user_type')) is_owner = request.form.get('user_type') == 'owner' is_sitter = not is_owner password = request.form.get('password') confirm_password = request.form.get('confirm_password') # if password != confirm_password: # html = render_template('users/register.html', # title='Register | Spot') # response = make_response(html) # return response user = User() user.full_name = full_name user.email = email user.phone_number = phone_number user.is_owner = is_owner user.is_sitter = is_sitter user.password_hash = password new_user = db_service.create_user(user) if new_user != '': print(new_user) else: print('Created a new user ', user.full_name) html = render_template('users/login.html', title='Login | Spot') response = make_response(html) return response
def test_nested_structure(self): schema = AutoMarshmallowSchema.generate_schema(User)() user = User(id=1, name="Testing 123") address = Address(id=1, user_id=user.id, value="Testing street 1") house_picture = HousePicture(id=1, address_id=address.id, location="C:/test") address.house_pictures = [house_picture] user.address = [address] dumped = schema.dump(user) loaded = schema.load_instance(dumped) self.verify_objects(user, loaded)
def register(): req = request.json auth = request.authorization user = User.query.filter_by(username=req["username"]).first() # user = User(username=form.username.data, password=hashed_password) if user: return make_response("Username already exists. Try again.", 400) entered_password_1 = req["password1"] entered_password_2 = req["password2"] if entered_password_1 == entered_password_2: new_user = User( username=req["username"], password=bcrypt.generate_password_hash(entered_password_1)) db.session.add(new_user) db.session.commit() token = jwt.encode( { 'id': new_user.id, 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=60) }, 'JWT_SECRET') return jsonify({'token': token.decode("ascii")}) else: return make_response("Sorry, passwords must match", 400)
def create_user(): # Create user from the arguments passed via POST user = User( is_sitter=bool(request.form.get('is_sitter')), is_owner=bool(request.form.get('is_owner')), full_name=request.form.get('full_name'), email=request.form.get('email'), phone_number=request.form.get('phone_number'), password_hash=request.form.get('password_hash'), ) # NOTE: This is where we can validate that full_name, email, # phone_number, and password_hash are valid immediately before adding to database errorMsg = '' # Add user to session, and commit to finish transaction (basically push changes to database) try: db.session.add(user) db.session.commit() except Exception as e: db.session.rollback() # Cancel all invalid changes errorMsg = e.args[0] # Redirect to main page return redirect(url_for('index', errorMsg=errorMsg))
def loginp(): """ Testing a permanent login """ user = User.get_user_by_id('1kuU9610nMtUlqLqdjxR') login_user(user, remember=True) session.set_permanent('session') # setting the session as permanent return 'User logged in!'
def test_bulk_create(self): results = User.objects.bulk_create( User(fname='Louis', lname='Armstrong')) self.assertEqual(['Louis'], results) results = User.objects.bulk_create([ User(fname='Woodrow', lname='Wilson'), User(fname='Andrew', lname='Jackson') ]) self.assertEqual(['Woodrow', 'Andrew'], results) franklins = [ User(fname='Benjamin', lname='Franklin'), User(fname='Aretha', lname='Franklin') ] results = User.objects.bulk_create(franklins, retrieve=True) for result in results: self.assertIn(result, franklins)
async def test(): await test.orm.create_at_pool(user='******', password='******', database='awesome') u = User(name='test', email='*****@*****.**', passwd='1234567890', image='about:blank') await u.save()
def register(): if current_user.is_authenticated: return redirect(url_for('main.home')) form = RegistrationForm() if form.validate_on_submit(): hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8') user = User(username=form.username.data,email=form.email.data,password=hashed_password) db.session.add(user) db.session.commit() flash(f'Account created for {form.username.data}!','success') return redirect(url_for('users.login')) return render_template('register.html',title='Register',form=form)
def test_save_pk_field_required(self): self.assertTrue(User.fname.required) # This should raise ValidationError, since we explicitly defined # `fname` as the primary_key, but it hasn't been given a value. # `fname` should be required: # ValidationError: {'fname': ['field is required.']} with self.assertRaises(ValidationError) as cm: User().save() message = cm.exception.message self.assertIsInstance(message, dict) self.assertIn('fname', message) self.assertIsInstance(message['fname'], list) self.assertIn('field is required.', message['fname'])
def reset_token(token): if current_user.is_authenticated: return redirect(url_for('main.home')) user = User.verify_reset_token(token) if user is None: flash('That is an invalid or expired token','warning') return redirect(url_for('users.reset_request')) form = ResetPasswordForm() if form.validate_on_submit(): hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8') user.password = hashed_password db.session.commit() flash('Your password has been updated! You are now able to log in','success') return redirect(url_for('users.login')) return render_template('reset_token.html',title='Reset Password',form=form)
def setUp(self): User(fname='Garden', lname='Tomato', phone=1111111).save() User(fname='Rotten', lname='Tomato', phone=2222222).save() User(fname='Amon', lname='Amarth', phone=3333333).save() User(fname='Garth', lname='Amarth', phone=4444444).save()
def iter_user(): return User(name='Kobe', email='*****@*****.**', password='******', job='前 NBA 超级巨星')
def test_save(self): User('Gary').save() self.assertEqual('Gary', DB.some_collection.find_one()['_id'])
def test_delete(self): gary = User('Gary').save() self.assertTrue(DB.some_collection.find_one()) gary.delete() self.assertIsNone(DB.some_collection.find_one())
def login(): """ Testing a normal login """ user = User.get_user_by_id('1kuU9610nMtUlqLqdjxR') login_user(user) return 'User logged in!'
def test_inheritance_collocation(self): parent = ParentModel('Oak', phone=9876432).save() user = User('Blane', phone=3456789, address='72 Cinnabar').save() results = list(ParentModel.objects.order_by([('phone', 1)])) self.assertEqual([user, parent], results) self.assertEqual([user], list(User.objects.all()))