def testModelInteraction(self): db = self.db self.assertEqual(len(list(db.query(model.User))), 3) self.assertFalse(model.user_by_name('cray')) self.assertTrue(model.user_by_name('sean'))
def user_info(username): 'A simple page from a dabase.' user = model.user_by_name(username) # any local variables can be used in the template return locals()
def edit_user(username): user = model.user_by_name(username) form = NewUserFormProcessor(request.POST, user) if request.method == 'POST' and form.validate(): db = dbwrap.session() form.populate_obj(user) print(user) db.merge(user) db.commit() redirect(app.get_url('user_list')) return locals()
def post(self): if self.user: self.redirect('/?logged=true') #TBD: be sure that the code below will not run after redirect username = self.get_from_request('username') password = self.get_from_request('password') from_path = self.get_from_request('from_path') user = model.user_by_name(username) if user: if user_stuff.valid_pw(username, password, user.password): self.login(user.user_id()) path = str(from_path) or '/welcome' self.redirect(path) else: login_error = "Username and Password didn't match" self.render('login.html', username = username, login_error = login_error) else: self.render('login.html', login_error = 'Invalid Login')
def valid_signup_form(username, password, verify, email): have_error = False params = {'username_value': username, 'email_value': email} if model.user_by_name(username): have_error = True params['username_error'] = "That username is not available." if not valid_username(username): have_error = True params['username_error'] = "That's not a valid username." if not password: have_error = True params['password_error'] = "That's not a valid password." elif not valid_password(password, verify): have_error = True params['verify_error'] = "Sorry, the passwords didn't match." if not valid_email(email): have_error = True params['email_error'] = "That's not a valid e-mail." return params, have_error
def test_user_create(self): '''Create new user via WSGI interface''' results = self.harness.get('/new-user') self.assertEqual(results.status, '200 OK') results = self.harness.post( '/new-user', {'name': 'cray', 'full_name': 'Seymour Cray', 'email_address': '*****@*****.**', 'password': '******', 'confirm': 'mycray', }) self.assertEqual(results.status, '302 Found') self.assertTrue(results.location.endswith('users/cray')) cray = model.user_by_name('cray') self.assertNotEqual(cray, None) results = self.harness.get('/users/cray') self.assertEqual(results.status, '200 OK') self.assertIn('Seymour', results.body)