def test_read(self): user = User('name', 'password', True) self.assertTrue(user.get_read()) user.set_read(False) self.assertFalse(user.get_read()) user.set_read(None) self.assertEqual(None, user.get_read()) user = User(read=True) self.assertTrue(user.get_read())
def test_password(self): user = User('name', 'password') self.assertEqual('password', user.get_password()) user.set_password('other') self.assertEqual('other', user.get_password()) user.set_password(None) self.assertEqual(None, user.get_password()) user = User(password='******') self.assertEqual('password', user.get_password())
def test_write(self): user = User('name', 'password', True, True, False, False, False) self.assertFalse(user.get_write()) user.set_write(True) self.assertTrue(user.get_write()) user.set_write(None) self.assertEqual(None, user.get_write()) user = User(write=True) self.assertTrue(user.get_write())
def test_name(self): user = User('name') self.assertEqual('name', user.get_name()) user.set_name('other') self.assertEqual('other', user.get_name()) user.set_name(None) self.assertEqual(None, user.get_name()) user = User(name='name') self.assertEqual('name', user.get_name())
def register(): if not request.is_json: return jsonify({"msg": "Missing JSON in request"}), 400 username = request.json.get('username', None) password = request.json.get('password', None) errors = defaultdict(list) if not username: errors['username'].append("Missing username parameter") else: if len(username) < 5: errors['username'].append("Username too short") if not password: errors['username'].append("Missing password parameter") else: if len(password) < 5: errors['password'].append("Password too short") if errors: return jsonify({"errors": errors}), 400 user = User.query.filter_by(username=username).first() if user: errors['username'].append("User already exists") return jsonify({"errors": errors}), 409 user = User(username=username, password=generate_password_hash(password)) user.save() return jsonify(dict(msg="User created", user=serialize_user(user))), 200
def signin(): # create form form = signIn() # on submission if request.method == 'POST': if form.validate_on_submit(): # Authenticate User. Also initialises sessions. usernameError, passwordError = validateLogin(form) if usernameError or passwordError: return render_template('signInForm.html', form=form, usernameError=True, passwordError=True) else: user = User(form.username.data) login_user(user) next = flask.request.args.get('next') # is_safe_url should check if the url is safe for redirects. # See https://stackoverflow.com/questions/60532973/how-do-i-get-a-is-safe-url-function-to-use-with-flask-and-how-does-it-work for an example. if not is_safe_url(next): return flask.abort(400) if current_user.admin == 1: return flask.redirect('/adminHome') return flask.redirect( next or flask.url_for('report', username=current_user.username)) return render_template('signInForm.html', form=form)
def test_from_lxml_full(self): text = ''' <USER name="name" password="******" READ="NO" EXECUTE="YES" BROWSE="NO" DELETE="YES" WRITE="NO" />''' user = User.from_lxml_element(etree.XML(text)) right = User('name', 'pass', False, True, False, True, False) self.assertEqual(user, right)
def test_creation(self): user = User() user = User('name') user = User('name', 'password') user = User('name', 'password', True) user = User('name', 'password', True, True) user = User('name', 'password', True, True, True) user = User('name', 'password', True, True, True, True) user = User('name', 'password', True, True, True, True, True)
def test_to_lxml(self): user = User() copy = User.from_lxml_element(user.to_lxml_element()) self.assertEqual(user, copy)
def test_to_string_write(self): user = User(write=True) copy = User.from_string(str(user)) self.assertEqual(user, copy)
def test_to_string_full(self): user = User('name', 'pass', True, False, True, False, True) copy = User.from_string(str(user)) self.assertEqual(user, copy)
def test_to_string_password(self): user = User(password='******') copy = User.from_string(str(user)) self.assertEqual(user, copy)
def test_to_string_read(self): user = User(read=True) copy = User.from_string(str(user)) self.assertEqual(user, copy)
def test_to_lxml_full(self): user = User('name', 'pass', True, False, True, False, True) copy = User.from_lxml_element(user.to_lxml_element()) self.assertEqual(user, copy)
def test_from_string_browse(self): text = '<USER BROWSE="NO" />' user = User.from_string(text) right = User(browse=False) self.assertEqual(user, right)
def test_to_lxml_name(self): user = User(name='name') copy = User.from_lxml_element(user.to_lxml_element()) self.assertEqual(user, copy)
def test_to_lxml_read(self): user = User(read=True) copy = User.from_lxml_element(user.to_lxml_element()) self.assertEqual(user, copy)
def test_from_lxml_read(self): text = '<USER READ="NO" />' user = User.from_lxml_element(etree.XML(text)) right = User(read=False) self.assertEqual(user, right)
def test_from_lxml_browse(self): text = '<USER BROWSE="NO" />' user = User.from_lxml_element(etree.XML(text)) right = User(browse=False) self.assertEqual(user, right)
def test_from_lxml_password(self): text = '<USER password="******" />' user = User.from_lxml_element(etree.XML(text)) right = User(password='******') self.assertEqual(user, right)
def test_from_lxml_name(self): text = '<USER name="name" />' user = User.from_lxml_element(etree.XML(text)) right = User(name='name') self.assertEqual(user, right)
def test_from_lxml(self): text = '<USER />' user = User.from_lxml_element(etree.XML(text)) right = User() self.assertEqual(user, right)
def test_from_string_write(self): text = '<USER WRITE="NO" />' user = User.from_string(text) right = User(write=False) self.assertEqual(user, right)
def test_from_string_delete(self): text = '<USER DELETE="NO" />' user = User.from_string(text) right = User(delete=False) self.assertEqual(user, right)
def test_to_lxml_password(self): user = User(password='******') copy = User.from_lxml_element(user.to_lxml_element()) self.assertEqual(user, copy)
def test_to_string(self): user = User() copy = User.from_string(str(user)) self.assertEqual(user, copy)
def test_to_lxml_write(self): user = User(write=True) copy = User.from_lxml_element(user.to_lxml_element()) self.assertEqual(user, copy)
def test_to_string_name(self): user = User(name='name') copy = User.from_string(str(user)) self.assertEqual(user, copy)
def test_from_lxml_write(self): text = '<USER WRITE="NO" />' user = User.from_lxml_element(etree.XML(text)) right = User(write=False) self.assertEqual(user, right)
def test_from_string_execute(self): text = '<USER EXECUTE="NO" />' user = User.from_string(text) right = User(execute=False) self.assertEqual(user, right)