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
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