def testDelete(self): data = 'deleteReleases=Fennec-4-build4' ret = self.post('/releases.html', data=data, content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 200) with app.test_request_context(): count = FennecRelease.query.filter_by(name='Fennec-4-build4').count() self.assertEquals(count, 0)
def testPrimaryBuildsDegenerateDevedAndBeta(self): # add a beta 3.0b5 to match deved with app.test_request_context(): r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b5', buildNumber=1, branch='a', mozillaRevision='defau', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 2, 3, 4, 5, 6, 7), shippedAt=datetime(2005, 2, 3, 4, 5, 6, 7), comment="yet an other amazing comment", isSecurityDriven=True, description="Another beta release for Firefox 3") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) db.session.commit() ret = self.get(BASE_JSON_PATH + '/firefox_primary_builds.json') self.assertEquals(ret.status_code, 200) primary = json.loads(ret.data) self.assertFalse(any(['3.0b3' in primary[l] for l in primary])) # older beta not present self.assertTrue('3.0b5' in primary['en-US'])
def testGetReleasesWithFilter(self): with app.test_request_context(): release = FirefoxRelease('48.0b7build1', 42, submitter='moz://a', version='50.0b6', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82', shippedAt=datetime.datetime(2005, 1, 2, 3, 4, 5, 6)) release.ready = True release.complete = True db.session.add(release) db.session.commit() params = { 'iDisplayStart': 0, 'iDisplayLength': 10, 'datatableVersion': '1.0.0', 'complete': 'true', 'ready': 'true', 'iSortCol_0': 1, 'bSearchable_1': 'true', 'mDataProp_1': 'name', 'sSortDir_0': 'desc', 'iColumns': 17, 'sSearch': 'iref' } ret = self.get(self.uri, query_string=params) self.assertEquals(ret.status_code, 200, ret.data)
def testUpdateStatus(self): ret = self.post('/releases/Fennec-1.0-build1', data={'status': 'omg!'}) self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by( name='Fennec-1.0-build1').first().status self.assertEquals(got, 'omg!')
def testGetReleasesWithFilter(self): with app.test_request_context(): release = FirefoxRelease('48.0b7build1', 42, submitter='moz://a', version='50.0b6', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82', shippedAt=datetime.datetime( 2005, 1, 2, 3, 4, 5, 6)) release.ready = True release.complete = True db.session.add(release) db.session.commit() params = { 'iDisplayStart': 0, 'iDisplayLength': 10, 'datatableVersion': '1.0.0', 'complete': 'true', 'ready': 'true', 'iSortCol_0': 1, 'bSearchable_1': 'true', 'mDataProp_1': 'name', 'sSortDir_0': 'desc', 'iColumns': 17, 'sSearch': 'iref' } ret = self.get(self.uri, query_string=params) self.assertEquals(ret.status_code, 200, ret.data)
def testMarkAsComplete(self): ret = self.post('/releases/Fennec-1.0-build1', data={'complete': True}) self.assertEquals(ret.status_code, 200, ret.data) with app.test_request_context(): got = FennecRelease.query.filter_by( name='Fennec-1.0-build1').first().complete self.assertEquals(got, True)
def testThunderbirdUpdateWithNoCommRevision(self): with app.test_request_context(): release = ThunderbirdRelease('def', '', '1.0build1', 42, submitter='moz://a', version='0', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82') db.session.add(release) db.session.commit() data = '&'.join([ 'thunderbird-version=0', 'thunderbird-branch=a', 'thunderbird-buildNumber=2', 'thunderbird-mozillaRevision=abc', 'thunderbird-commRevision=', 'thunderbird-partials=1.0build1', 'thunderbird-l10nChangesets=xxxx', 'thunderbird-product=thunderbird', 'thunderbird-mozillaRelbranch=', 'thunderbird-commRelbranch=', 'thunderbird-description=foo' ]) ret = self.post('/release.html', query_string={'name': 'Thunderbird-0-build1'}, data=data, content_type='application/x-www-form-urlencoded') self.assertEqual(ret.status_code, 400)
def testUpdateStatusTruncate(self): longStatus = ''.join(random.choice(string.letters) for i in xrange(270)) ret = self.post('/releases/Fennec-1-build1', data={'status': longStatus}) self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1-build1').first().status self.assertEquals(got, longStatus[:250])
def testSubmit(self): data = [ 'firefox-version=9.0', 'firefox-buildNumber=1', 'firefox-branch=z', 'firefox-mozillaRevision=abc', 'firefox-partials=1.0build1', 'firefox-l10nChangesets=af%20def', 'firefox-product=firefox', 'firefox-promptWaitTime=', 'firefox-mozillaRelbranch=', 'firefox-mh_changeset=', ] ret = self.post('/submit_release.html', data='&'.join(data), content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 302, ret.data) with app.test_request_context(): got = FirefoxRelease.query.filter_by(name='Firefox-9.0-build1').first() self.assertEquals(got.version, '9.0') self.assertEquals(got.buildNumber, 1) self.assertEquals(got.branch, 'z') self.assertEquals(got.mozillaRevision, 'abc') self.assertEquals(got.partials, '1.0build1') self.assertEquals(got.l10nChangesets, 'af def') self.assertEquals(got.ready, False) self.assertEquals(got.complete, False) self.assertEquals(got.promptWaitTime, None) self.assertEquals(got.status, '') self.assertEquals(got.mozillaRelbranch, None) self.assertEquals(got.mh_changeset, '')
def testSubmit(self): data = [ 'firefox-version=9.0', 'firefox-buildNumber=1', 'firefox-branch=z', 'firefox-mozillaRevision=abc', 'firefox-partials=1.0build1', 'firefox-l10nChangesets=af%20def', 'firefox-product=firefox', 'firefox-promptWaitTime=', 'firefox-mozillaRelbranch=', 'firefox-mh_changeset=', ] ret = self.post('/submit_release.html', data='&'.join(data), content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 302, ret.data) with app.test_request_context(): got = FirefoxRelease.query.filter_by( name='Firefox-9.0-build1').first() self.assertEquals(got.version, '9.0') self.assertEquals(got.buildNumber, 1) self.assertEquals(got.branch, 'z') self.assertEquals(got.mozillaRevision, 'abc') self.assertEquals(got.partials, '1.0build1') self.assertEquals(got.l10nChangesets, 'af def') self.assertEquals(got.ready, False) self.assertEquals(got.complete, False) self.assertEquals(got.promptWaitTime, None) self.assertEquals(got.status, '') self.assertEquals(got.mozillaRelbranch, None) self.assertEquals(got.mh_changeset, '')
def testThunderbirdUpdateWithNoCommRevision(self): with app.test_request_context(): release = ThunderbirdRelease('def', '', '1.0build1', 42, submitter='moz://a', version='0', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82') db.session.add(release) db.session.commit() data = '&'.join(['thunderbird-version=0', 'thunderbird-branch=a', 'thunderbird-buildNumber=2', 'thunderbird-mozillaRevision=abc', 'thunderbird-commRevision=', 'thunderbird-partials=1.0build1', 'thunderbird-l10nChangesets=xxxx', 'thunderbird-product=thunderbird', 'thunderbird-mozillaRelbranch=', 'thunderbird-commRelbranch=', 'thunderbird-description=foo']) ret = self.post('/release.html', query_string={'name': 'Thunderbird-0-build1'}, data=data, content_type='application/x-www-form-urlencoded') self.assertEqual(ret.status_code, 400)
def testUpdateStatusTruncate(self): longStatus = ''.join(random.choice(string.letters) for i in xrange(270)) ret = self.post('/releases/Fennec-1.0-build1', data={'status': longStatus}) self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1.0-build1').first().status self.assertEquals(got, longStatus[:250])
def testDelete(self): data = 'deleteReleases=Fennec-4.0-build4' ret = self.post('/releases.html', data=data, content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 200) with app.test_request_context(): count = FennecRelease.query.filter_by(name='Fennec-4.0-build4').count() self.assertEquals(count, 0)
def setUp(self): self.db_fd, self.db_file = mkstemp() self.cef_fd, self.cef_file = mkstemp() app.config['DEBUG'] = True app.config['CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///%s' % self.db_file app.config.update(cef_config(self.cef_file)) with app.test_request_context(): db.init_app(app) db.create_all() r = FennecRelease(submitter='joe', version='1', buildNumber=1, branch='a', mozillaRevision='abc', l10nChangesets='af de', dashboardCheck=True, mozillaRelbranch=None) r.ready = True db.session.add(r) r = FennecRelease(submitter='joe', version='4', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, mozillaRelbranch=None) db.session.add(r) r = FennecRelease(submitter='joe', version='4', buildNumber=5, branch='a', mozillaRevision='abc', l10nChangesets='lk mn', dashboardCheck=False, mozillaRelbranch='BAR', submittedAt=datetime(2005, 1, 2, 2, 3, 3, 5)) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='ghi', commRelbranch=None, partials='0', promptWaitTime=None, submitter='bob', version='2', buildNumber=2, branch='b', mozillaRevision='ghi', l10nChangesets='li', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), comment='My great comment!', enUSPlatforms="foo bar") r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='4.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1)) db.session.add(r) db.session.commit()
def testResetReady(self): data = {'status': 'error!', 'ready': False} ret = self.post('/releases/Fennec-1.0-build1', data=data) self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1.0-build1').first() self.assertEquals(got.ready, False) self.assertEquals(got.status, 'error!')
def testGetRecent(self): with app.test_request_context(): got = [ r.name for r in FennecRelease.getRecent(age=timedelta(days=1)) ] # These two fennec build don't have any date. # Ship-it will consider today's date self.assertEquals(['Fennec-1-build1', 'Fennec-4-build4'], got)
def testResetReady(self): data = {'status': 'error!', 'ready': False} ret = self.post('/releases/Fennec-1-build1', data=data) self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1-build1').first() self.assertEquals(got.ready, False) self.assertEquals(got.status, 'error!')
def testMakeReady(self): data = 'readyReleases=Fennec-4.0-build4&readyReleases=Fennec-4.0-build5' ret = self.post('/releases.html', data=data, content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-4.0-build4').first().ready self.assertEquals(got, True) got = FennecRelease.query.filter_by(name='Fennec-4.0-build5').first().ready self.assertEquals(got, True)
def testChangeDescription(self): description = 'New description' data = {'description': description, 'isSecurityDriven': False} ret = self.post('/releases/Fennec-1.0-build1', data=data) self.assertEquals(ret.status_code, 200) with app.test_request_context(): fennec = FennecRelease.query.filter_by(name='Fennec-1.0-build1').first() self.assertEquals(description, fennec.description)
def setUp(self): self.cef_fd, self.cef_file = mkstemp() app.config['DEBUG'] = True app.config['CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:' app.config.update(cef_config(self.cef_file)) with app.test_request_context(): db.init_app(app) db.create_all() for i, version in enumerate( ('48.0b7', '48.0b8', '48.0b9', '48.0', '48.0.1', '49.0b1', '49.0b2', '49.0b3')): branch = 'releases/mozilla-beta' if 'b' not in version: branch = 'releases/mozilla-release' r = FirefoxRelease( partials='0,1', promptWaitTime=5, submitter='joe', version=version, buildNumber=1, branch=branch, mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2015, 1, i + 1, 3, 4, 5, 6), shippedAt=datetime(2015, 1, i + 1, 7, 8, 9, 0), comment="yet an other amazing comment", description="we did this release because of foo") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = ThunderbirdRelease( commRevision='zzz', commRelbranch=None, partials='0,1', promptWaitTime=5, submitter='joe', version=version, buildNumber=1, branch=branch, mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2015, 1, i + 1, 3, 4, 5, 6), shippedAt=datetime(2015, 1, i + 1, 7, 8, 9, 0), comment="yet an other amazing comment", description="we did this release because of foo") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) db.session.commit()
def testMakeReady(self): data = 'readyReleases=Fennec-4-build4&readyReleases=Fennec-4-build5' ret = self.post('/releases.html', data=data, content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-4-build4').first().ready self.assertEquals(got, True) got = FennecRelease.query.filter_by(name='Fennec-4-build5').first().ready self.assertEquals(got, True)
def testGetRecentShipped(self): with app.test_request_context(): with mock.patch('kickoff.model.datetime') as mock_datetime: mock_datetime.now.return_value = datetime(2015, 3, 1) got = [ r.name for r in FennecRelease.getRecentShipped( age=timedelta(days=2)) ] self.assertEquals( ['Fennec-23.0b2-build4', 'Fennec-24.0-build4'], got)
def testEditReleaseNotShipped(self): release = {'isSecurityDriven': True, 'description': 'Edited Release!'} ret = self.post('/release/Firefox-2.0-build1/edit_release.html', data=release) with app.test_request_context(): dbRelease = FirefoxRelease.query.filter_by( name='Firefox-2.0-build1').first() self.assertEquals(dbRelease.description, 'Edited Release!') self.assertTrue(dbRelease.isSecurityDriven)
def testThunberbird(self): with app.test_request_context(): with mock.patch('kickoff.model.datetime') as mock_datetime: mock_datetime.now.return_value = datetime(2015, 2, 1) release = ThunderbirdReleaseForm() expected = json.dumps({ "releases/mozilla-beta": [ "49.0b3build1", "49.0b2build1", "49.0b1build1", "48.0b9build1", "48.0b8build1", "48.0b7build1" ], "releases/mozilla-release": ["48.0.1build1", "48.0build1"] }) self.assertEqual(expected, release.partials.suggestions)
def testGetEditableFennecRelease(self): with app.test_request_context(): release = FennecRelease(submitter='moz://a', version='0', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82') db.session.add(release) db.session.commit() ret = self.get('/release.html', query_string={'name': 'Fennec-0-build1'}) self.assertEqual(ret.status_code, 200)
def testEditReleaseNotShipped(self): release = { 'isSecurityDriven': True, 'description': 'Edited Release!' } ret = self.post('/release/Firefox-2.0-build1/edit_release.html', data=release) with app.test_request_context(): dbRelease = FirefoxRelease.query.filter_by( name='Firefox-2.0-build1').first() self.assertEquals(dbRelease.description, 'Edited Release!') self.assertTrue(dbRelease.isSecurityDriven)
def testSubmitTooManyPartials(self): with app.test_request_context(): data = [ 'firefox-version=9.0', 'firefox-buildNumber=1', 'firefox-branch=z', 'firefox-mozillaRevision=abc', 'firefox-partials=1.0build1,2.0build1,3.0build1,4.0build1,5.0build1,6.0build1,7.0build1', 'firefox-l10nChangesets=af%20def', 'firefox-product=firefox', 'firefox-promptWaitTime=', 'firefox-mozillaRelbranch=', 'firefox-mh_changeset=' ] ret = self.post('/submit_release.html', data='&'.join(data), content_type='application/x-www-form-urlencoded') self.assertEqual(ret.status_code, 400)
def testSubmitTooManyPartials(self): with app.test_request_context(): data = [ 'firefox-version=9.0', 'firefox-buildNumber=1', 'firefox-branch=z', 'firefox-mozillaRevision=abc', 'firefox-partials=1.0build1,2.0build1,3.0build1,4.0build1,5.0build1,6.0build1,7.0build1', 'firefox-l10nChangesets=af%20def', 'firefox-product=firefox', 'firefox-promptWaitTime=', 'firefox-mozillaRelbranch=', 'firefox-mh_changeset='] ret = self.post('/submit_release.html', data='&'.join(data), content_type='application/x-www-form-urlencoded') self.assertEqual(ret.status_code, 400)
def testGetEditableThunderbirdRelease(self): with app.test_request_context(): release = ThunderbirdRelease('def', '48.0b7build1', '', 1, submitter='moz://a', version='0', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82') db.session.add(release) db.session.commit() token = self.get('/csrf_token') ret = self.get('/release.html', query_string={'name': 'Thunderbird-0-build1'}, headers=token.headers) self.assertEqual(ret.status_code, 200, token.headers)
def testEditRelease(self): data = '&'.join([ 'fennec-version=1.0', 'fennec-buildNumber=4', 'fennec-branch=a', 'fennec-mozillaRevision=abc', 'fennec-l10nChangesets={"af":"de"}', 'fennec-product=fennec', 'fennec-mozillaRelbranch=', ]) ret = self.post('/release.html', query_string={'name': 'Fennec-4.0-build4'}, data=data, content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 302, ret.data) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1.0-build4').first() self.assertEquals(got.version, '1.0') self.assertEquals(got.l10nChangesets, '{"af":"de"}') count = FennecRelease.query.filter_by(name='Fennec-4.0-build4').count() self.assertEquals(count, 0)
def testGetEditableFirefoxReleaseWithReleaseEta(self): with app.test_request_context(): release = FirefoxRelease('48.0b7build1', 42, submitter='moz://a', version='50.0b6', buildNumber=2, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82', release_eta=datetime.datetime(2005, 1, 2, 3, 4)) db.session.add(release) db.session.commit() ret = self.get('/release.html', query_string={'name': 'Firefox-50.0b6-build2'}) self.assertEqual(ret.status_code, 200) self.assertTrue('2005-01-02' in ret.data) self.assertTrue('03:04' in ret.data)
def testCantMarkReleaseAsIncomplete(self): with app.test_request_context(): release = FirefoxRelease('48.0b7build1', 42, submitter='moz://a', version='50.0b6', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82') release.complete = True db.session.add(release) db.session.commit() data = {'complete': False, 'ready': False} ret = self.post('/releases/Firefox-50.0b6-build1', data=data) self.assertEquals(ret.status_code, 400)
def testEditReleaseAddRelbranch(self): data = '&'.join([ 'thunderbird-version=4.0', 'thunderbird-buildNumber=1', 'thunderbird-branch=b', 'thunderbird-mozillaRevision=yyy', 'thunderbird-l10nChangesets=yy zz', 'thunderbird-mozillaRelbranch=', 'thunderbird-commRelbranch=BAR', 'thunderbird-partials=1.0build1', 'thunderbird-promptWaitTime=', 'thunderbird-product=thunderbird', ]) ret = self.post('/release.html', query_string={'name': 'Thunderbird-4.0-build1'}, data=data, content_type='application/x-www-form-urlencoded') self.assertEquals(ret.status_code, 302, ret.data) with app.test_request_context(): got = ThunderbirdRelease.query.filter_by(name='Thunderbird-4.0-build1').first() self.assertEquals(got.commRelbranch, 'BAR') self.assertEquals(got.commRevision, 'BAR')
def testChangeStatusSimilarShipped(self): with app.test_request_context(): release = FirefoxRelease('48.0b7build1', 42, submitter='moz://a', version='50.0b6', buildNumber=1, mozillaRelbranch='', branch='releases/mozilla-beta', mozillaRevision='abcdef123456', l10nChangesets='ach 72c548f97e82', shippedAt=datetime.datetime(2005, 1, 2, 3, 4, 5, 6)) release.ready = True release.complete = True db.session.add(release) db.session.commit() data = {'status': 'shipped'} ret = self.post('/releases/Firefox-50.0b6-build1', data=data) self.assertEquals(ret.status_code, 400)
def testEditRelease(self): release = { 'shippedAtDate': '2013/03/03', 'shippedAtTime': '14:44:00', 'isSecurityDriven': True, 'description': 'Edited Release!', 'isShipped': 'y' } ret = self.post('/release/Firefox-2.0-build1/edit_release.html', data=release) with app.test_request_context(): dbRelease = FirefoxRelease.query.filter_by( name='Firefox-2.0-build1').first() self.assertEquals(dbRelease.description, 'Edited Release!') self.assertTrue(dbRelease.isSecurityDriven) tm = datetime.strptime('14:44:00', '%H:%M:%S').time() dt = datetime(2013, 03, 03) dateAndTime = datetime.combine(dt, tm) self.assertEquals(dbRelease._shippedAt, dateAndTime)
def testGetRecent(self): with app.test_request_context(): got = [r.name for r in FennecRelease.getRecent(age=timedelta(days=1))] self.assertEquals(['Fennec-1-build1', 'Fennec-4-build4'], got)
def testGetRecentShipped(self): with app.test_request_context(): with mock.patch('kickoff.model.datetime') as mock_datetime: mock_datetime.now.return_value = datetime(2015, 3, 1) got = [r.name for r in FennecRelease.getRecentShipped(age=timedelta(days=2))] self.assertEquals(['Fennec-23.0b2-build4', 'Fennec-24.0-build4'], got)
def setUp(self): self.cef_fd, self.cef_file = mkstemp() app.config['DEBUG'] = True app.config['CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:' app.config.update(cef_config(self.cef_file)) with app.test_request_context(): db.init_app(app) db.create_all() r = FennecRelease(submitter='joe', version='1', buildNumber=1, branch='a', mozillaRevision='abc', l10nChangesets='af de', dashboardCheck=True, mozillaRelbranch=None) r.ready = True db.session.add(r) r = FennecRelease(submitter='joe', version='4', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, mozillaRelbranch=None) db.session.add(r) r = FennecRelease(submitter='joe', version='4', buildNumber=5, branch='a', mozillaRevision='abc', l10nChangesets='lk mn', dashboardCheck=False, mozillaRelbranch='BAR', submittedAt=datetime(2005, 1, 2, 2, 3, 3, 5)) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2.0', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2.0.2esr', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='38.1.0esr', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2015, 1, 4, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FennecRelease(submitter='joe', version='24.0', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 3, 1, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FennecRelease(submitter='joe', version='24.0.1', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 2, 26, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FennecRelease(submitter='joe', version='23.0b2', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 2, 27, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b2', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazying comment", isSecurityDriven=True, description="We did this because of an issue in NSS", enUSPlatforms=None) r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b2', buildNumber=2, branch='a', mozillaRevision='defa', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 3, 2, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0.1', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None, description="we did this release because of foo") r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) # Thunderbird data r = ThunderbirdRelease(commRevision='ghi', commRelbranch=None, partials='0', promptWaitTime=None, submitter='bob', version='2', buildNumber=2, branch='b', mozillaRevision='ghi', l10nChangesets='li', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), comment='My great comment!', enUSPlatforms="foo bar", isSecurityDriven=True, description="we did this release because of bar") r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='4.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), description="foo reason") db.session.add(r) db.session.commit() r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='23.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), description="bar reason") r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) db.session.commit() r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='23.0.1', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2014, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2014, 2, 3, 1, 1, 1, 1), description="bar2 reason") r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) db.session.commit() r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='24.0b2', buildNumber=2, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 2, 1, 1, 1, 1, 1), description="bar2 reason") r.complete = True r.ready = True # Shipped r.status = "postrelease" db.session.add(r) db.session.commit()
def setUp(self): self.cef_fd, self.cef_file = mkstemp() app.config['DEBUG'] = True app.config['CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:' app.config.update(cef_config(self.cef_file)) with app.test_request_context(): db.init_app(app) db.create_all() r = FennecRelease(submitter='joe', version='1', buildNumber=1, branch='a', mozillaRevision='abc', l10nChangesets='af de', dashboardCheck=True, mozillaRelbranch=None) r.ready = True db.session.add(r) r = FennecRelease(submitter='joe', version='4', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='gh ij', dashboardCheck=True, mozillaRelbranch=None) db.session.add(r) r = FennecRelease(submitter='joe', version='4', buildNumber=5, branch='a', mozillaRevision='abc', l10nChangesets='lk mn', dashboardCheck=False, mozillaRelbranch='BAR', submittedAt=datetime(2005, 1, 2, 2, 3, 3, 5)) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', dashboardCheck=True, mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazying comment", enUSPlatforms=None) r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='ghi', commRelbranch=None, partials='0', promptWaitTime=None, submitter='bob', version='2', buildNumber=2, branch='b', mozillaRevision='ghi', l10nChangesets='li', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime( 2005, 1, 1, 1, 1, 1, 1), comment='My great comment!', enUSPlatforms="foo bar") r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='4.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', dashboardCheck=True, mozillaRelbranch=None, submittedAt=datetime( 2005, 1, 1, 1, 1, 1, 1)) db.session.add(r) db.session.commit()
def testGetRecent(self): with app.test_request_context(): got = [r.name for r in FennecRelease.getRecent(age=timedelta(days=1))] # These two fennec build don't have any date. # Ship-it will consider today's date self.assertEquals(['Fennec-1-build1', 'Fennec-4-build4'], got)
parser = OptionParser() parser.add_option("-d", "--db", dest="db") parser.add_option("--host", dest="host") parser.add_option("--port", dest="port", type="int") parser.add_option("-l", "--logfile", dest="logfile") parser.add_option("-u", "--username", dest="username") parser.add_option("-p", "--password", dest="password") parser.add_option("-v", "--verbose", dest="verbose", action="store_true") parser.add_option("--cef-log", dest="cef_log", default="cef.log") options, args = parser.parse_args() log_level = logging.INFO if options.verbose: log_level = logging.DEBUG logging.basicConfig(filename=options.logfile, level=log_level) app.config['SQLALCHEMY_DATABASE_URI'] = options.db app.config['DEBUG'] = True app.config['SECRET_KEY'] = 'NOT A SECRET' app.config.update(cef_config(options.cef_log)) with app.test_request_context(): db.init_app(app) db.create_all() def auth(environ, username, password): return options.username == username and options.password == password app.wsgi_app = AuthBasicHandler(app.wsgi_app, "Release kick-off", auth) app.run(port=options.port, host=options.host)
def testMarkAsComplete(self): ret = self.post('/releases/Fennec-1.0-build1', data={'complete': True}) self.assertEquals(ret.status_code, 200, ret.data) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1.0-build1').first().complete self.assertEquals(got, True)
def testUpdateStatus(self): ret = self.post('/releases/Fennec-1.0-build1', data={'status': 'omg!'}) self.assertEquals(ret.status_code, 200) with app.test_request_context(): got = FennecRelease.query.filter_by(name='Fennec-1.0-build1').first().status self.assertEquals(got, 'omg!')
def setUp(self): self.cef_fd, self.cef_file = mkstemp() app.config['DEBUG'] = True app.config['CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:' app.config.update(cef_config(self.cef_file)) with app.test_request_context(): db.init_app(app) db.create_all() r = FennecRelease( submitter='joe', version='1', buildNumber=1, branch='a', mozillaRevision='abc', l10nChangesets='{"hi": { "revision": "fe436c75f71d" }}', mozillaRelbranch=None) r.ready = True db.session.add(r) r = FennecRelease( submitter='joe', version='4', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"fr": { "revision": "fe436c75f71d" }}', mozillaRelbranch=None) db.session.add(r) r = FennecRelease( submitter='joe', version='4', buildNumber=5, branch='a', mozillaRevision='abc', l10nChangesets= '{"de": { "revision": "fe436c75f71d", "platforms": ["android", "android-multilocale"] }}', mozillaRelbranch='BAR', submittedAt=datetime(2005, 1, 2, 2, 3, 3, 5)) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2.0', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazing comment", mh_changeset='xyz') r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2.0.2esr', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazing comment") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='38.1.0esr', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2015, 1, 4, 3, 4, 5, 6), comment="yet an other amazing comment") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FennecRelease( submitter='joe', version='24.0', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"an": { "revision": "fe436c75f71d" }}', submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 3, 1, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FennecRelease( submitter='joe', version='24.0.1', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"an": { "revision": "fe436c75f71d" }}', submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 2, 26, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FennecRelease( submitter='joe', version='23.0b2', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"an": { "revision": "fe436c75f71d" }}', submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 2, 27, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease( partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b2', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", isSecurityDriven=True, description="We did this because of an issue in NSS") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b2', buildNumber=2, branch='a', mozillaRevision='defa', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment") db.session.add(r) r = FirefoxRelease( partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b3', buildNumber=1, branch='a', mozillaRevision='defau', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 2, 3, 4, 5, 6, 7), shippedAt=datetime(2005, 2, 3, 4, 5, 6, 7), comment="yet an other amazing comment", isSecurityDriven=True, description="Another beta release for Firefox 3") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease( partials='0,1', promptWaitTime=5, submitter='joe', version='3.0.1', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", description="we did this release because of foo") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) # Thunderbird data r = ThunderbirdRelease( commRevision='ghi', commRelbranch=None, partials='0', promptWaitTime=None, submitter='bob', version='2', buildNumber=2, branch='b', mozillaRevision='ghi', l10nChangesets='li', mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), comment='My great comment!', isSecurityDriven=True, mh_changeset='xyz', description="we did this release because of bar") r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='4.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime( 2005, 1, 1, 1, 1, 1, 1), description="foo reason") db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='23.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime( 2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), description="bar reason") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='23.0.1', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime( 2014, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2014, 2, 3, 1, 1, 1, 1), description="bar2 reason") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='24.0b2', buildNumber=2, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime( 2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 2, 1, 1, 1, 1, 1), description="bar2 reason") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) db.session.commit()
parser.add_option("-p", "--password", dest="password") parser.add_option("-v", "--verbose", dest="verbose", action="store_true") parser.add_option("--cef-log", dest="cef_log", default="cef.log") options, args = parser.parse_args() log_level = logging.INFO if options.verbose: log_level = logging.DEBUG logging.basicConfig(filename=options.logfile, level=log_level) app.config['SQLALCHEMY_DATABASE_URI'] = options.db app.config['DEBUG'] = True app.config['SECRET_KEY'] = 'NOT A SECRET' app.config.update(cef_config(options.cef_log)) with app.test_request_context(): db.init_app(app) db.create_all() def auth(environ, username, password): return options.username == username and options.password == password if app.config['DEBUG']: # Setting up the cron/ directory with some testing data # In production, this is managed by Apache and the json file is going to be override # by the cron (see bug 1155935) from werkzeug import SharedDataMiddleware app.wsgi_app = SharedDataMiddleware( app.wsgi_app, {'/cron/': path.join(path.dirname(__file__), 'cron/')})
def setUp(self): self.cef_fd, self.cef_file = mkstemp() app.config['DEBUG'] = True app.config['CSRF_ENABLED'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:' app.config.update(cef_config(self.cef_file)) with app.test_request_context(): db.init_app(app) db.create_all() r = FennecRelease(submitter='joe', version='1.0', buildNumber=1, branch='a', mozillaRevision='abc', l10nChangesets='{"hi": { "revision": "fe436c75f71d" }}', mozillaRelbranch=None) r.ready = True db.session.add(r) r = FennecRelease(submitter='joe', version='4.0', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"fr": { "revision": "fe436c75f71d" }}', mozillaRelbranch=None) db.session.add(r) r = FennecRelease(submitter='joe', version='4.0', buildNumber=5, branch='a', mozillaRevision='abc', l10nChangesets='{"de": { "revision": "fe436c75f71d", "platforms": ["android", "android-multilocale"] }}', mozillaRelbranch='BAR', submittedAt=datetime(2005, 1, 2, 2, 3, 3, 5)) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='2.0', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazing comment", mh_changeset='xyz') r.complete = True r.ready = True r.status = "shipped" db.session.add(r) three_digit_esr_release = FirefoxRelease( partials='0,1', promptWaitTime=5, submitter='joe', version='2.0.2esr', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 4, 3, 4, 5, 6), comment="yet an other amazing comment" ) three_digit_esr_release.complete = True three_digit_esr_release.ready = True three_digit_esr_release.status = "shipped" db.session.add(three_digit_esr_release) two_digit_esr_release = FirefoxRelease( partials='0,1', promptWaitTime=5, submitter='joe', version='38.0esr', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2015, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2015, 1, 4, 3, 4, 5, 6), comment="yet an other amazing comment" ) two_digit_esr_release.complete = True two_digit_esr_release.ready = True two_digit_esr_release.status = "shipped" db.session.add(two_digit_esr_release) r = FennecRelease(submitter='joe', version='24.0', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"an": { "revision": "fe436c75f71d" }}', submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 3, 1, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FennecRelease(submitter='joe', version='24.0.1', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"an": { "revision": "fe436c75f71d" }}', submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 2, 26, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FennecRelease(submitter='joe', version='23.0b2', buildNumber=4, branch='a', mozillaRevision='abc', l10nChangesets='{"an": { "revision": "fe436c75f71d" }}', submittedAt=datetime(2015, 2, 26, 3, 4, 5, 6), shippedAt=datetime(2015, 2, 27, 3, 4, 5, 6), mozillaRelbranch=None) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='1.0.9', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='legacy', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", description="we did this release because of foo") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b1', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="Rule with release_eta", description="Rule with release_eta", release_eta=datetime(2005, 1, 2, 3, 4, 5, 7)) r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b2', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", isSecurityDriven=True, description="We did this because of an issue in NSS") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b2', buildNumber=2, branch='a', mozillaRevision='defa', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", release_eta=datetime(2005, 1, 2, 3, 4, 5, 7)) db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b3', buildNumber=1, branch='a', mozillaRevision='defau', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 2, 3, 4, 5, 6, 7), shippedAt=datetime(2005, 2, 3, 4, 5, 6, 7), comment="yet an other amazing comment", isSecurityDriven=True, description="Another beta release for Firefox 3") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = FirefoxRelease(partials='0,1', promptWaitTime=5, submitter='joe', version='3.0.1', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", description="we did this release because of foo") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = DeveditionRelease( partials='0,1', promptWaitTime=5, submitter='joe', version='3.0b5', buildNumber=1, branch='a', mozillaRevision='def', l10nChangesets='ja zu', mozillaRelbranch='FOO', submittedAt=datetime(2005, 1, 2, 3, 4, 5, 6), shippedAt=datetime(2005, 1, 2, 3, 4, 5, 6), comment="yet an other amazing comment", description="we did this release because of foo") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) # Thunderbird data r = ThunderbirdRelease(commRevision='ghi', commRelbranch=None, partials='0', promptWaitTime=None, submitter='bob', version='2.0', buildNumber=2, branch='b', mozillaRevision='ghi', l10nChangesets='li', mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), comment='My great comment!', isSecurityDriven=True, mh_changeset='xyz', description="we did this release because of bar") r.complete = True r.ready = True db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='4.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), description="foo reason") db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='23.0', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 1, 3, 1, 1, 1, 1), description="bar reason") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='23.0.1', buildNumber=1, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime(2014, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2014, 2, 3, 1, 1, 1, 1), description="bar2 reason") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) r = ThunderbirdRelease(commRevision='zzz', commRelbranch=None, partials='1.0build1', promptWaitTime=None, submitter='bob', version='24.0b2', buildNumber=2, branch='b', mozillaRevision='yyy', l10nChangesets='yy zz', mozillaRelbranch=None, submittedAt=datetime(2005, 1, 1, 1, 1, 1, 1), shippedAt=datetime(2005, 2, 1, 1, 1, 1, 1), description="bar2 reason") r.complete = True r.ready = True r.status = "shipped" db.session.add(r) db.session.commit()