예제 #1
0
    def validate(self):
        rv = Form.validate(self)
        self.rv = rv

        usernameExists = User.query.filter(
            User.username == self.reg_username.data).count() != 0
        self.usernameExists = usernameExists
        if usernameExists:
            self.reg_username.errors.append(
                'The username you have selected is already in use')
            return False

        emailExists = User.query.filter(
            User.email == self.reg_email.data).count() != 0
        self.emailExists = emailExists
        if emailExists:
            self.reg_email.errors.append(
                'The email address you have selected is already in use!'
            )  #perhaps we should let users make multiple accounts?
            return False
        if self.rv:
            self.user = User(self.reg_email.data,
                             self.reg_username.data,
                             plainTextPassword=self.reg_password.data)
            db.session.add(self.user)
            db.session.commit()
        return self.rv
예제 #2
0
    def test_create(self):

        dbUser = User.query.filter(User.email == '*****@*****.**').first()
        if dbUser:  #cleanup old test
            db.session.delete(dbUser)
            db.session.commit()
        user = User('*****@*****.**', 'joebloe', plainTextPassword='******')
        db.session.add(user)
        db.session.commit()
        dbUser = User.query.filter(User.email == '*****@*****.**').first()
        assert dbUser
        assert dbUser.validatePassword('secret')
        assert not dbUser.validatePassword('notTheSecret')
        db.session.delete(dbUser)
        db.session.commit()
        dbUser = User.query.filter(User.email == '*****@*****.**').first()
        assert dbUser == None