Exemplo n.º 1
0
    def setUp(self):
        """ Test Setup """
        self.browser = Browser("phantomjs")
        self.browser.driver.set_window_size(1440, 900)  # set browser size.

        # set up the tables in the database
        Base.metadata.create_all(engine)

        # create 2 example users
        self.user = models.User(name="Alice",
                                email="*****@*****.**",
                                password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()

        self.user2 = models.User(name="Ryan",
                                 email="*****@*****.**",
                                 password=generate_password_hash("test"))
        session.add(self.user2)
        session.commit()

        # Create some sample posts
        content = "Acceptance testing content"
        for i in range(5):
            post = models.Post(title="Acceptance test post #{}".format(i + 1),
                               content=content,
                               author=self.user)
            session.add(post)
        session.commit()
        """ gives the ability to start and run other code simultaneously with your own scripts """
        self.process = multiprocessing.Process(target=app.run)
        self.process.start()
        # pause for 1 second
        time.sleep(1)
Exemplo n.º 2
0
def create(request: schemas.User, db: Session):
    new_user = models.User(name=request.name,
                           email=request.email,
                           password=Hash.bcrypt(request.password))
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user
Exemplo n.º 3
0
def create_user(request: schemas.User, db: Session = Depends(get_db)):
    user_detail = request.dict()
    password = user_detail.get('password')
    user_detail['password'] = get_hashed_pass(password)
    new_user = models.User(**user_detail)
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return {"detail": "user created succesfully"}
Exemplo n.º 4
0
def generate_user():
    user = models.User()
    user.name = fake.name()
    user.email = fake.ascii_email()
    models.UserHandler(user).add_pwd("password")

    print("Created new user {}".format(user))

    return user
Exemplo n.º 5
0
def register_user(db: Session, username, email, password):
    pass_hash_obj = Hash(password)
    hashed_password = pass_hash_obj.hash_password(password)
    new_user = models.User(username=username,
                           email=email,
                           password=hashed_password)
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user
Exemplo n.º 6
0
def create(request: schemas.User, db: Session):
    hashed_password = hash.Hash.bcrypt(request.password)
    new_user = models.User(name=request.name,
                           username=request.username,
                           password=hashed_password)

    db.add(new_user)
    db.commit()
    db.refresh(new_user)

    return new_user
Exemplo n.º 7
0
	def setUp(self):
		""" Test setup """
		self.client = app.test_client()

		# Set up the tables in the database
		Base.metadata.create_all(engine)

		# Create two example users
		self.alice = models.User(name = "Alice"
						      , email = "*****@*****.**"
						      , password = generate_password_hash("test")
						       )
		self.bob = models.User(name = "Bob"
						      , email = "*****@*****.**"
						      , password = generate_password_hash("test")
						       )

		session.add(self.alice)
		session.add(self.bob)
		session.commit()
Exemplo n.º 8
0
    def setUp(self):
        """ Test setup """
        self.client = app.test_client()

        # set up the tables in the database
        Base.metadata.create_all(engine)

        # create an example user
        self.user = models.User(name="Alice",
                                email="*****@*****.**",
                                password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()
Exemplo n.º 9
0
    def setUp(self):
        """ Test setup """
        
        # Create a test client that allows inspection of app views/responses
        self.client = app.test_client()

        # Set up the tables in the testing database
        Base.metadata.create_all(engine)

        # Create an example user in the testing database
        self.user = models.User(name="Alice", email="*****@*****.**",
                                password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()
Exemplo n.º 10
0
    def setUp(self):
        """ Test setup """
        self.browser = Browser("phantomjs")

        # Set up the tables in the database
        Base.metadata.create_all(engine)

        # Create an example user
        self.user = models.User(name="Alice", email="*****@*****.**",
                                password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()

        self.process = multiprocessing.Process(target=app.run)
        self.process.start()
        time.sleep(1)
Exemplo n.º 11
0
 def post(self):
     json_data = request.get_json(force=True)
     try:
         id = models.User.query.order_by(models.User.id.desc()).first().id
         new_id = int(id) + 1
     except:
         new_id = 1
     print('new_id', new_id)
     res = models.User(id=new_id,
                       username=json_data['username'],
                       email=json_data['email'],
                       password=json_data['password'])
     db.session.add(res)
     db.session.commit()
     db.session.close()
     return json_data, 200
Exemplo n.º 12
0
	def setUp(self):
		"""Test setup"""
		#create test client using the app.test_client function
		#--> allows us to make requests to views and inspect the responses we get from the app
		self.client = app.test_client()

		#set up the tables in the database
		Base.metadata.create_all(engine)

		#create an example user --> use this user to login and be the author of our test post
		self.user = models.User(name="Alice", email="*****@*****.**",
			password=generate_password_hash("test"))

		#add user to the database
		session.add(self.user)
		session.commit()
Exemplo n.º 13
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        hashed = crypto.generate_password_hash(
            form.password.data).decode('utf-8')
        user = models.User(username=form.username.data,
                           email=form.email.data,
                           password=hashed)
        db.session.add(user)
        db.session.commit()
        flash(
            u'Account created for {0}, Please login!'.format(
                form.username.data), 'success')
        return redirect(url_for('login'))
    return render_template('reg.html', title='register', form=form)
Exemplo n.º 14
0
def add_user():
    userform = forms.NewUserForm()
    if userform.validate_on_submit():
        name = userform.name.data
        pwd  = userform.password.data

        user = models.User(name=name)

        handler = models.UserHandler(user)
        handler.add_pwd(pwd)

        if not handler.add_to_db():
            flask.flash("Unable to create user")
            return flask.redirect(flask.url_for('add_user'))
        else:
            flask.flash("Welcome {}!".format(user.name))
            return flask.redirect(flask.url_for('homepage'))

    return flask.render_template("newuser.html", userform=userform)
Exemplo n.º 15
0
def register(request):
    email = request.POST['email']
    username = request.POST['username']
    password = request.POST['password']
    reward = request.POST['reward']
    verification_code = request.POST["verificationCode"]
    cache_verification_code = cache.get(email)
    # 验证信息
    re_email = re.search(
        r'^([a-zA-Z]|[0-9])(\w|)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$', email)
    if re_email:
        pass
    else:
        return Response('error_email')
    re_username = re.search(r'^[a-zA-Z0-9_-]{4,16}$', username)
    if re_username:
        pass
    else:
        return Response('error_username')
    re_password = re.search(
        r'^.*(?=.{8,})(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*?.]).*$', password)
    re_reward = re.search(
        r'^.*(?=.{8,})(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&*?.]).*$', reward)
    if re_password and re_reward:
        pass
    else:
        return Response('error_password')
    if password != reward:
        return Response('密码不一致')
    if cache_verification_code != verification_code:
        return Response("验证码错误")
    new_password = make_password(password)
    user = models.User(email=email, username=username, password=new_password)
    user.save()
    Token.objects.get_or_create(user=user)
    token = Token.objects.get(user=user)
    userinfo = {
        'username': user.username,
        'token': token.key,
    }
    return Response(userinfo)
Exemplo n.º 16
0
    def login_check(request):
        # 添加超级用户
        if not models.User.objects.filter(user_type='admin'):
            import hashlib
            adminUser = models.User()
            adminUser.user_id = 'administrator'
            adminUser.user_password = hashlib.md5(b'123456').hexdigest()
            adminUser.create_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
            adminUser.user_type = 'admin'
            adminUser.save()
            return func(request)

        if not request.session.has_key('expire_time'):
            return HttpResponseRedirect('/administrator/login/')
        else:
            if request.session.get('expire_time')<time.time():
                # request.sesstion.clear()
                # request.sesstion.flush()
                return render(request, 'administrator/login.html', {'code': 0, 'msg': '登录已过期,请重新登录'})
            else:
                return func(request)
Exemplo n.º 17
0
def register(request):
    """
    ajax 注册验证
    :param request:
    :return: 验证信息
    """
    user_name = request.POST.get('user-name')
    user_phone = request.POST.get('user-phone')
    user_pwd = request.POST.get('user-pwd')
    user_count = models.User.objects.filter(userName=user_name).count()
    if user_count > 0:
        json_text = {'code': '1', 'msg': '昵称已被使用,换一个吧'}
        return HttpResponse(json.dumps(json_text))
    else:
        user = models.User(
            userName=user_name,
            pwd=user_pwd,
        )
        user.save()

        models.UserInfo.objects.create(userPhone=user_phone, user=user)
        json_text = {'code': '0', 'msg': '注册成功点击登录'}
        return HttpResponse(json.dumps(json_text))
Exemplo n.º 18
0
	def setUp(self):
		"""Test setup"""
		#create an instance of the splinter.Browser class, using the (PhantomJS driver) <-- use for our automation
		self.browser = Browser("phantomjs")

		#set up the tables in the database
		Base.metadata.create_all(engine)

		#create an example user
		self.user = models.User(name="Alice", email="*****@*****.**",
			password=generate_password_hash("test"))

		session.add(self.user)
		session.commit()

		"""
		Understand multiprocessing from lesson, and more
		"""

		#use multiprocessing module in order to start the Flask test server running
		#since we need a server up to run our app, since our test will be visiting the actual site
		self.process = multiprocessing.Process(target=app.run)
		self.process.start()
		time.sleep(1)
Exemplo n.º 19
0
    def setUp(self):
        """ Test setup """

        # Unlike integration test, create browser instance rather than app instance
        # PhantomJS used for browser automation
        self.browser = Browser("phantomjs")

        # Set up the tables in the database
        Base.metadata.create_all(engine)

        # Create an example user
        self.user = models.User(name="Alice",
                                email="*****@*****.**",
                                password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()

        # Use 'multiprocessing' module to run test server since test is going to actual website
        self.process = multiprocessing.Process(target=app.run)
        self.process.start()
        time.sleep(1)

        # Set url path
        self.url_path = "http://127.0.0.1:5000"
Exemplo n.º 20
0
def createUser(request: schemas.Blog, db: Session):
    new_user = models.User(username=request.username, email=request.email, password=Hash.passwordHash(request.password))
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_user