~andrewjbeach/juju-ci-tools/make-local-patcher

« back to all changes in this revision

Viewing changes to tests/test_check_blockers.py

  • Committer: Curtis Hovey
  • Date: 2016-09-21 17:54:26 UTC
  • mto: This revision was merged to the branch mainline in revision 1612.
  • Revision ID: curtis@canonical.com-20160921175426-hmk3wlxrl1vpfuwr
Poll for the token, whcih might be None.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
    ]}
17
17
 
18
18
 
19
 
def make_fake_lp(series=False, bugs=False):
 
19
def make_fake_lp(series=False, bugs=False, project_name='juju', tags=[]):
20
20
    """Return a fake Lp lib object based on Mocks"""
21
21
    if bugs:
22
22
        task_1 = Mock(
23
23
            self_link='https://lp/j/98765', title='one', status='Triaged')
 
24
        task_1.bug.tags = tags
24
25
        task_2 = Mock(
25
26
            self_link='https://lp/j/54321', title='two', status='Triaged')
 
27
        task_2.bug.tags = tags
26
28
        bugs = [task_1, task_2]
27
29
    else:
28
30
        bugs = []
37
39
        project.searchTasks.return_value = bugs
38
40
        lp._target = project
39
41
    project.getSeries.return_value = series
40
 
    lp.projects['juju-core'] = project
 
42
    lp.projects[project_name] = project
41
43
    return lp
42
44
 
43
45
 
121
123
        self.assertEqual(0, code)
122
124
 
123
125
    def test_get_lp_bugs_with_master_branch(self):
124
 
        lp = make_fake_lp(series=False, bugs=True)
 
126
        lp = make_fake_lp(series=False, bugs=True, tags=['blocker'])
125
127
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
126
128
        self.assertEqual(['54321', '98765'], sorted(bugs.keys()))
127
 
        project = lp.projects['juju-core']
 
129
        project = lp.projects['juju']
128
130
        self.assertEqual(0, project.getSeries.call_count)
129
131
        project.searchTasks.assert_called_with(
130
132
            status=check_blockers.BUG_STATUSES,
132
134
            tags=check_blockers.BUG_TAGS, tags_combinator='All')
133
135
 
134
136
    def test_get_lp_bugs_with_supported_branch(self):
135
 
        lp = make_fake_lp(series=True, bugs=True)
 
137
        lp = make_fake_lp(series=True, bugs=True,
 
138
                          project_name='juju-core', tags=['blocker'])
136
139
        bugs = check_blockers.get_lp_bugs(lp, '1.20', ['blocker'])
137
140
        self.assertEqual(['54321', '98765'], sorted(bugs.keys()))
138
141
        project = lp.projects['juju-core']
147
150
        lp = make_fake_lp(series=False, bugs=False)
148
151
        bugs = check_blockers.get_lp_bugs(lp, 'foo', ['blocker'])
149
152
        self.assertEqual({}, bugs)
150
 
        project = lp.projects['juju-core']
 
153
        project = lp.projects['juju']
151
154
        project.getSeries.assert_called_with(name='foo')
152
155
        self.assertEqual(0, project.searchTasks.call_count)
153
156
 
155
158
        lp = make_fake_lp(series=False, bugs=False)
156
159
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
157
160
        self.assertEqual({}, bugs)
158
 
        project = lp.projects['juju-core']
 
161
        project = lp.projects['juju']
159
162
        project.searchTasks.assert_called_with(
160
163
            status=check_blockers.BUG_STATUSES,
161
164
            importance=check_blockers.BUG_IMPORTANCES,
251
254
            self.assertEqual(json, {"result": []})
252
255
 
253
256
    def test_update_bugs(self):
254
 
        lp = make_fake_lp(series=False, bugs=True)
 
257
        lp = make_fake_lp(series=False, bugs=True, tags=['blocker'])
255
258
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
256
259
        code, changes = check_blockers.update_bugs(
257
260
            bugs, 'master', '1234', dry_run=False)
266
269
        bugs['54321'].bug.newMessage.assert_called_with(
267
270
            subject=expected_subject, content=expected_content)
268
271
 
 
272
    def test_update_bugs_skipped(self):
 
273
        lp = make_fake_lp(
 
274
            series=False, bugs=True, tags=['blocker', 'intermittent-failure'])
 
275
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
 
276
        code, changes = check_blockers.update_bugs(
 
277
            bugs, 'master', '1234', dry_run=False)
 
278
        self.assertEqual(0, code)
 
279
        self.assertIn('Skipping intermittent-failure', changes)
 
280
        self.assertEqual('Triaged', bugs['54321'].status)
 
281
        self.assertEqual(0, bugs['54321'].lp_save.call_count)
 
282
        self.assertEqual(0, bugs['54321'].bug.newMessage.call_count)
 
283
 
269
284
    def test_update_bugs_with_dry_run(self):
270
285
        lp = make_fake_lp(series=False, bugs=True)
271
286
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])