| |
@@ -785,6 +785,40 @@
|
| |
'from_advisory_id')
|
| |
@patch('freshmaker.parsers.internal.manual_rebuild.time.time')
|
| |
@patch('freshmaker.models.Event.add_event_dependency')
|
| |
+ def test_dependent_manual_rebuild_on_existing_event_with_builds(self, add_dependency, time,
|
| |
+ from_advisory_id, publish):
|
| |
+ event = models.Event.create(db.session,
|
| |
+ "2017-00000000-0000-0000-0000-000000000003",
|
| |
+ "105", events.TestingEvent)
|
| |
+ build = models.ArtifactBuild.create(db.session, name='test-build', state=1, event=event, type=1)
|
| |
+ event.builds.append(build)
|
| |
+ db.session.commit()
|
| |
+ time.return_value = 123
|
| |
+ from_advisory_id.return_value = ErrataAdvisory(
|
| |
+ 105, 'name', 'RHEL_PREP', ['rpm'])
|
| |
+
|
| |
+ payload = {
|
| |
+ 'errata_id': 105,
|
| |
+ 'container_images': ['foo-1-2'],
|
| |
+ 'freshmaker_event_id': 1,
|
| |
+ }
|
| |
+ with self.test_request_context(user='root'):
|
| |
+ resp = self.client.post('/api/1/builds/', json=payload, content_type='application/json')
|
| |
+ data = resp.json
|
| |
+ # Other fields are predictible.
|
| |
+ self.assertEqual(data['requested_rebuilds'], ["foo-1-2"])
|
| |
+ assert add_dependency.call_count == 1
|
| |
+ assert "105" == add_dependency.call_args[0][1].search_key
|
| |
+ publish.assert_called_once_with(
|
| |
+ 'manual.rebuild',
|
| |
+ {'msg_id': 'manual_rebuild_123', u'errata_id': 105,
|
| |
+ 'container_images': ["foo-1-2"], 'freshmaker_event_id': 1})
|
| |
+
|
| |
+ @patch('freshmaker.messaging.publish')
|
| |
+ @patch('freshmaker.parsers.internal.manual_rebuild.ErrataAdvisory.'
|
| |
+ 'from_advisory_id')
|
| |
+ @patch('freshmaker.parsers.internal.manual_rebuild.time.time')
|
| |
+ @patch('freshmaker.models.Event.add_event_dependency')
|
| |
def test_dependent_manual_rebuild_on_existing_event_no_errata_id(
|
| |
self, add_dependency, time, from_advisory_id, publish,
|
| |
):
|
| |
we can remove these comments