Mercurial > kallithea
comparison rhodecode/tests/functional/test_admin_users.py @ 691:7486da5f0628 beta
Refactor codes for scm model
Some test updates, added test for admin user controller
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 14 Nov 2010 22:54:16 +0100 |
parents | rhodecode/tests/functional/test_users.py@8acbfa837180 |
children | 62c04c5cc971 |
comparison
equal
deleted
inserted
replaced
690:4685f3eafd35 | 691:7486da5f0628 |
---|---|
1 from rhodecode.tests import * | |
2 from rhodecode.model.db import User | |
3 from rhodecode.lib.auth import check_password | |
4 from sqlalchemy.orm.exc import NoResultFound | |
5 | |
6 class TestAdminUsersController(TestController): | |
7 | |
8 def test_index(self): | |
9 response = self.app.get(url('users')) | |
10 # Test response... | |
11 | |
12 def test_index_as_xml(self): | |
13 response = self.app.get(url('formatted_users', format='xml')) | |
14 | |
15 def test_create(self): | |
16 self.log_user() | |
17 username = 'newtestuser' | |
18 password = 'test12' | |
19 name = 'name' | |
20 lastname = 'lastname' | |
21 email = 'mail@mail.com' | |
22 | |
23 response = self.app.post(url('users'), {'username':username, | |
24 'password':password, | |
25 'name':name, | |
26 'active':True, | |
27 'lastname':lastname, | |
28 'email':email}) | |
29 | |
30 | |
31 assert '''created user %s''' % (username) in response.session['flash'][0], 'No flash message about new user' | |
32 | |
33 new_user = self.sa.query(User).filter(User.username == username).one() | |
34 | |
35 | |
36 assert new_user.username == username, 'wrong info about username' | |
37 assert check_password(password, new_user.password) == True , 'wrong info about password' | |
38 assert new_user.name == name, 'wrong info about name' | |
39 assert new_user.lastname == lastname, 'wrong info about lastname' | |
40 assert new_user.email == email, 'wrong info about email' | |
41 | |
42 | |
43 response.follow() | |
44 response = response.follow() | |
45 assert """edit">newtestuser</a>""" in response.body | |
46 | |
47 def test_create_err(self): | |
48 self.log_user() | |
49 username = 'new_user' | |
50 password = '' | |
51 name = 'name' | |
52 lastname = 'lastname' | |
53 email = 'errmail.com' | |
54 | |
55 response = self.app.post(url('users'), {'username':username, | |
56 'password':password, | |
57 'name':name, | |
58 'active':False, | |
59 'lastname':lastname, | |
60 'email':email}) | |
61 | |
62 assert """<span class="error-message">Invalid username</span>""" in response.body | |
63 assert """<span class="error-message">Please enter a value</span>""" in response.body | |
64 assert """<span class="error-message">An email address must contain a single @</span>""" in response.body | |
65 | |
66 def get_user(): | |
67 self.sa.query(User).filter(User.username == username).one() | |
68 | |
69 self.assertRaises(NoResultFound, get_user), 'found user in database' | |
70 | |
71 def test_new(self): | |
72 response = self.app.get(url('new_user')) | |
73 | |
74 def test_new_as_xml(self): | |
75 response = self.app.get(url('formatted_new_user', format='xml')) | |
76 | |
77 def test_update(self): | |
78 response = self.app.put(url('user', id=1)) | |
79 | |
80 def test_update_browser_fakeout(self): | |
81 response = self.app.post(url('user', id=1), params=dict(_method='put')) | |
82 | |
83 def test_delete(self): | |
84 self.log_user() | |
85 username = 'newtestuserdeleteme' | |
86 password = 'test12' | |
87 name = 'name' | |
88 lastname = 'lastname' | |
89 email = 'todeletemail@mail.com' | |
90 | |
91 response = self.app.post(url('users'), {'username':username, | |
92 'password':password, | |
93 'name':name, | |
94 'active':True, | |
95 'lastname':lastname, | |
96 'email':email}) | |
97 | |
98 response = response.follow() | |
99 | |
100 new_user = self.sa.query(User).filter(User.username == username).one() | |
101 response = self.app.delete(url('user', id=new_user.user_id)) | |
102 | |
103 assert """sucessfully deleted user""" in response.session['flash'][0], 'No info about user deletion' | |
104 | |
105 | |
106 def test_delete_browser_fakeout(self): | |
107 response = self.app.post(url('user', id=1), params=dict(_method='delete')) | |
108 | |
109 def test_show(self): | |
110 response = self.app.get(url('user', id=1)) | |
111 | |
112 def test_show_as_xml(self): | |
113 response = self.app.get(url('formatted_user', id=1, format='xml')) | |
114 | |
115 def test_edit(self): | |
116 response = self.app.get(url('edit_user', id=1)) | |
117 | |
118 def test_edit_as_xml(self): | |
119 response = self.app.get(url('formatted_edit_user', id=1, format='xml')) |