Exemplo n.º 1
0
    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)
Exemplo n.º 2
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
Exemplo n.º 3
0
 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())
Exemplo n.º 4
0
 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())
Exemplo n.º 5
0
 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())
Exemplo n.º 6
0
 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())
Exemplo n.º 7
0
    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)
Exemplo n.º 8
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)
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
    def register_view(self):
        form = RegistrationForm(request.form)
        if helpers.validate_form_on_submit(form):
            user = User()

            form.populate_obj(user)
            # we hash the users password to avoid saving it as plaintext in the db,
            # remove to use plain text:
            user.password = generate_password_hash(form.password.data)

            db.session.add(user)
            db.session.commit()

            login.login_user(user)
            return redirect(url_for('.index'))
        link = u'<p>Уже имеете аккаунт? <a href="' + url_for('.login_view') + u'">Нажмите для входа.</a></p>'
        self._template_args['form'] = form
        self._template_args['link'] = link
        self.name = u"Регистрация"
        return super(MyAdminIndexView, self).index()
Exemplo n.º 11
0
    def user_test(self):
        text = '''
<USER custom="unknown">
  <UNKNOWN>
    <CUSTOM />
  </UNKNOWN>
</USER>'''
        user = User.from_string(text)
        tree = user.to_lxml_element()
        self.assertEqual('unknown', tree.get('custom'))
        unknown = tree.findall('UNKNOWN')
        self.assertEqual(1, len(unknown))
        unknown = unknown[0]
        custom = list(unknown)
        self.assertEqual(1, len(custom))
        custom = custom[0]
        self.assertEqual('CUSTOM', custom.tag)
Exemplo n.º 12
0
    def user_test(self):
        text = '''
<USER custom="unknown">
  <UNKNOWN>
    <CUSTOM />
  </UNKNOWN>
</USER>'''
        user = User.from_string(text)
        tree = user.to_lxml_element()
        self.assertEqual('unknown', tree.get('custom'))
        unknown = tree.findall('UNKNOWN')
        self.assertEqual(1, len(unknown))
        unknown = unknown[0]
        custom = list(unknown)
        self.assertEqual(1, len(custom))
        custom = custom[0]
        self.assertEqual('CUSTOM', custom.tag)
Exemplo n.º 13
0
 def test_from_lxml_password(self):
     text = '<USER password="******" />'
     user = User.from_lxml_element(etree.XML(text))
     right = User(password = '******')
     self.assertEqual(user, right)
Exemplo n.º 14
0
 def test_from_string_delete(self):
     text = '<USER DELETE="NO" />'
     user = User.from_string(text)
     right = User(delete = False)
     self.assertEqual(user, right)
Exemplo n.º 15
0
 def test_from_lxml(self):
     text = '<USER />'
     user = User.from_lxml_element(etree.XML(text))
     right = User()
     self.assertEqual(user, right)
Exemplo n.º 16
0
 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)
Exemplo n.º 17
0
 def test_from_string_execute(self):
     text = '<USER EXECUTE="NO" />'
     user = User.from_string(text)
     right = User(execute = False)
     self.assertEqual(user, right)
Exemplo n.º 18
0
 def test_to_string_name(self):
     user = User(name = 'name')
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 19
0
 def test_to_lxml_name(self):
     user = User(name = 'name')
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 20
0
 def test_to_string_password(self):
     user = User(password='******')
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 21
0
 def test_to_string_read(self):
     user = User(read=True)
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 22
0
 def test_to_string(self):
     user = User()
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 23
0
 def test_to_string_name(self):
     user = User(name='name')
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 24
0
 def test_from_string_write(self):
     text = '<USER WRITE="NO" />'
     user = User.from_string(text)
     right = User(write=False)
     self.assertEqual(user, right)
Exemplo n.º 25
0
 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)
Exemplo n.º 26
0
 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)
Exemplo n.º 27
0
 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)
Exemplo n.º 28
0
 def test_to_string_write(self):
     user = User(write=True)
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 29
0
 def test_from_string_name(self):
     text = '<USER name="name" />'
     user = User.from_string(text)
     right = User(name='name')
     self.assertEqual(user, right)
Exemplo n.º 30
0
 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)
Exemplo n.º 31
0
 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)
Exemplo n.º 32
0
 def test_to_lxml(self):
     user = User()
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 33
0
 def test_to_lxml_read(self):
     user = User(read = True)
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 34
0
 def test_to_lxml_name(self):
     user = User(name='name')
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 35
0
 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)
Exemplo n.º 36
0
 def test_to_lxml_password(self):
     user = User(password='******')
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 37
0
 def test_from_string_browse(self):
     text = '<USER BROWSE="NO" />'
     user = User.from_string(text)
     right = User(browse = False)
     self.assertEqual(user, right)
Exemplo n.º 38
0
 def test_to_lxml_read(self):
     user = User(read=True)
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 39
0
 def test_from_string_write(self):
     text = '<USER WRITE="NO" />'
     user = User.from_string(text)
     right = User(write = False)
     self.assertEqual(user, right)
Exemplo n.º 40
0
 def test_to_lxml_write(self):
     user = User(write=True)
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 41
0
 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)
Exemplo n.º 42
0
 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)
Exemplo n.º 43
0
 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)
Exemplo n.º 44
0
 def test_from_string_delete(self):
     text = '<USER DELETE="NO" />'
     user = User.from_string(text)
     right = User(delete=False)
     self.assertEqual(user, right)
Exemplo n.º 45
0
 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)
Exemplo n.º 46
0
 def test_to_string_read(self):
     user = User(read = True)
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 47
0
 def test_to_string(self):
     user = User()
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 48
0
 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)
Exemplo n.º 49
0
 def test_to_string_password(self):
     user = User(password = '******')
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 50
0
 def test_from_lxml_password(self):
     text = '<USER password="******" />'
     user = User.from_lxml_element(etree.XML(text))
     right = User(password='******')
     self.assertEqual(user, right)
Exemplo n.º 51
0
 def test_to_string_write(self):
     user = User(write = True)
     copy = User.from_string(str(user))
     self.assertEqual(user, copy)
Exemplo n.º 52
0
 def test_from_string_browse(self):
     text = '<USER BROWSE="NO" />'
     user = User.from_string(text)
     right = User(browse=False)
     self.assertEqual(user, right)
Exemplo n.º 53
0
 def test_to_lxml(self):
     user = User()
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 54
0
 def test_from_string_execute(self):
     text = '<USER EXECUTE="NO" />'
     user = User.from_string(text)
     right = User(execute=False)
     self.assertEqual(user, right)
Exemplo n.º 55
0
 def test_to_lxml_password(self):
     user = User(password = '******')
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 56
0
 def test_from_string_read(self):
     text = '<USER READ="NO" />'
     user = User.from_string(text)
     right = User(read=False)
     self.assertEqual(user, right)
Exemplo n.º 57
0
 def test_to_lxml_write(self):
     user = User(write = True)
     copy = User.from_lxml_element(user.to_lxml_element())
     self.assertEqual(user, copy)
Exemplo n.º 58
0
 def test_from_string_password(self):
     text = '<USER password="******" />'
     user = User.from_string(text)
     right = User(password='******')
     self.assertEqual(user, right)
Exemplo n.º 59
0
 def test_from_string_read(self):
     text = '<USER READ="NO" />'
     user = User.from_string(text)
     right = User(read = False)
     self.assertEqual(user, right)
Exemplo n.º 60
0
 def test_from_lxml(self):
     text = '<USER />'
     user = User.from_lxml_element(etree.XML(text))
     right = User()
     self.assertEqual(user, right)