Mercurial > bitten > bitten-test
diff bitten/tests/web_ui.py @ 629:f3bb52da9e3c
0.6dev: Adding support for attachments to configurations and build - full web implementation that mirrors what is available in Ticket and Wiki. Also added a new generic `<attach/>` command that enables attaching files to be part of a recipe and uploaded by slaves as part of build.
Tests and updated documentation included.
Closes #132.
author | osimons |
---|---|
date | Tue, 11 Aug 2009 22:47:55 +0000 |
parents | 99831ab37fd3 |
children | 29a5793c452a |
line wrap: on
line diff
--- a/bitten/tests/web_ui.py +++ b/bitten/tests/web_ui.py @@ -97,6 +97,13 @@ self.assertEqual('view_config', data['page_mode']) assert not 'next' in req.chrome['links'] + from trac.resource import Resource + self.assertEquals(Resource('build', 'test'), data['context'].resource) + + self.assertEquals([], data['config']['attachments']['attachments']) + self.assertEquals('/trac/attachment/build/test/', + data['config']['attachments']['attach_href']) + def test_view_config_paging(self): config = BuildConfig(self.env, name='test', path='trunk') config.insert() @@ -144,6 +151,43 @@ class BuildControllerTestCase(AbstractWebUITestCase): + def test_view_build(self): + config = BuildConfig(self.env, name='test', path='trunk') + config.insert() + platform = TargetPlatform(self.env, config='test', name='any') + platform.insert() + build = Build(self.env, config='test', platform=1, rev=123, rev_time=42, + status=Build.SUCCESS, slave='hal') + build.insert() + + PermissionSystem(self.env).grant_permission('joe', 'BUILD_VIEW') + req = Mock(method='GET', base_path='', cgi_location='', + path_info='/build/test/1', href=Href('/trac'), args={}, + chrome={}, authname='joe', + perm=PermissionCache(self.env, 'joe')) + + root = Mock(get_entries=lambda: ['foo'], + get_history=lambda: [('trunk', rev, 'edit') for rev in + range(123, 111, -1)]) + self.repos = Mock(get_node=lambda path, rev=None: root, + sync=lambda: None, + normalize_path=lambda path: path, + get_changeset=lambda rev: Mock(author='joe')) + self.repos.authz = Mock(has_permission=lambda path: True, assert_permission=lambda path: None) + + module = BuildController(self.env) + assert module.match_request(req) + _, data, _ = module.process_request(req) + + self.assertEqual('view_build', data['page_mode']) + + from trac.resource import Resource + self.assertEquals(Resource('build', 'test/1'), data['context'].resource) + + self.assertEquals([], data['build']['attachments']['attachments']) + self.assertEquals('/trac/attachment/build/test/1/', + data['build']['attachments']['attach_href']) + def test_raise_404(self): PermissionSystem(self.env).grant_permission('joe', 'BUILD_VIEW') module = BuildController(self.env) @@ -163,6 +207,7 @@ return self.fail("This should have raised HTTPNotFound") + class SourceFileLinkFormatterTestCase(AbstractWebUITestCase): def test_format_simple_link_in_repos(self):