annotate rhodecode/tests/functional/test_admin_settings.py @ 1366:9c0f5d558789 beta

fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached to db repository instance, and then fetched from cache. Also made all current test work.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 07 Jun 2011 17:58:51 +0200
parents c0335c1dee36
children c310e1e1e757
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
1 # -*- coding: utf-8 -*-
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
2
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
3 from rhodecode.lib.auth import get_crypt_password, check_password
1292
c0335c1dee36 added some fixes to LDAP form re-submition, new simples ldap-settings getter.
Marcin Kuzminski <marcin@python-works.com>
parents: 893
diff changeset
4 from rhodecode.model.db import User, RhodeCodeSettings
547
1e757ac98988 renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents: 534
diff changeset
5 from rhodecode.tests import *
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
6
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
7 class TestAdminSettingsController(TestController):
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
8
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
9 def test_index(self):
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
10 response = self.app.get(url('admin_settings'))
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
11 # Test response...
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
12
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
13 def test_index_as_xml(self):
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
14 response = self.app.get(url('formatted_admin_settings', format='xml'))
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
15
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
16 def test_create(self):
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
17 response = self.app.post(url('admin_settings'))
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
18
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
19 def test_new(self):
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
20 response = self.app.get(url('admin_new_setting'))
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
21
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
22 def test_new_as_xml(self):
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
23 response = self.app.get(url('formatted_admin_new_setting', format='xml'))
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
24
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
25 def test_update(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
26 response = self.app.put(url('admin_setting', setting_id=1))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
27
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
28 def test_update_browser_fakeout(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
29 response = self.app.post(url('admin_setting', setting_id=1), params=dict(_method='put'))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
30
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
31 def test_delete(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
32 response = self.app.delete(url('admin_setting', setting_id=1))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
33
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
34 def test_delete_browser_fakeout(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
35 response = self.app.post(url('admin_setting', setting_id=1), params=dict(_method='delete'))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
36
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
37 def test_show(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
38 response = self.app.get(url('admin_setting', setting_id=1))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
39
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
40 def test_show_as_xml(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
41 response = self.app.get(url('formatted_admin_setting', setting_id=1, format='xml'))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
42
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
43 def test_edit(self):
459
7c978511c951 implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents: 346
diff changeset
44 response = self.app.get(url('admin_edit_setting', setting_id=1))
346
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
45
51362853ac3b added settings rest controllers for admin, updated routes with easier submodule handling
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
46 def test_edit_as_xml(self):
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
47 response = self.app.get(url('formatted_admin_edit_setting',
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
48 setting_id=1, format='xml'))
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
49
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
50
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
51 def test_ga_code_active(self):
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
52 self.log_user()
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
53 old_title = 'RhodeCode'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
54 old_realm = 'RhodeCode authentication'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
55 new_ga_code = 'ga-test-123456789'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
56 response = self.app.post(url('admin_setting', setting_id='global'),
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
57 params=dict(
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
58 _method='put',
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
59 rhodecode_title=old_title,
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
60 rhodecode_realm=old_realm,
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
61 rhodecode_ga_code=new_ga_code
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
62 ))
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
63
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
64 self.assertTrue('Updated application settings' in
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
65 response.session['flash'][0][1])
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
66 self.assertEqual(RhodeCodeSettings
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
67 .get_app_settings()['rhodecode_ga_code'], new_ga_code)
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
68
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
69 response = response.follow()
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
70 self.assertTrue("""_gaq.push(['_setAccount', '%s']);""" % new_ga_code
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
71 in response.body)
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
72
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
73 def test_ga_code_inactive(self):
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
74 self.log_user()
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
75 old_title = 'RhodeCode'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
76 old_realm = 'RhodeCode authentication'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
77 new_ga_code = ''
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
78 response = self.app.post(url('admin_setting', setting_id='global'),
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
79 params=dict(
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
80 _method='put',
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
81 rhodecode_title=old_title,
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
82 rhodecode_realm=old_realm,
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
83 rhodecode_ga_code=new_ga_code
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
84 ))
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
85
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
86 self.assertTrue('Updated application settings' in
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
87 response.session['flash'][0][1])
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
88 self.assertEqual(RhodeCodeSettings
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
89 .get_app_settings()['rhodecode_ga_code'], new_ga_code)
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
90
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
91 response = response.follow()
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
92 self.assertTrue("""_gaq.push(['_setAccount', '%s']);""" % new_ga_code
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
93 not in response.body)
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
94
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
95
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
96 def test_title_change(self):
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
97 self.log_user()
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
98 old_title = 'RhodeCode'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
99 new_title = old_title + '_changed'
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
100 old_realm = 'RhodeCode authentication'
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
101
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
102 for new_title in ['Changed', 'Żółwik', old_title]:
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
103 response = self.app.post(url('admin_setting', setting_id='global'),
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
104 params=dict(
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
105 _method='put',
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
106 rhodecode_title=new_title,
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
107 rhodecode_realm=old_realm,
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
108 rhodecode_ga_code=''
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
109 ))
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
110
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
111
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
112 self.assertTrue('Updated application settings' in
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
113 response.session['flash'][0][1])
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
114 self.assertEqual(RhodeCodeSettings
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
115 .get_app_settings()['rhodecode_title'],
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
116 new_title.decode('utf-8'))
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
117
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
118 response = response.follow()
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
119 self.assertTrue("""<h1><a href="/">%s</a></h1>""" % new_title
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
120 in response.body)
893
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
121
ead7be02283b updated tests for application settings
Marcin Kuzminski <marcin@python-works.com>
parents: 782
diff changeset
122
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
123 def test_my_account(self):
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
124 self.log_user()
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
125 response = self.app.get(url('admin_settings_my_account'))
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
126
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
127 self.assertTrue('value="test_admin' in response.body)
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
128
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
129 def test_my_account_update(self):
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
130 self.log_user()
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
131
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
132 new_email = 'new@mail.pl'
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
133 new_name = 'NewName'
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
134 new_lastname = 'NewLastname'
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
135 new_password = 'test123'
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
136
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
137
1366
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
138 response = self.app.post(url('admin_settings_my_account_update'),
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
139 params=dict(_method='put',
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
140 username='test_admin',
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
141 new_password=new_password,
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
142 password='',
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
143 name=new_name,
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
144 lastname=new_lastname,
9c0f5d558789 fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents: 1292
diff changeset
145 email=new_email,))
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
146 response.follow()
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
147
782
51127b2efb33 fixed broken test after latest changes
Marcin Kuzminski <marcin@python-works.com>
parents: 754
diff changeset
148 assert 'Your account was updated successfully' in response.session['flash'][0][1], 'no flash message about success of change'
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
149 user = self.sa.query(User).filter(User.username == 'test_admin').one()
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
150 assert user.email == new_email , 'incorrect user email after update got %s vs %s' % (user.email, new_email)
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
151 assert user.name == new_name, 'updated field mismatch %s vs %s' % (user.name, new_name)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
152 assert user.lastname == new_lastname, 'updated field mismatch %s vs %s' % (user.lastname, new_lastname)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
153 assert check_password(new_password, user.password) is True, 'password field mismatch %s vs %s' % (user.password, new_password)
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
154
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
155 #bring back the admin settings
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
156 old_email = 'test_admin@mail.com'
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
157 old_name = 'RhodeCode'
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
158 old_lastname = 'Admin'
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
159 old_password = 'test12'
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
160
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
161 response = self.app.post(url('admin_settings_my_account_update'), params=dict(
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
162 _method='put',
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
163 username='test_admin',
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
164 new_password=old_password,
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
165 password='',
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
166 name=old_name,
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
167 lastname=old_lastname,
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
168 email=old_email,))
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
169
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
170 response.follow()
782
51127b2efb33 fixed broken test after latest changes
Marcin Kuzminski <marcin@python-works.com>
parents: 754
diff changeset
171 assert 'Your account was updated successfully' in response.session['flash'][0][1], 'no flash message about success of change'
754
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
172 user = self.sa.query(User).filter(User.username == 'test_admin').one()
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
173 assert user.email == old_email , 'incorrect user email after update got %s vs %s' % (user.email, old_email)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
174
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
175 assert user.email == old_email , 'incorrect user email after update got %s vs %s' % (user.email, old_email)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
176 assert user.name == old_name, 'updated field mismatch %s vs %s' % (user.name, old_name)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
177 assert user.lastname == old_lastname, 'updated field mismatch %s vs %s' % (user.lastname, old_lastname)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
178 assert check_password(old_password, user.password) is True , 'password updated field mismatch %s vs %s' % (user.password, old_password)
101a407827e8 fixed test that broke admin email address
Marcin Kuzminski <marcin@python-works.com>
parents: 746
diff changeset
179
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
180
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
181 def test_my_account_update_err_email_exists(self):
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
182 self.log_user()
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
183
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
184 new_email = 'test_regular@mail.com'#already exisitn email
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
185 response = self.app.post(url('admin_settings_my_account_update'), params=dict(
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
186 _method='put',
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
187 username='test_admin',
533
53aa1ee1af86 updated tests for new version 6char password etc...
Marcin Kuzminski <marcin@python-works.com>
parents: 491
diff changeset
188 new_password='test12',
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
189 name='NewName',
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
190 lastname='NewLastname',
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
191 email=new_email,))
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
192
746
18a3ca35d501 fixed grammar in taken email error
Marcin Kuzminski <marcin@python-works.com>
parents: 691
diff changeset
193 assert 'This e-mail address is already taken' in response.body, 'Missing error message about existing email'
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
194
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
195
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
196 def test_my_account_update_err(self):
533
53aa1ee1af86 updated tests for new version 6char password etc...
Marcin Kuzminski <marcin@python-works.com>
parents: 491
diff changeset
197 self.log_user('test_regular2', 'test12')
691
7486da5f0628 Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
198
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
199 new_email = 'newmail.pl'
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
200 response = self.app.post(url('admin_settings_my_account_update'), params=dict(
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
201 _method='put',
533
53aa1ee1af86 updated tests for new version 6char password etc...
Marcin Kuzminski <marcin@python-works.com>
parents: 491
diff changeset
202 username='test_admin',
53aa1ee1af86 updated tests for new version 6char password etc...
Marcin Kuzminski <marcin@python-works.com>
parents: 491
diff changeset
203 new_password='test12',
491
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
204 name='NewName',
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
205 lastname='NewLastname',
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
206 email=new_email,))
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
207 assert 'An email address must contain a single @' in response.body, 'Missing error message about wrong email'
fefffd6fd5f4 Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents: 459
diff changeset
208 assert 'This username already exists' in response.body, 'Missing error message about existing user'