def test_basic_user(self): team = generate_sample_model_tree('Team', self.db) user = User(username="******", password="******", team=team) self.db.save(user) assert user.id is 1 assert user.username == "testuser" assert user.password == User.generate_hash('testpass') assert user.team is team assert user.team_id is team.id assert user.get_id() == 1
def test_basic_user(self): team = generate_sample_model_tree("Team", self.session) user = User(username="******", password="******", team=team) self.session.add(user) self.session.commit() assert user.id == 1 assert user.username == "testuser" assert user.password == User.generate_hash("testpass") assert user.team is team assert user.team_id is team.id assert user.get_id() == 1
def test_init_service(self): user = User(username="******", password="******") assert user.id is None assert user.username == "testuser" assert user.password == User.generate_hash("testpass") assert type(user.password) is str assert user.team is None assert user.team_id is None assert user.is_authenticated is None assert user.is_active is True assert user.is_anonymous is False assert user.get_username == "testuser" assert user.get_id() is None
def login(): if current_user.is_authenticated: flash('You are already logged in.', 'info') return redirect(url_for("welcome.home")) form = LoginForm() if form.errors: flash(form.errors, 'danger') return render_template('login.html', form=form) if form.validate_on_submit(): username = request.form.get('username') password = request.form.get('password') try: user = db.session.query(User).filter(User.username == username).one() except NoResultFound: flash('Invalid username or password. Please try again.', 'danger') return render_template('login.html', form=form) except OperationalError: flash("Error 'OperationError' received!. Try restarting the db service.", 'danger') return render_template('login.html', form=form) if user: if User.generate_hash(password, user.password) == user.password: user.authenticated = True db.save(user) login_user(user, remember=True) if user.is_white_team: return redirect(request.values.get('next') or url_for("admin.status")) elif user.is_blue_team: return redirect(request.values.get('next') or url_for("services.home")) else: return redirect(request.values.get('next') or url_for("overview.home")) else: flash('Invalid username or password. Please try again.', 'danger') return render_template('login.html', form=form) else: flash('Invalid username or password. Please try again.', 'danger') return render_template('login.html', form=form) return render_template('login.html', form=form)