📄 model.py
字号:
ticket = self._create_a_ticket() ticket.insert() self.assertEqual('created', listener.action) self.assertEqual(ticket, listener.ticket) def test_change_listener_changed(self): listener = TestTicketChangeListener(self.env) data = {'component': 'foo', 'milestone': 'bar'} tkt_id = self._insert_ticket('Hello World', reporter='john', **data) ticket = Ticket(self.env, tkt_id) ticket['component'] = 'new component' ticket['milestone'] = 'new milestone' comment = 'changing ticket' ticket.save_changes('author', comment) self.assertEqual('changed', listener.action) self.assertEqual(comment, listener.comment) self.assertEqual('author', listener.author) for key, value in data.iteritems(): self.assertEqual(value, listener.old_values[key]) def test_change_listener_deleted(self): listener = TestTicketChangeListener(self.env) ticket = self._create_a_ticket() ticket.insert() ticket.delete() self.assertEqual('deleted', listener.action) self.assertEqual(ticket, listener.ticket)class EnumTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub(default_data=True) def test_priority_fetch(self): prio = Priority(self.env, 'major') self.assertEqual(prio.name, 'major') self.assertEqual(prio.value, '3') def test_priority_insert(self): prio = Priority(self.env) prio.name = 'foo' prio.insert() self.assertEqual(True, prio.exists) def test_priority_insert_with_value(self): prio = Priority(self.env) prio.name = 'bar' prio.value = 100 prio.insert() self.assertEqual(True, prio.exists) def test_priority_update(self): prio = Priority(self.env, 'major') prio.name = 'foo' prio.update() Priority(self.env, 'foo') self.assertRaises(TracError, Priority, self.env, 'major') def test_priority_delete(self): prio = Priority(self.env, 'major') self.assertEqual('3', prio.value) prio.delete() self.assertEqual(False, prio.exists) self.assertRaises(TracError, Priority, self.env, 'major') prio = Priority(self.env, 'minor') self.assertEqual('3', prio.value) def test_ticket_type_update(self): tkttype = Type(self.env, 'task') self.assertEqual(tkttype.name, 'task') self.assertEqual(tkttype.value, '3') tkttype.name = 'foo' tkttype.update() Type(self.env, 'foo')class MilestoneTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub(default_data=True) self.db = self.env.get_db_cnx() def test_new_milestone(self): milestone = Milestone(self.env) self.assertEqual(False, milestone.exists) self.assertEqual(None, milestone.name) self.assertEqual(None, milestone.due) self.assertEqual(None, milestone.completed) self.assertEqual('', milestone.description) def test_new_milestone_empty_name(self): """ Verifies that specifying an empty milestone name results in the milestone being correctly detected as non-existent. """ milestone = Milestone(self.env, '') self.assertEqual(False, milestone.exists) self.assertEqual(None, milestone.name) self.assertEqual(None, milestone.due) self.assertEqual(None, milestone.completed) self.assertEqual('', milestone.description) def test_existing_milestone(self): cursor = self.db.cursor() cursor.execute("INSERT INTO milestone (name) VALUES ('Test')") cursor.close() milestone = Milestone(self.env, 'Test') self.assertEqual(True, milestone.exists) self.assertEqual('Test', milestone.name) self.assertEqual(None, milestone.due) self.assertEqual(None, milestone.completed) self.assertEqual('', milestone.description) def test_create_milestone(self): milestone = Milestone(self.env) milestone.name = 'Test' milestone.insert() cursor = self.db.cursor() cursor.execute("SELECT name,due,completed,description FROM milestone " "WHERE name='Test'") self.assertEqual(('Test', 0, 0, ''), cursor.fetchone()) def test_create_milestone_without_name(self): milestone = Milestone(self.env) self.assertRaises(AssertionError, milestone.insert) def test_delete_milestone(self): cursor = self.db.cursor() cursor.execute("INSERT INTO milestone (name) VALUES ('Test')") cursor.close() milestone = Milestone(self.env, 'Test') milestone.delete() cursor = self.db.cursor() cursor.execute("SELECT * FROM milestone WHERE name='Test'") self.assertEqual(None, cursor.fetchone()) def test_delete_milestone_retarget_tickets(self): cursor = self.db.cursor() cursor.execute("INSERT INTO milestone (name) VALUES ('Test')") cursor.close() tkt1 = Ticket(self.env) tkt1.populate({'summary': 'Foo', 'milestone': 'Test'}) tkt1.insert() tkt2 = Ticket(self.env) tkt2.populate({'summary': 'Bar', 'milestone': 'Test'}) tkt2.insert() milestone = Milestone(self.env, 'Test') milestone.delete(retarget_to='Other') self.assertEqual('Other', Ticket(self.env, tkt1.id)['milestone']) self.assertEqual('Other', Ticket(self.env, tkt2.id)['milestone']) def test_update_milestone(self): cursor = self.db.cursor() cursor.execute("INSERT INTO milestone (name) VALUES ('Test')") cursor.close() milestone = Milestone(self.env, 'Test') t1 = datetime(2001,01,01, tzinfo=utc) t2 = datetime(2002,02,02, tzinfo=utc) milestone.due = t1 milestone.completed = t2 milestone.description = 'Foo bar' milestone.update() cursor = self.db.cursor() cursor.execute("SELECT * FROM milestone WHERE name='Test'") self.assertEqual(('Test', to_timestamp(t1), to_timestamp(t2), 'Foo bar'), cursor.fetchone()) def test_update_milestone_without_name(self): cursor = self.db.cursor() cursor.execute("INSERT INTO milestone (name) VALUES ('Test')") cursor.close() milestone = Milestone(self.env, 'Test') milestone.name = None self.assertRaises(AssertionError, milestone.update) def test_update_milestone_update_tickets(self): cursor = self.db.cursor() cursor.execute("INSERT INTO milestone (name) VALUES ('Test')") cursor.close() tkt1 = Ticket(self.env) tkt1.populate({'summary': 'Foo', 'milestone': 'Test'}) tkt1.insert() tkt2 = Ticket(self.env) tkt2.populate({'summary': 'Bar', 'milestone': 'Test'}) tkt2.insert() milestone = Milestone(self.env, 'Test') milestone.name = 'Testing' milestone.update() self.assertEqual('Testing', Ticket(self.env, tkt1.id)['milestone']) self.assertEqual('Testing', Ticket(self.env, tkt2.id)['milestone']) def test_select_milestones(self): cursor = self.db.cursor() cursor.executemany("INSERT INTO milestone (name) VALUES (%s)", [('1.0',), ('2.0',)]) cursor.close() milestones = list(Milestone.select(self.env)) self.assertEqual('1.0', milestones[0].name) assert milestones[0].exists self.assertEqual('2.0', milestones[1].name) assert milestones[1].existsclass ComponentTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub(default_data=True) def test_exists_negative(self): def get_fake_component(): return Component(self.env, "Shrubbery") self.assertRaises(TracError, get_fake_component) def test_exists(self): """ http://trac.edgewall.org/ticket/4247 """ for c in Component.select(self.env): self.assertEqual(c.exists, True)class VersionTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub(default_data=True) def test_exists_negative(self): def get_fake_version(): return Version(self.env, "-1") self.assertRaises(TracError, get_fake_version) def test_exists(self): """ http://trac.edgewall.org/ticket/4247 """ for v in Version.select(self.env): self.assertEqual(v.exists, True)def suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TicketTestCase, 'test')) suite.addTest(unittest.makeSuite(EnumTestCase, 'test')) suite.addTest(unittest.makeSuite(MilestoneTestCase, 'test')) suite.addTest(unittest.makeSuite(ComponentTestCase, 'test')) suite.addTest(unittest.makeSuite(VersionTestCase, 'test')) return suiteif __name__ == '__main__': unittest.main(defaultTest='suite')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -