Example #1
0
	def test_follow_posts(self):
		# create four users
		u1 = User(username='******', email='*****@*****.**')
		u2 = User(username='******', email='*****@*****.**')
		u3 = User(username='******', email='*****@*****.**')
		u4 = User(username='******', email='*****@*****.**')
		db.session.add_all([u1, u2, u3, u4])

		# create four posts
		now = datetime.utcnow()
		p1 = Post(body="post from john", author=u1,
				  timestamp=now + timedelta(seconds=1))
		p2 = Post(body="post from susan", author=u2,
				  timestamp=now + timedelta(seconds=4))
		p3 = Post(body="post from mary", author=u3,
				  timestamp=now + timedelta(seconds=3))
		p4 = Post(body="post from david", author=u4,
				  timestamp=now + timedelta(seconds=2))
		db.session.add_all([p1, p2, p3, p4])
		db.session.commit()

		# setup the followers
		u1.follow(u2)  # john follows susan
		u1.follow(u4)  # john follows david
		u2.follow(u3)  # susan follows mary
		u3.follow(u4)  # mary follows david
		db.session.commit()

		# check the followed posts of each user
		f1 = u1.followed_posts().all()
		f2 = u2.followed_posts().all()
		f3 = u3.followed_posts().all()
		f4 = u4.followed_posts().all()
		self.assertEqual(f1, [p2, p4, p1])
		self.assertEqual(f2, [p2, p3])
		self.assertEqual(f3, [p3, p4])
		self.assertEqual(f4, [p4])
Example #2
0
def test_new_user(client, database):
    """
    GIVEN a User Model
    WHEN a new User is created
    THEN check the email, hashed_password,
    """
    user = User(email='*****@*****.**', password='******')
    database.session.add(user)
    database.session.commit()

    assert user.email == '*****@*****.**'
    assert user.id >= 2
    assert user.verify_password('password2')
    with pytest.raises(AttributeError):
        assert user.password
Example #3
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('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('Account has been created! You are now able to login', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Example #4
0
def create_user():
    data = request.get_json() or {}
    if 'username' not in data or 'email' not in data or 'password' not in data:
        return bad_request('must include username, email and password fields')
    if User.query.filter_by(username=data['username']).first():
        return bad_request('please use a different username')
    if User.query.filter_by(email=data['email']).first():
        return bad_request('please use a different email address')
    user = User()
    user.from_dict(data, new_user=True)
    db.session.add(user)
    db.session.commit()
    response = jsonify(user.to_dict())
    response.status_code = 201
    response.headers['Location'] = url_for('api.get_user', id=user.id)
    return response
Example #5
0
def create_user():
    form = CreateUserForm()
    if form.validate_on_submit():
        name = form.name.data
        phone_number = form.phone_number.data
        address = form.address.data
        email = form.email.data
        pw = form.password.data
        user = User(name=name,
                    phone_number=phone_number,
                    address=address,
                    email=email)
        user.set_password(pw)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('admin.get_users'))
    return render_template('admin/create_user.html', form=form)
Example #6
0
def create_sys_admin(data, ip):
    exit_users = []
    success = False
    print data
    for us in data:
        print '=============mobile======'
        print us['mobile'], type(us['mobile'])
        tel = get_user_by_mobile(us["mobile"])
        if not tel:
            user = User(user_name=us["user_name"], nick_name=us["nick_name"], mobile=us["mobile"],
                        passwd=us["password"])
            db_save(user)
        else:
            exit_users.append(us["mobile"])
        success = True
    msg = str(len(exit_users)) + u"个用户已经存在:" + str(exit_users)
    return success, msg
Example #7
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = RegistrationForm()

    if form.validate_on_submit():
        if users_repository.get_user_by_name(form.username.data) is not None:
            flash('Username already taken')
            return redirect(url_for('auth.register'))
        new_user = User(form.username.data, form.password.data,
                        str(users_repository.next_index()))
        users_repository.save_user(new_user)

        # login once the registration process is completed
        login_user(new_user)
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('main.index'))
    return render_template('auth/register.html', title='Register', form=form)
Example #8
0
def user_form():
    id = 0
    if request.args.has_key('id') or request.args.get('set'):
        id = request.args.get('id', 0, type=int)
        if not id:
            id = current_user.id
        user = User.query.filter_by(id=id).first()
    else:
        user = User()
    form = User_Form(obj=user)
    if form.validate_on_submit():
        user.user_name = form.user_name.data
        user.nick_name = form.nick_name.data
        user.mobile = form.mobile.data
        if id not in [0, '']:
            if not form.passwd.data == '':
                user.passwd = form.passwd.data
            db.session.add(user)
        else:
            user_exits = User.query.filter_by(mobile=form.mobile.data).first()
            if user_exits:
                flash(u'用户手机号已存在')
                return render_template(
                    'normal_form.html',
                    form=form,
                    name=u"用户",
                    get_flashed_messages=get_flashed_messages)
            elif form.passwd.data in [u'', '', None, 0]:
                flash(u'密码格式不正确')
                return render_template(
                    'normal_form.html',
                    form=form,
                    name=u"用户",
                    get_flashed_messages=get_flashed_messages)
            user.passwd = form.passwd.data

            # form.populate_obj(user)
            db.session.add(user)
        db.session.commit()
        return redirect(url_for('.users_manage'))
    return render_template('normal_form.html',
                           form=form,
                           name=u"用户",
                           get_flashed_messages=get_flashed_messages)
Example #9
0
def create_user():
    data = request.get_json()
    user = User.get_user_by_email(data['email'])
    if user is None:
        user = User(data['email'], data['name'], data['phone'],
                    data['password'])
        user.password = ""
        user.save()
        message = {
            'user': user.__repr__(),
            'message': 'User Created Successfully'
        }
        response = jsonify(message)
        response.status_code = 201
        return response
    message = {'user': '******', 'message': 'User Exists'}
    response = jsonify(message)
    response.status_code = 300
    return response
Example #10
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(
            first_name=form.first_name.data,
            last_name=form.last_name.data,
            email=form.email.data.lower(),
        )

        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()

        flash('Your account has been created! Yay!')
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', title='Register', form=form)
Example #11
0
def register():
    data = request.get_json()
    name = data["username"]
    email = data["email"]
    password = data["password"]

    user = User.query.filter_by(email=email).first()
    if user:
        return jsonify(
            success=0,
            results={},
            message="Пользователь с такой почтой уже зарегестрирован")
    user = User(name=name, email=email)
    user.set_password(password)
    db.session.add(user)
    db.session.commit()
    return jsonify(success=1,
                   results={"user_id": user.id},
                   message="Пользователь зарегестрирован")
Example #12
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('auth.user_profile', id=current_user.id))
    form = RegisterForm()
    if form.validate_on_submit():
        name = form.name.data
        phone_number = form.phone_number.data
        address = form.address.data
        email = form.email.data
        existed_user = User.query.filter_by(email=email).first()
        if existed_user:
            flash('Email đã được sử dụng')
            return redirect(url_for('auth.register'))
        pw = form.password.data
        user = User(name=name, phone_number=phone_number,
                    address=address, email=email)
        user.set_password(pw)
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return redirect(url_for('auth.user_profile', id=user.id))
    return render_template('auth/register.html', form=form)
Example #13
0
    def add_data_to_database(self, data):
        with self.app.app_context():
            self.db = SQLAlchemy()
            self.db.init_app(self.app)

            for datapoint in data:
                test = Test()
                test.name = "Test" + str(datapoint['test'])
                self.db.session.add(test)
                user = User()
                user.auth0_id = "User" + str(datapoint['user'])
                user.name = "User" + str(datapoint['user'])
                user.email = "User" + str(datapoint['user'])
                self.db.session.add(user)
                self.db.session.commit()
                for j in range(datapoint['data']):
                    result = TestResult()
                    result.test_id = test.id
                    result.user_id = user.id
                    result.value = j
                    result.time = datetime.datetime.utcnow()
                    self.db.session.add(result)
                self.db.session.commit()
Example #14
0
    def upload(self):
        if request.method == 'POST':
            if 'file' in request.files:
                file = request.files['file']
                if file.filename == '':
                    flash('No file selected.')
                    return redirect(url_for('user_upload.index'))
                df = pd.read_excel(request.files['file'])
                for idx, row in df.iterrows():
                    user = User.query.filter_by(
                        username=row['username']).first()
                    role = Role.query.filter_by(role=row['role']).first()
                    if not user:
                        user = User(username=row['username'],
                                    password=row['password'],
                                    role=role,
                                    name=row['university'])
                        db.session.add(user)
                db.session.commit()

                return redirect(url_for('user_upload.index'))
            flash('File not uploaded.')
        return redirect(url_for('user_upload.index'))
Example #15
0
def register():

    if current_app.config['OPEN_REGISTRATION'] is False:
        if not current_user.is_authenticated:
            flash(
                _('Registration is not open, contact admin to get an account'))
            return redirect(url_for('main.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()

        Audit().auditlog_new_post('user',
                                  original_data=user.to_dict(),
                                  record_name=user.username)
        flash(_('Congratulations, you are now a registered user!'))
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html',
                           title=_('Register'),
                           form=form)
Example #16
0
def create_user(data):
    """
    注册用户
    :param data:
    :return:
    """
    exit_users = []
    success = False
    print '================data======='
    print data
    if data:
        tel = get_user_by_mobile(data["mobile"])
        if not tel:
            user = User(user_name=data["user_name"], nick_name=data["nick_name"], mobile=data["mobile"],
                        passwd=data["password"])
            db_save(user)
        else:
            exit_users.append(data["mobile"])
        success = True
        msg = str(len(exit_users)) + u"个用户已经存在:" + str(exit_users)
    else:
        msg = u'提交信息有误'

    return success, msg
Example #17
0
 def test_password_verification(self):
     u = User(password='******')
     self.assertTrue(u.verify_password('Bob'))
     self.assertFalse(u.verify_password('Steve'))
Example #18
0
 def testSetUp(cls, test):
     """Set up the database per test case"""
     db.create_all()
     test.user = User(email='*****@*****.**', password='******')
     db.session.add(test.user)
     db.session.commit()
Example #19
0
 def test_password_hashing(self):
     user = User(username='******')
     user.set_password('cat')
     self.assertFalse(user.check_password('dog'))
     self.assertTrue(user.check_password('cat'))
Example #20
0
 def setUp(self):
     user = User()
     user.id = 1
     user.username = '******'
     user.email = '*****@*****.**'
     self.user = user
Example #21
0
 def test_password_setter(self):
     u = User(password='******')
     self.assertTrue(u.password_hash is not None)
Example #22
0
 def test_avatar(self):
     u = User(username='******', email='*****@*****.**')
     self.assertEqual(u.avatar(128), ('https://www.gravatar.com/avatar/'
                                      'd4c74594d841139328695756648b6bd6'
                                      '?d=identicon&s=128'))
Example #23
0
 def test_no_password_getter(self):
     u = User(password='******')
     with self.assertRaises(AttributeError):
         u.password()
Example #24
0
from app import db, create_app
from app.main.models import User, Hangman

app = create_app()
app.app_context().push()

users = User.query.all()
for u in users:
    db.session.delete(u)
print('deleted all users...')

hs = Hangman.query.all()
for h in hs:
    db.session.delete(h)
print('deleted all games...')

print('creating new user...')
user = User(username='******', email='*****@*****.**')
user.set_password('3dhubs')
db.session.add(user)
db.session.commit()
print(user)

Example #25
0
from app import db
from app.main.models import User, Category, OrderStatus
print('Chọn 1 trong những lựa chọn sau: ')
print('1.Thêm Category')
print('2.Thêm User')
print('3.Thêm tình trạng đơn hàng')
choice = input('Lựa chọn: ')
if int(choice) == 2:
    name = input('User name: ')
    email = input('User email: ')
    phone_number = input('Phone number: ')
    address = input('Address: ')
    password = input('Password: '******'Access level: ')
    access_level = int(access_level)
    if access_level == 2:
        user.set_mod()
    elif access_level == 3:
        user.set_admin()
    else:
        print('Normal user')
    db.session.add(user)
    db.session.commit()
elif int(choice) == 1:
    category_list = ['Thời trang', 'Mỹ phẩm', 'Thiết kế', 'Khác']
    for category in category_list:
Example #26
0
 def test_password_salts_are_random(self):
     u = User(password='******')
     u2 = User(password='******')
     self.assertTrue(u.password_hash != u2.password_hash)
Example #27
0
 def test_follow_posts(self):
     """ 测试获取关注者文章列表 """
     u1 = User(user_name='john',
               password='******',
               nickname='john',
               email='*****@*****.**')
     u2 = User(user_name='susan',
               password='******',
               nickname='susan',
               email='*****@*****.**')
     u3 = User(user_name='mary',
               password='******',
               nickname='mary',
               email='*****@*****.**')
     u4 = User(user_name='david',
               password='******',
               nickname='david',
               email='*****@*****.**')
     db.session.add(u1)
     db.session.add(u2)
     db.session.add(u3)
     db.session.add(u4)
     # make four posts
     utcnow = datetime.utcnow()
     p1 = Post(body="post from john",
               author=u1,
               timestamp=utcnow + timedelta(seconds=1))
     p2 = Post(body="post from susan",
               author=u2,
               timestamp=utcnow + timedelta(seconds=2))
     p3 = Post(body="post from mary",
               author=u3,
               timestamp=utcnow + timedelta(seconds=3))
     p4 = Post(body="post from david",
               author=u4,
               timestamp=utcnow + timedelta(seconds=4))
     db.session.add(p1)
     db.session.add(p2)
     db.session.add(p3)
     db.session.add(p4)
     db.session.commit()
     # setup the followers
     u1.follow(u1)  # john follows himself
     u1.follow(u2)  # john follows susan
     u1.follow(u4)  # john follows david
     u2.follow(u2)  # susan follows herself
     u2.follow(u3)  # susan follows mary
     u3.follow(u3)  # mary follows herself
     u3.follow(u4)  # mary follows david
     u4.follow(u4)  # david follows himself
     db.session.add(u1)
     db.session.add(u2)
     db.session.add(u3)
     db.session.add(u4)
     db.session.commit()
     # check the followed posts of each user
     f1 = u1.followed_posts().all()
     f2 = u2.followed_posts().all()
     f3 = u3.followed_posts().all()
     f4 = u4.followed_posts().all()
     assert len(f1) == 3
     assert len(f2) == 2
     assert len(f3) == 2
     assert len(f4) == 1
     assert f1 == [p4, p2, p1]
     assert f2 == [p3, p2]
     assert f3 == [p4, p3]
     assert f4 == [p4]