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

« back to all changes in this revision

Viewing changes to tests/test_check_blockers.py

  • Committer: Aaron Bentley
  • Date: 2016-07-08 14:26:06 UTC
  • mfrom: (1465.1.14 client-from-config-5)
  • mto: This revision was merged to the branch mainline in revision 1509.
  • Revision ID: aaron.bentley@canonical.com-20160708142606-4x5rpd5c9jw9bn6n
Merged client-from-config-5 into client-from-config.

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, project_name='juju', tags=[]):
 
19
def make_fake_lp(series=False, bugs=False):
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
25
24
        task_2 = Mock(
26
25
            self_link='https://lp/j/54321', title='two', status='Triaged')
27
 
        task_2.bug.tags = tags
28
26
        bugs = [task_1, task_2]
29
27
    else:
30
28
        bugs = []
39
37
        project.searchTasks.return_value = bugs
40
38
        lp._target = project
41
39
    project.getSeries.return_value = series
42
 
    lp.projects[project_name] = project
 
40
    lp.projects['juju-core'] = project
43
41
    return lp
44
42
 
45
43
 
123
121
        self.assertEqual(0, code)
124
122
 
125
123
    def test_get_lp_bugs_with_master_branch(self):
126
 
        lp = make_fake_lp(series=False, bugs=True, tags=['blocker'])
 
124
        lp = make_fake_lp(series=False, bugs=True)
127
125
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
128
126
        self.assertEqual(['54321', '98765'], sorted(bugs.keys()))
129
 
        project = lp.projects['juju']
 
127
        project = lp.projects['juju-core']
130
128
        self.assertEqual(0, project.getSeries.call_count)
131
129
        project.searchTasks.assert_called_with(
132
130
            status=check_blockers.BUG_STATUSES,
134
132
            tags=check_blockers.BUG_TAGS, tags_combinator='All')
135
133
 
136
134
    def test_get_lp_bugs_with_supported_branch(self):
137
 
        lp = make_fake_lp(series=True, bugs=True,
138
 
                          project_name='juju-core', tags=['blocker'])
 
135
        lp = make_fake_lp(series=True, bugs=True)
139
136
        bugs = check_blockers.get_lp_bugs(lp, '1.20', ['blocker'])
140
137
        self.assertEqual(['54321', '98765'], sorted(bugs.keys()))
141
138
        project = lp.projects['juju-core']
150
147
        lp = make_fake_lp(series=False, bugs=False)
151
148
        bugs = check_blockers.get_lp_bugs(lp, 'foo', ['blocker'])
152
149
        self.assertEqual({}, bugs)
153
 
        project = lp.projects['juju']
 
150
        project = lp.projects['juju-core']
154
151
        project.getSeries.assert_called_with(name='foo')
155
152
        self.assertEqual(0, project.searchTasks.call_count)
156
153
 
158
155
        lp = make_fake_lp(series=False, bugs=False)
159
156
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
160
157
        self.assertEqual({}, bugs)
161
 
        project = lp.projects['juju']
 
158
        project = lp.projects['juju-core']
162
159
        project.searchTasks.assert_called_with(
163
160
            status=check_blockers.BUG_STATUSES,
164
161
            importance=check_blockers.BUG_IMPORTANCES,
254
251
            self.assertEqual(json, {"result": []})
255
252
 
256
253
    def test_update_bugs(self):
257
 
        lp = make_fake_lp(series=False, bugs=True, tags=['blocker'])
 
254
        lp = make_fake_lp(series=False, bugs=True)
258
255
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])
259
256
        code, changes = check_blockers.update_bugs(
260
257
            bugs, 'master', '1234', dry_run=False)
269
266
        bugs['54321'].bug.newMessage.assert_called_with(
270
267
            subject=expected_subject, content=expected_content)
271
268
 
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
 
 
284
269
    def test_update_bugs_with_dry_run(self):
285
270
        lp = make_fake_lp(series=False, bugs=True)
286
271
        bugs = check_blockers.get_lp_bugs(lp, 'master', ['blocker'])