in aws/hhvm1/lambdas/test.py [0:0]
def test_should_run(self):
past = (date.today() - timedelta(days=2)).strftime('%Y.%m.%d')
future = (date.today() + timedelta(days=2)).strftime('%Y.%m.%d')
self.assertEqual(
activities.MakeSourceTarball({'version': '4.20.12345'}).should_run(),
True
)
self.assertEqual(
activities.MakeSourceTarball({'version': past}).should_run(),
False
)
self.assertEqual(
activities.MakeSourceTarball({'version': future}).should_run(),
True
)
self.assertEqual(
activities.MakeBinaryPackage(
{'version': '4.27.0', 'platform': 'ubuntu-18.04-bionic'}
).should_run(),
False
)
self.assertEqual(
activities.MakeBinaryPackage(
{'version': future, 'platform': 'ubuntu-18.04-bionic'}
).should_run(),
True
)
self.assertEqual(
activities.PublishBinaryPackages({'version': '4.27.0'}).should_run(),
False
)
self.assertEqual(
activities.PublishSourceTarball({'version': '4.27.0'}).should_run(),
False
)
# we don't publish if nothing is "built_not_published"
with patch('common.build_statuses', return_value={
'ubuntu-18.04-bionic': 'not_built',
'source_gpg': 'not_built',
}):
self.assertEqual(
activities.PublishBinaryPackages({'version': '4.27.0'}).should_run(),
False
)
self.assertEqual(
activities.PublishSourceTarball({'version': '4.27.0'}).should_run(),
False
)
# we publish even if not everything is built
with patch('common.build_statuses', return_value={
'debian-8-jessie': 'not_built',
'ubuntu-18.04-bionic': 'built_not_published',
'source': 'not_built',
'source_gpg': 'built_not_published',
}):
self.assertEqual(
activities.PublishBinaryPackages({'version': '4.27.0'}).should_run(),
True
)
self.assertEqual(
activities.PublishSourceTarball({'version': '4.27.0'}).should_run(),
True
)
with patch('common.build_statuses', return_value={
'ubuntu-18.04-bionic': 'built_not_published',
'debian-42-zaphod': 'succeeded',
'source': 'succeeded',
'source_gpg': 'succeeded',
}):
self.assertEqual(
activities.PublishBinaryPackages({'version': '4.27.0'}).should_run(),
True
)
self.assertEqual(
activities.PublishSourceTarball({'version': '4.27.0'}).should_run(),
False
)
with patch('common.build_statuses', return_value={
'ubuntu-18.04-bionic': 'succeeded',
'source': 'built_not_published',
'debian-42-zaphod': 'succeeded',
'source_gpg': 'built_not_published',
}):
self.assertEqual(
activities.PublishBinaryPackages({'version': '4.27.0'}).should_run(),
False
)
self.assertEqual(
activities.PublishSourceTarball({'version': '4.27.0'}).should_run(),
True
)
# we shouldn't do a useless build_statuses() API call for nightlies
with patch('common.build_statuses') as mock_function:
self.assertEqual(
activities.PublishSourceTarball({'version': future}).should_run(),
False
)
self.assertEqual(mock_function.called, False)
self.assertEqual(
activities.PublishDockerImages({'version': '4.27.0'}).should_run(),
False
)
self.assertEqual(
activities.PublishDockerImages({'version': past}).should_run(),
False
)
self.assertEqual(
activities.PublishDockerImages({'version': future}).should_run(),
True
)