コード例 #1
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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())
コード例 #2
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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())
コード例 #3
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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())
コード例 #4
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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())
コード例 #5
0
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
コード例 #6
0
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)
コード例 #7
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
    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)
コード例 #8
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #9
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_lxml(self):
     user = User()
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
コード例 #10
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_string_write(self):
     user = User(write=True)
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
コード例 #11
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #12
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_string_password(self):
     user = User(password='******')
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
コード例 #13
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_string_read(self):
     user = User(read=True)
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
コード例 #14
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #15
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_from_string_browse(self):
     text = '<USER BROWSE="NO" />'
     user = User.from_string(text)
     right = User(browse=False)
     self.assertEqual(user, right)
コード例 #16
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_lxml_name(self):
     user = User(name='name')
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
コード例 #17
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_lxml_read(self):
     user = User(read=True)
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
コード例 #18
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #19
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #20
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_from_lxml_password(self):
     text = '<USER password="******" />'
     user = User.from_lxml_element(etree.XML(text))
     right = User(password='******')
     self.assertEqual(user, right)
コード例 #21
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #22
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_from_lxml(self):
     text = '<USER />'
     user = User.from_lxml_element(etree.XML(text))
     right = User()
     self.assertEqual(user, right)
コード例 #23
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_from_string_write(self):
     text = '<USER WRITE="NO" />'
     user = User.from_string(text)
     right = User(write=False)
     self.assertEqual(user, right)
コード例 #24
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_from_string_delete(self):
     text = '<USER DELETE="NO" />'
     user = User.from_string(text)
     right = User(delete=False)
     self.assertEqual(user, right)
コード例 #25
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_lxml_password(self):
     user = User(password='******')
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
コード例 #26
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_string(self):
     user = User()
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
コード例 #27
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_lxml_write(self):
     user = User(write=True)
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
コード例 #28
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_to_string_name(self):
     user = User(name='name')
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
コード例 #29
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 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)
コード例 #30
0
ファイル: security_test.py プロジェクト: gitGNU/gnu_myserver
 def test_from_string_execute(self):
     text = '<USER EXECUTE="NO" />'
     user = User.from_string(text)
     right = User(execute=False)
     self.assertEqual(user, right)