예제 #1
0
    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()
예제 #2
0
    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 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'])
예제 #4
0
    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)
예제 #5
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'])
예제 #6
0
    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)
예제 #7
0
    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)
예제 #8
0
    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)
예제 #9
0
    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)
예제 #10
0
파일: base.py 프로젝트: flodolo/ship-it
    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()
예제 #11
0
파일: base.py 프로젝트: sylvestre/ship-it
    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='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()