comparison bitten/tests/web_ui.py @ 562:a8c84285e67a

Complete rights restrictions for build configs etc - see #384. Also enhance tests to work with this code (but don't yet check that rights are restricted properly) Moved repos lookup outside of config loop for optimisation
author dfraser
date Mon, 11 May 2009 12:11:38 +0000
parents f3bf55de8a34
children 9ae8f6a95d4b
comparison
equal deleted inserted replaced
561:8ffe90404a8c 562:a8c84285e67a
44 # Hook up a dummy repository 44 # Hook up a dummy repository
45 self.repos = Mock( 45 self.repos = Mock(
46 get_node=lambda path, rev=None: Mock(get_history=lambda: [], 46 get_node=lambda path, rev=None: Mock(get_history=lambda: [],
47 isdir=True), 47 isdir=True),
48 normalize_path=lambda path: path, 48 normalize_path=lambda path: path,
49 sync=lambda: None 49 sync=lambda: None,
50 ) 50 )
51 self.repos.authz = Mock(has_permission=lambda path: True, assert_permission=lambda path: None)
51 self.env.get_repository = lambda authname=None: self.repos 52 self.env.get_repository = lambda authname=None: self.repos
52 53
53 def tearDown(self): 54 def tearDown(self):
54 shutil.rmtree(self.env.path) 55 shutil.rmtree(self.env.path)
55 56
56 def test_overview(self): 57 def test_overview(self):
57 PermissionSystem(self.env).grant_permission('joe', 'BUILD_VIEW') 58 PermissionSystem(self.env).grant_permission('joe', 'BUILD_VIEW')
58 req = Mock(method='GET', base_path='', cgi_location='', 59 req = Mock(method='GET', base_path='', cgi_location='',
59 path_info='/build', href=Href('/trac'), args={}, chrome={}, 60 path_info='/build', href=Href('/trac'), args={}, chrome={},
60 perm=PermissionCache(self.env, 'joe')) 61 perm=PermissionCache(self.env, 'joe'), authname='joe')
61 62
62 module = BuildConfigController(self.env) 63 module = BuildConfigController(self.env)
63 assert module.match_request(req) 64 assert module.match_request(req)
64 _, data, _ = module.process_request(req) 65 _, data, _ = module.process_request(req)
65 66
80 root = Mock(get_entries=lambda: ['foo'], 81 root = Mock(get_entries=lambda: ['foo'],
81 get_history=lambda: [('trunk', rev, 'edit') for rev in 82 get_history=lambda: [('trunk', rev, 'edit') for rev in
82 range(123, 111, -1)]) 83 range(123, 111, -1)])
83 self.repos = Mock(get_node=lambda path, rev=None: root, 84 self.repos = Mock(get_node=lambda path, rev=None: root,
84 sync=lambda: None, normalize_path=lambda path: path) 85 sync=lambda: None, normalize_path=lambda path: path)
86 self.repos.authz = Mock(has_permission=lambda path: True, assert_permission=lambda path: None)
85 87
86 module = BuildConfigController(self.env) 88 module = BuildConfigController(self.env)
87 assert module.match_request(req) 89 assert module.match_request(req)
88 _, data, _ = module.process_request(req) 90 _, data, _ = module.process_request(req)
89 91
105 root = Mock(get_entries=lambda: ['foo'], 107 root = Mock(get_entries=lambda: ['foo'],
106 get_history=lambda: [('trunk', rev, 'edit') for rev in 108 get_history=lambda: [('trunk', rev, 'edit') for rev in
107 range(123, 110, -1)]) 109 range(123, 110, -1)])
108 self.repos = Mock(get_node=lambda path, rev=None: root, 110 self.repos = Mock(get_node=lambda path, rev=None: root,
109 sync=lambda: None, normalize_path=lambda path: path) 111 sync=lambda: None, normalize_path=lambda path: path)
112 self.repos.authz = Mock(has_permission=lambda path: True, assert_permission=lambda path: None)
110 113
111 module = BuildConfigController(self.env) 114 module = BuildConfigController(self.env)
112 assert module.match_request(req) 115 assert module.match_request(req)
113 _, data, _ = module.process_request(req) 116 _, data, _ = module.process_request(req)
114 117
135 get_node=lambda path, rev=None: Mock(get_history=lambda: [], 138 get_node=lambda path, rev=None: Mock(get_history=lambda: [],
136 isdir=True), 139 isdir=True),
137 normalize_path=lambda path: path, 140 normalize_path=lambda path: path,
138 sync=lambda: None 141 sync=lambda: None
139 ) 142 )
143 self.repos.authz = Mock(has_permission=lambda path: True, assert_permission=lambda path: None)
140 self.env.get_repository = lambda authname=None: self.repos 144 self.env.get_repository = lambda authname=None: self.repos
141 145
142 def tearDown(self): 146 def tearDown(self):
143 pass 147 pass
144 148
Copyright (C) 2012-2017 Edgewall Software