def __call__(self, bug): for history in bug['history']: for change in history['changes']: if change['added'].startswith('approval-mozilla'): uplift_request_datetime = datetime.strptime( history['when'], '%Y-%m-%dT%H:%M:%SZ').replace(tzinfo=timezone.utc) timedelta = versions.getCloserRelease( uplift_request_datetime)[1] - uplift_request_datetime return timedelta.days + timedelta.seconds / (24 * 60 * 60) return None
def __call__(self, bug, **kwargs): for history in bug["history"]: for change in history["changes"]: if change["added"].startswith("approval-mozilla"): uplift_request_datetime = datetime.strptime( history["when"], "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) timedelta = ( versions.getCloserRelease(uplift_request_datetime)[1] - uplift_request_datetime) return timedelta.days + timedelta.seconds / (24 * 60 * 60) return None
def __call__(self, bug, **kwargs): for history in bug["history"]: for change in history["changes"]: if change["added"].startswith("approval-mozilla"): uplift_request_datetime = datetime.strptime( history["when"], "%Y-%m-%dT%H:%M:%SZ" ).replace(tzinfo=timezone.utc) timedelta = ( versions.getCloserRelease(uplift_request_datetime)[1] - uplift_request_datetime ) return timedelta.days + timedelta.seconds / (24 * 60 * 60) return None
def test_version_dates(self): self.assertEqual(versions.getMajorDate(46), datetime.datetime(2016, 4, 26, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('46'), datetime.datetime(2016, 4, 26, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('46.0'), datetime.datetime(2016, 4, 26, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('46.0.1'), datetime.datetime(2016, 4, 26, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('1'), datetime.datetime(2004, 11, 9, 8, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('1.0'), datetime.datetime(2004, 11, 9, 8, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('1.5'), datetime.datetime(2005, 11, 29, 8, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('14'), datetime.datetime(2012, 7, 17, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('14.0'), datetime.datetime(2012, 7, 17, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('14.0.1'), datetime.datetime(2012, 7, 17, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('33'), datetime.datetime(2014, 10, 14, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('33.0'), datetime.datetime(2014, 10, 14, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('33.1'), datetime.datetime(2014, 11, 10, 8, 0, tzinfo=tzutc())) self.assertEqual(versions.getMajorDate('46'), versions.getDate('46')) self.assertEqual(versions.getMajorDate('46.0'), versions.getDate('46.0')) self.assertNotEqual(versions.getMajorDate('48.0'), versions.getDate('48.0.1')) self.assertEqual(versions.getDate('48.0.1'), datetime.datetime(2016, 8, 18, 7, 0, tzinfo=tzutc())) self.assertEqual(versions.getDate('48.0.2'), datetime.datetime(2016, 8, 24, 7, 0, tzinfo=tzutc())) v = versions.get(base=True) if versions.getMajorDate(v['nightly']) is not None: self.assertTrue( versions.getMajorDate(v['release']) <= versions.getMajorDate( v['beta']) <= versions.getMajorDate(v['aurora']) <= versions.getMajorDate(v['nightly'])) else: self.assertTrue( versions.getMajorDate(v['release']) <= versions.getMajorDate( v['beta']) <= versions.getMajorDate(v['aurora'])) date = utils.get_date_ymd('2011-08-24T14:52:52Z') self.assertEqual(date - versions.getMajorDate('7'), datetime.timedelta(-34, 28372)) self.assertEqual( versions.getCloserMajorRelease(date), ('7.0', datetime.datetime(2011, 9, 27, 7, 0, tzinfo=tzutc()))) self.assertEqual( versions.getCloserMajorRelease(date, negative=True), ('6.0', datetime.datetime(2011, 8, 16, 7, 0, tzinfo=tzutc()))) self.assertEqual( versions.getCloserMajorRelease(date, negative=False), ('7.0', datetime.datetime(2011, 9, 27, 7, 0, tzinfo=tzutc()))) date = utils.get_date_ymd('2016-08-19') self.assertEqual( versions.getCloserRelease(date), ('48.0.2', datetime.datetime(2016, 8, 24, 7, 0, tzinfo=tzutc()))) self.assertEqual( versions.getCloserRelease(date, negative=True), ('48.0.1', datetime.datetime(2016, 8, 18, 7, 0, tzinfo=tzutc()))) self.assertEqual( versions.getCloserRelease(date, negative=False), ('48.0.2', datetime.datetime(2016, 8, 24, 7, 0, tzinfo=tzutc())))