⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functional.py

📁 一款基于web的项目管理、bug跟踪系统。提供了与svn集成的操作界面、问题跟踪
💻 PY
📖 第 1 页 / 共 4 页
字号:
class RegressionTestTicket5497a(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5497 a        Open ticket, component changed, owner not changed"""        ticketid = self._tester.create_ticket("regression test 5497a")        self._tester.go_to_ticket(ticketid)        tc.formvalue('propertyform', 'field-component', 'regression5497')        tc.submit('submit')        tc.find(regex_owned_by('user'))class RegressionTestTicket5497b(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5497 b        Open ticket, component changed, owner changed"""        ticketid = self._tester.create_ticket("regression test 5497b")        self._tester.go_to_ticket(ticketid)        tc.formvalue('propertyform', 'field-component', 'regression5497')        tc.formvalue('propertyform', 'action', 'reassign')        tc.formvalue('propertyform', 'action_reassign_reassign_owner', 'admin')        tc.submit('submit')        tc.notfind(regex_owned_by('user'))        tc.find(regex_owned_by('admin'))class RegressionTestTicket5497c(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5497 c        New ticket, component changed, owner not changed"""        ticketid = self._tester.create_ticket("regression test 5497c",            {'component':'regression5497'})        self._tester.go_to_ticket(ticketid)        tc.find(regex_owned_by('user'))class RegressionTestTicket5497d(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5497 d        New ticket, component changed, owner changed"""        ticketid = self._tester.create_ticket("regression test 5497d",            {'component':'regression5497', 'owner':'admin'})        self._tester.go_to_ticket(ticketid)        tc.find(regex_owned_by('admin'))class RegressionTestTicket5602(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5602"""        # Create a set of tickets, and assign them all to a milestone        milestone = self._tester.create_milestone()        ids = [self._tester.create_ticket() for x in range(5)]        [self._tester.ticket_set_milestone(x, milestone) for x in ids]        # Need a ticket in each state: new, assigned, accepted, closed,        # reopened        # leave ids[0] as new        # make ids[1] be assigned        self._tester.go_to_ticket(ids[1])        tc.formvalue('propertyform', 'action', 'reassign')        tc.formvalue('propertyform', 'action_reassign_reassign_owner', 'admin')        tc.submit('submit')        # make ids[2] be accepted        self._tester.go_to_ticket(ids[2])        tc.formvalue('propertyform', 'action', 'accept')        tc.submit('submit')        # make ids[3] be closed        self._tester.go_to_ticket(ids[3])        tc.formvalue('propertyform', 'action', 'resolve')        tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed')        tc.submit('submit')        # make ids[4] be reopened        self._tester.go_to_ticket(ids[4])        tc.formvalue('propertyform', 'action', 'resolve')        tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed')        tc.submit('submit')        # FIXME: we have to wait a second to avoid "IntegrityError: columns        # ticket, time, field are not unique"        time.sleep(1)        tc.formvalue('propertyform', 'action', 'reopen')        tc.submit('submit')        tc.show()        tc.notfind("Python Traceback")        # Go to the milestone and follow the links to the closed and active        # tickets.        tc.go(self._tester.url + "/roadmap")        tc.follow(milestone)        tc.follow("Closed tickets:")        tc.find("Resolution:[ \t\n]+fixed")        tc.back()        tc.follow("Active tickets:")        tc.find("Status:[ \t\n]+new")        tc.find("Status:[ \t\n]+assigned")        tc.find("Status:[ \t\n]+accepted")        tc.notfind("Status:[ \t\n]+closed")        tc.find("Status:[ \t\n]+reopened")class RegressionTestTicket5687(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5687"""        self._tester.logout()        self._tester.login('user')        ticketid = self._tester.create_ticket()        self._tester.logout()        self._tester.login('admin')class RegressionTestTicket5930(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/5930        TypeError: from_string() takes exactly 3 non-keyword arguments (4        given)        Caused by a saved query        """        self._tester.create_report('Saved Query', 'query:version=1.0', '')        tc.notfind(internal_error)        # TODO: Add a testcase for the following:        # Can you also throw in addition of a 1.0 ticket and a 2.0 ticket        # as part of the demo env, then see that only the correct one shows        # up in the report?class RegressionTestTicket6048(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/6048"""        # Setup the DeleteTicket plugin        plugin = open(os.path.join(self._testenv.command_cwd, 'sample-plugins',                                   'workflow', 'DeleteTicket.py')).read()        open(os.path.join(self._testenv.tracdir, 'plugins', 'DeleteTicket.py'),             'w').write(plugin)        env = self._testenv.get_trac_environment()        prevconfig = env.config.get('ticket', 'workflow')        env.config.set('ticket', 'workflow',                       prevconfig + ',DeleteTicketActionController')        env.config.save()        env = self._testenv.get_trac_environment() # reload environment        # Create a ticket and delete it        ticket_id = self._tester.create_ticket(            summary='RegressionTestTicket6048')        # (Create a second ticket so that the ticket id does not get reused        # and confuse the tester object.)        self._tester.create_ticket(summary='RegressionTestTicket6048b')        self._tester.go_to_ticket(ticket_id)        tc.find('delete ticket')        tc.formvalue('propertyform', 'action', 'delete')        tc.submit('submit')        self._tester.go_to_ticket(ticket_id)        tc.find('Error: Invalid Ticket Number')        tc.find('Ticket %s does not exist.' % ticket_id)        # Remove the DeleteTicket plugin        env.config.set('ticket', 'workflow', prevconfig)        env.config.save()        env = self._testenv.get_trac_environment() # reload environment        for ext in ('py', 'pyc', 'pyo'):            filename = os.path.join(self._testenv.tracdir, 'plugins',                                    'DeleteTicket.%s' % ext)            if os.path.exists(filename):                os.unlink(filename)class RegressionTestTicket6747(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/6747"""        env = self._testenv.get_trac_environment()        env.config.set('ticket-workflow', 'resolve.operations',                       'set_resolution,set_owner')        env.config.set('ticket-workflow', 'resolve.set_owner',                       'a_specified_owner')        env.config.save()        try:            self._testenv.restart()            ticket_id = self._tester.create_ticket("RegressionTestTicket6747")            self._tester.go_to_ticket(ticket_id)            tc.find("a_specified_owner")            tc.notfind("a_specified_owneras")        finally:            # Undo the config change to avoid causing problems for later            # tests.            env.config.set('ticket-workflow', 'resolve.operations',                           'set_resolution')            env.config.remove('ticket-workflow', 'resolve.set_owner')            env.config.save()            self._testenv.restart()class RegressionTestTicket6879a(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/6879 a        Make sure that previewing a close does not make the available actions        be those for the close status.        """        # create a ticket, then preview resolving the ticket twice        ticket_id = self._tester.create_ticket("RegressionTestTicket6879 a")        self._tester.go_to_ticket(ticket_id)        tc.formvalue('propertyform', 'action', 'resolve')        tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed')        tc.submit('preview')        tc.formvalue('propertyform', 'action', 'resolve')        tc.submit('preview')class RegressionTestTicket6879b(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/6879 a        Make sure that previewing a close does not make the available actions        be those for the close status.        """        # create a ticket, then preview resolving the ticket twice        ticket_id = self._tester.create_ticket("RegressionTestTicket6879 b")        self._tester.go_to_ticket(ticket_id)        tc.formvalue('propertyform', 'action', 'resolve')        tc.formvalue('propertyform', 'action_resolve_resolve_resolution', 'fixed')        tc.submit('preview')        tc.formvalue('propertyform', 'action', 'resolve')        tc.submit('submit')class RegressionTestTicket6912a(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/6912 a"""        try:            self._tester.create_component(name='RegressionTestTicket6912a',                                          user='')        except twill.utils.mechanize.ClientForm.ItemNotFoundError, e:            raise twill.errors.TwillAssertionError(e)class RegressionTestTicket6912b(FunctionalTwillTestCaseSetup):    def runTest(self):        """Test for regression of http://trac.edgewall.org/ticket/6912 b"""        self._tester.create_component(name='RegressionTestTicket6912b',                                      user='admin')        tc.follow('RegressionTestTicket6912b')        try:            tc.formvalue('modcomp', 'owner', '')        except twill.utils.mechanize.ClientForm.ItemNotFoundError, e:            raise twill.errors.TwillAssertionError(e)        tc.formvalue('modcomp', 'save', 'Save')        tc.submit()        tc.find('RegressionTestTicket6912b</a>[ \n\t]*</td>[ \n\t]*'                '<td class="owner"></td>', 's')def functionalSuite(suite=None):    if not suite:        import trac.tests.functional.testcases        suite = trac.tests.functional.testcases.functionalSuite()    suite.addTest(TestTickets())    suite.addTest(TestTicketPreview())    suite.addTest(TestTicketNoSummary())    suite.addTest(TestTicketAltFormats())    suite.addTest(TestTicketCSVFormat())    suite.addTest(TestTicketTabFormat())    suite.addTest(TestTicketRSSFormat())    suite.addTest(TestTicketSearch())    suite.addTest(TestNonTicketSearch())    suite.addTest(TestTicketHistory())    suite.addTest(TestTicketHistoryDiff())    suite.addTest(TestTicketQueryLinks())    suite.addTest(TestTimelineTicketDetails())    suite.addTest(TestAdminComponent())    suite.addTest(TestAdminComponentDuplicates())    suite.addTest(TestAdminComponentRemoval())    suite.addTest(TestAdminComponentNonRemoval())    suite.addTest(TestAdminComponentDefault())    suite.addTest(TestAdminComponentDetail())    suite.addTest(TestAdminMilestone())    suite.addTest(TestAdminMilestoneSpace())    suite.addTest(TestAdminMilestoneDuplicates())    suite.addTest(TestAdminMilestoneDetail())    suite.addTest(TestAdminMilestoneDue())    suite.addTest(TestAdminMilestoneDetailDue())    suite.addTest(TestAdminMilestoneCompleted())    suite.addTest(TestAdminMilestoneCompletedFuture())    suite.addTest(TestAdminMilestoneRemove())    suite.addTest(TestAdminMilestoneRemoveMulti())    suite.addTest(TestAdminMilestoneNonRemoval())    suite.addTest(TestAdminMilestoneDefault())    suite.addTest(TestAdminPriority())    suite.addTest(TestAdminPriorityModify())    suite.addTest(TestAdminPriorityRemove())    suite.addTest(TestAdminPriorityRemoveMulti())    suite.addTest(TestAdminPriorityNonRemoval())    suite.addTest(TestAdminPriorityDefault())    suite.addTest(TestAdminPriorityDetail())    suite.addTest(TestAdminPriorityRenumber())    suite.addTest(TestAdminPriorityRenumberDup())    suite.addTest(TestAdminResolution())    suite.addTest(TestAdminResolutionDuplicates())    suite.addTest(TestAdminSeverity())    suite.addTest(TestAdminSeverityDuplicates())    suite.addTest(TestAdminType())    suite.addTest(TestAdminTypeDuplicates())    suite.addTest(TestAdminVersion())    suite.addTest(TestAdminVersionDuplicates())    suite.addTest(TestAdminVersionDetail())    suite.addTest(TestAdminVersionDetailTime())    suite.addTest(TestAdminVersionDetailCancel())    suite.addTest(TestAdminVersionRemove())    suite.addTest(TestAdminVersionRemoveMulti())    suite.addTest(TestAdminVersionNonRemoval())    suite.addTest(TestAdminVersionDefault())    suite.addTest(TestNewReport())    suite.addTest(RegressionTestRev5665())    suite.addTest(RegressionTestRev5994())    suite.addTest(RegressionTestTicket4447())    suite.addTest(RegressionTestTicket4630a())    suite.addTest(RegressionTestTicket4630b())    suite.addTest(RegressionTestTicket5022())    suite.addTest(RegressionTestTicket5394a())    suite.addTest(RegressionTestTicket5394b())    suite.addTest(RegressionTestTicket5497prep())    suite.addTest(RegressionTestTicket5497a())    suite.addTest(RegressionTestTicket5497b())    suite.addTest(RegressionTestTicket5497c())    suite.addTest(RegressionTestTicket5497d())    suite.addTest(RegressionTestTicket5602())    suite.addTest(RegressionTestTicket5687())    suite.addTest(RegressionTestTicket5930())    suite.addTest(RegressionTestTicket6048())    suite.addTest(RegressionTestTicket6747())    suite.addTest(RegressionTestTicket6879a())    suite.addTest(RegressionTestTicket6879b())    suite.addTest(RegressionTestTicket6912a())    suite.addTest(RegressionTestTicket6912b())    return suiteif __name__ == '__main__':    unittest.main(defaultTest='functionalSuite')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -