Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(919)

Side by Side Diff: appengine/monorail/tracker/test/tablecell_test.py

Issue 1868553004: Open Source Monorail (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is govered by a BSD-style
3 # license that can be found in the LICENSE file or at
4 # https://developers.google.com/open-source/licenses/bsd
5
6 """Unit tests for issuelist module."""
7
8 import unittest
9
10 from framework import framework_constants
11 from framework import table_view_helpers
12 from proto import tracker_pb2
13 from testing import fake
14 from tracker import tablecell
15
16
17 class DisplayNameMock(object):
18
19 def __init__(self, name):
20 self.display_name = name
21
22
23 def MakeTestIssue(local_id, issue_id, summary):
24 issue = tracker_pb2.Issue()
25 issue.local_id = local_id
26 issue.issue_id = issue_id
27 issue.summary = summary
28 return issue
29
30
31 class TableCellUnitTest(unittest.TestCase):
32
33 USERS_BY_ID = {
34 23456: DisplayNameMock('Jason'),
35 34567: DisplayNameMock('Nathan'),
36 }
37
38 def setUp(self):
39 self.issue1 = MakeTestIssue(
40 local_id=1, issue_id=100001, summary='One')
41 self.issue2 = MakeTestIssue(
42 local_id=2, issue_id=100002, summary='Two')
43 self.issue3 = MakeTestIssue(
44 local_id=3, issue_id=100003, summary='Three')
45
46 def testTableCellID(self):
47 cell = tablecell.TableCellID(
48 MakeTestIssue(4, 4, 'Four'), None, self.USERS_BY_ID, [], {}, {},
49 'fake config')
50 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ID)
51 # Note that the ID itself is accessed from the row, not the cell.
52
53 def testTableCellOwner(self):
54 test_issue = MakeTestIssue(4, 4, 'Four')
55 test_issue.owner_id=23456
56
57 cell = tablecell.TableCellOwner(
58 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
59 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
60 self.assertEqual(cell.values[0].item, 'Jason')
61
62 def testTableCellOwnerNoOwner(self):
63 test_issue = MakeTestIssue(4, 4, 'Four')
64 test_issue.owner_id=framework_constants.NO_USER_SPECIFIED
65
66 cell = tablecell.TableCellOwner(
67 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
68 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
69 self.assertEqual(cell.values, [])
70
71 def testTableCellReporter(self):
72 test_issue = MakeTestIssue(4, 4, 'Four')
73 test_issue.reporter_id=34567
74
75 cell = tablecell.TableCellReporter(
76 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
77 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
78 self.assertEqual(cell.values[0].item, 'Nathan')
79
80 def testTableCellCc(self):
81 test_issue = MakeTestIssue(4, 4, 'Four')
82 test_issue.cc_ids = [23456, 34567]
83
84 cell = tablecell.TableCellCc(
85 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
86 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
87 self.assertEqual(cell.values[0].item, 'Jason')
88 self.assertEqual(cell.values[1].item, 'Nathan')
89
90 def testTableCellCcNoCcs(self):
91 cell = tablecell.TableCellCc(
92 MakeTestIssue(4, 4, 'Four'),
93 None, self.USERS_BY_ID, [], {}, {}, 'fake config')
94 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
95 self.assertEqual(cell.values, [])
96
97 def testTableCellAttachmentsNone(self):
98 cell = tablecell.TableCellAttachments(
99 MakeTestIssue(4, 4, 'Four'),
100 None, self.USERS_BY_ID, [], {}, {}, 'fake config')
101 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
102 self.assertEqual(cell.values[0].item, 0)
103
104 def testTableCellAttachments(self):
105 test_issue = MakeTestIssue(4, 4, 'Four')
106 test_issue.attachment_count = 2
107
108 cell = tablecell.TableCellAttachments(
109 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
110 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
111 self.assertEqual(cell.values[0].item, 2)
112
113 def testTableCellOpened(self):
114 test_issue = MakeTestIssue(4, 4, 'Four')
115 test_issue.opened_timestamp = 1200000000
116
117 cell = tablecell.TableCellOpened(
118 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
119 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
120 self.assertEqual(cell.values[0].item, 'Jan 2008')
121
122 def testTableCellClosed(self):
123 test_issue = MakeTestIssue(4, 4, 'Four')
124 test_issue.closed_timestamp = None
125
126 cell = tablecell.TableCellClosed(
127 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
128 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
129 self.assertEqual(cell.values, [])
130
131 test_issue.closed_timestamp = 1200000000
132 cell = tablecell.TableCellClosed(
133 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
134 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
135 self.assertEqual(cell.values[0].item, 'Jan 2008')
136
137 def testTableCellModified(self):
138 test_issue = MakeTestIssue(4, 4, 'Four')
139 test_issue.modified_timestamp = None
140
141 cell = tablecell.TableCellModified(
142 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
143 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
144 self.assertEqual(cell.values, [])
145
146 test_issue.modified_timestamp = 1200000000
147 cell = tablecell.TableCellModified(
148 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
149 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
150 self.assertEqual(cell.values[0].item, 'Jan 2008')
151
152 def testTableCellBlockedOn(self):
153 test_issue = MakeTestIssue(4, 4, 'Four')
154 test_issue.blocked_on_iids = [
155 self.issue1.issue_id, self.issue2.issue_id, self.issue3.issue_id]
156
157 cell = tablecell.TableCellBlockedOn(
158 test_issue,
159 None, self.USERS_BY_ID, [], {},
160 {self.issue1.issue_id: self.issue1, self.issue2.issue_id: self.issue2,
161 self.issue3.issue_id: self.issue3}, 'fake config')
162 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
163 self.assertEqual(cell.values[0].item, '1')
164 self.assertEqual(cell.values[1].item, '2')
165 self.assertEqual(cell.values[2].item, '3')
166
167 def testTableCellBlockedOnNone(self):
168 cell = tablecell.TableCellBlockedOn(
169 MakeTestIssue(4, 4, 'Four'),
170 None, self.USERS_BY_ID, [], {}, {}, 'fake config')
171 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
172 self.assertEqual(cell.values, [])
173
174 def testTableCellBlocking(self):
175 test_issue = MakeTestIssue(4, 4, 'Four')
176 test_issue.blocking_iids = [
177 self.issue1.issue_id, self.issue2.issue_id, self.issue3.issue_id]
178
179 cell = tablecell.TableCellBlocking(
180 test_issue,
181 None, self.USERS_BY_ID, [], {},
182 {self.issue1.issue_id: self.issue1, self.issue2.issue_id: self.issue2,
183 self.issue3.issue_id: self.issue3}, 'fake config')
184 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
185 self.assertEqual(cell.values[0].item, '1')
186 self.assertEqual(cell.values[1].item, '2')
187 self.assertEqual(cell.values[2].item, '3')
188
189 def testTableCellBlockingNone(self):
190 cell = tablecell.TableCellBlocking(
191 MakeTestIssue(4, 4, 'Four'),
192 None, self.USERS_BY_ID, [], {}, {}, 'fake config')
193 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
194 self.assertEqual(cell.values, [])
195
196 def testTableCellBlocked(self):
197 test_issue = MakeTestIssue(4, 4, 'Four')
198 test_issue.blocked_on_iids = [1, 2, 3]
199
200 cell = tablecell.TableCellBlocked(
201 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
202 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
203 self.assertEqual(cell.values[0].item, 'Yes')
204
205 def testTableCellBlockedNotBlocked(self):
206 cell = tablecell.TableCellBlocked(
207 MakeTestIssue(4, 4, 'Four'),
208 None, self.USERS_BY_ID, [], {}, {}, 'fake config')
209 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
210 self.assertEqual(cell.values[0].item, 'No')
211
212 def testTableCellMergedInto(self):
213 test_issue = MakeTestIssue(4, 4, 'Four')
214 test_issue.merged_into = self.issue3.issue_id
215
216 cell = tablecell.TableCellMergedInto(
217 test_issue, None, self.USERS_BY_ID, [], {},
218 {self.issue3.issue_id: self.issue3}, 'fake config')
219 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
220 self.assertEqual(cell.values[0].item, '3')
221
222 def testTableCellMergedIntoNotMerged(self):
223 cell = tablecell.TableCellMergedInto(
224 MakeTestIssue(4, 4, 'Four'),
225 None, self.USERS_BY_ID, [], {}, {}, 'fake config')
226 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
227 self.assertEqual(cell.values, [])
228
229
230 class TableCellCSVTest(unittest.TestCase):
231
232 USERS_BY_ID = {
233 23456: DisplayNameMock('Jason'),
234 34567: DisplayNameMock('Nathan'),
235 }
236
237 def testTableCellOpenedTimestamp(self):
238 test_issue = MakeTestIssue(4, 4, 'Four')
239 test_issue.opened_timestamp = 1200000000
240
241 cell = tablecell.TableCellOpenedTimestamp(
242 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
243 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
244 self.assertEqual(cell.values[0].item, 1200000000)
245
246 def testTableCellClosedTimestamp(self):
247 test_issue = MakeTestIssue(4, 4, 'Four')
248 test_issue.closed_timestamp = None
249
250 cell = tablecell.TableCellClosedTimestamp(
251 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
252 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
253 self.assertEqual(cell.values[0].item, 0)
254
255 test_issue.closed_timestamp = 1200000000
256 cell = tablecell.TableCellClosedTimestamp(
257 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
258 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
259 self.assertEqual(cell.values[0].item, 1200000000)
260
261 def testTableCellModifiedTimestamp(self):
262 test_issue = MakeTestIssue(4, 4, 'Four')
263 test_issue.modified_timestamp = 0
264
265 cell = tablecell.TableCellModifiedTimestamp(
266 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
267 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
268 self.assertEqual(cell.values[0].item, 0)
269
270 test_issue.modified_timestamp = 1200000000
271 cell = tablecell.TableCellModifiedTimestamp(
272 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
273 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_UNFILTERABLE)
274 self.assertEqual(cell.values[0].item, 1200000000)
275
276 def testTableCellAllLabels(self):
277 labels = ['A', 'B', 'C', 'D-E', 'F-G']
278 derived_labels = ['W', 'X', 'Y-Z']
279
280 test_issue = MakeTestIssue(4, 4, 'Four')
281 test_issue.labels = labels
282 test_issue.derived_labels = derived_labels
283
284 cell = tablecell.TableCellAllLabels(
285 test_issue, None, self.USERS_BY_ID, [], {}, {}, 'fake config')
286 self.assertEqual(cell.type, table_view_helpers.CELL_TYPE_ATTR)
287 self.assertEqual([v.item for v in cell.values], labels + derived_labels)
288
289 if __name__ == '__main__':
290 unittest.main()
OLDNEW
« no previous file with comments | « appengine/monorail/tracker/test/spam_test.py ('k') | appengine/monorail/tracker/test/tracker_bizobj_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698