class CommitTicketUpdaterTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub(enable=['trac.*', 'tracopt.ticket.commit_updater.*']) self.env.config.set('ticket', 'commit_ticket_update_check_perms', False) self.repos = Mock(Repository, 'repos1', {'name': 'repos1', 'id': 1}, self.env.log, normalize_rev=lambda rev: 1) self.updater = CommitTicketUpdater(self.env) def tearDown(self): self.env.reset_db() def _make_tickets(self, num): self.tickets = [] for i in xrange(0, num): ticket = Ticket(self.env) ticket['reporter'] = 'someone' ticket['summary'] = random_sentence() ticket.insert() self.tickets.append(ticket) def test_changeset_added(self): self._make_tickets(1) message = 'This is the first comment. Refs #1.' chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, chgset) self.assertEqual("""\ In [changeset:"1/repos1" 1/repos1]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment. Refs #1. }}}""", self.tickets[0].get_change(cnum=1)['fields']['comment']['new']) def test_changeset_modified(self): self._make_tickets(2) message = 'This is the first comment. Refs #1.' old_chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) message = 'This is the first comment after an edit. Refs #1, #2.' new_chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 2, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, old_chgset) self.updater.changeset_modified(self.repos, new_chgset, old_chgset) self.assertEqual("""\ In [changeset:"1/repos1" 1/repos1]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment. Refs #1. }}}""", self.tickets[0].get_change(cnum=1)['fields']['comment']['new']) self.assertEqual("""\ In [changeset:"1/repos1" 1/repos1]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment after an edit. Refs #1, #2. }}}""", self.tickets[1].get_change(cnum=1)['fields']['comment']['new'])
class CommitTicketUpdaterTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub( enable=['trac.*', 'tracopt.ticket.commit_updater.*']) self.env.config.set('ticket', 'commit_ticket_update_check_perms', False) self.repos = Mock(Repository, 'repos1', { 'name': 'repos1', 'id': 1 }, self.env.log) self.updater = CommitTicketUpdater(self.env) def tearDown(self): self.env.reset_db() def _make_tickets(self, num): self.tickets = [] for i in xrange(0, num): ticket = Ticket(self.env) ticket['reporter'] = 'someone' ticket['summary'] = random_sentence() ticket.insert() self.tickets.append(ticket) def test_changeset_added(self): self._make_tickets(1) message = 'This is the first comment. Refs #1.' chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, chgset) self.assertEqual( """\ In [changeset:"1/repos1"]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment. Refs #1. }}}""", self.tickets[0].get_change(cnum=1)['fields']['comment']['new']) def test_changeset_modified(self): self._make_tickets(2) message = 'This is the first comment. Refs #1.' old_chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) message = 'This is the first comment after an edit. Refs #1, #2.' new_chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 2, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, old_chgset) self.updater.changeset_modified(self.repos, new_chgset, old_chgset) self.assertEqual( """\ In [changeset:"1/repos1"]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment. Refs #1. }}}""", self.tickets[0].get_change(cnum=1)['fields']['comment']['new']) self.assertEqual( """\ In [changeset:"1/repos1"]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment after an edit. Refs #1, #2. }}}""", self.tickets[1].get_change(cnum=1)['fields']['comment']['new']) def test_commands_refs(self): commands = { (1, ): 'Refs #1', (2, ): 'refs #2', (3, ): 'refs ticket:3#comment:1', (4, 5): 'refs ticket:4#comment:description and ' 'ticket:5#comment:1' } self._make_tickets(5) rev = 0 for tkts, cmd in commands.items(): rev += 1 message = "This is the first comment. %s." % cmd chgset = Mock(repos=self.repos, rev=rev, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, chgset) comment = self.updater.make_ticket_comment(self.repos, chgset) for tkt in tkts: change = self.tickets[tkt - 1].get_change(cnum=1) self.assertEqual(comment, change['fields']['comment']['new'])
class CommitTicketUpdaterTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub( enable=['trac.*', 'tracopt.ticket.commit_updater.*']) self.env.config.set('ticket', 'commit_ticket_update_check_perms', False) self.repos = Mock(Repository, 'repos1', { 'name': 'repos1', 'id': 1 }, self.env.log, normalize_rev=lambda rev: 1) self.updater = CommitTicketUpdater(self.env) def tearDown(self): self.env.reset_db() def _make_tickets(self, num): self.tickets = [] for i in xrange(0, num): ticket = Ticket(self.env) ticket['reporter'] = 'someone' ticket['summary'] = random_sentence() ticket.insert() self.tickets.append(ticket) def test_changeset_added(self): self._make_tickets(1) message = 'This is the first comment. Refs #1.' chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, chgset) self.assertEqual( """\ In [changeset:"1/repos1" 1/repos1]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment. Refs #1. }}}""", self.tickets[0].get_change(cnum=1)['fields']['comment']['new']) def test_changeset_modified(self): self._make_tickets(2) message = 'This is the first comment. Refs #1.' old_chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 1, 1, 1, 1, 0, utc)) message = 'This is the first comment after an edit. Refs #1, #2.' new_chgset = Mock(repos=self.repos, rev=1, message=message, author='joe', date=datetime(2001, 1, 2, 1, 1, 1, 0, utc)) self.updater.changeset_added(self.repos, old_chgset) self.updater.changeset_modified(self.repos, new_chgset, old_chgset) self.assertEqual( """\ In [changeset:"1/repos1" 1/repos1]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment. Refs #1. }}}""", self.tickets[0].get_change(cnum=1)['fields']['comment']['new']) self.assertEqual( """\ In [changeset:"1/repos1" 1/repos1]: {{{ #!CommitTicketReference repository="repos1" revision="1" This is the first comment after an edit. Refs #1, #2. }}}""", self.tickets[1].get_change(cnum=1)['fields']['comment']['new'])