Ejemplo n.º 1
0
    def test_create_override_for_newer_build(self):
        old_build = RpmBuild.get('bodhi-2.0-1.fc17')

        build = RpmBuild(nvr='bodhi-2.0-2.fc17', package=old_build.package,
                         release=old_build.release)
        self.db.add(build)
        self.db.flush()

        expiration_date = datetime.utcnow() + timedelta(days=1)

        data = {'nvr': build.nvr, 'notes': 'blah blah blah',
                'expiration_date': expiration_date,
                'csrf_token': self.get_csrf_token()}
        expected_messages = (
            override_schemas.BuildrootOverrideUntagV1,
            override_schemas.BuildrootOverrideTagV1)

        with fml_testing.mock_sends(*expected_messages):
            res = self.app.post('/overrides/', data)

        o = res.json_body
        self.assertEqual(o['build_id'], build.id)
        self.assertEqual(o['notes'], 'blah blah blah')
        self.assertEqual(o['expiration_date'],
                         expiration_date.strftime("%Y-%m-%d %H:%M:%S"))
        self.assertEqual(o['expired_date'], None)

        old_build = RpmBuild.get('bodhi-2.0-1.fc17')

        self.assertNotEqual(old_build.override['expired_date'], None)
Ejemplo n.º 2
0
    def test_create_override_for_newer_build(self, publish):
        old_build = RpmBuild.get('bodhi-2.0-1.fc17')

        build = RpmBuild(nvr='bodhi-2.0-2.fc17', package=old_build.package,
                         release=old_build.release)
        self.db.add(build)
        self.db.flush()

        expiration_date = datetime.utcnow() + timedelta(days=1)

        data = {'nvr': build.nvr, 'notes': 'blah blah blah',
                'expiration_date': expiration_date,
                'csrf_token': self.get_csrf_token()}
        res = self.app.post('/overrides/', data)

        publish.assert_any_call(topic='buildroot_override.tag', msg=mock.ANY)
        publish.assert_any_call(
            topic='buildroot_override.untag', msg=mock.ANY)

        o = res.json_body
        self.assertEqual(o['build_id'], build.id)
        self.assertEqual(o['notes'], 'blah blah blah')
        self.assertEqual(o['expiration_date'],
                         expiration_date.strftime("%Y-%m-%d %H:%M:%S"))
        self.assertEqual(o['expired_date'], None)

        old_build = RpmBuild.get('bodhi-2.0-1.fc17')

        self.assertNotEqual(old_build.override['expired_date'], None)
Ejemplo n.º 3
0
    def test_unexpire_override(self):
        # First expire a buildroot override
        old_nvr = 'bodhi-2.0-1.fc17'
        override = RpmBuild.get(old_nvr).override

        with fml_testing.mock_sends(override_schemas.BuildrootOverrideUntagV1):
            override.expire()
            self.db.commit()

        self.db.add(override)
        self.db.flush()

        # And now push its expiration_date into the future
        res = self.app.get('/overrides/%s' % old_nvr,
                           headers={'Accept': 'application/json'})
        o = res.json_body['override']

        expiration_date = datetime.now() + timedelta(days=1)
        expiration_date = expiration_date.strftime("%Y-%m-%d %H:%M:%S")

        o.update({'nvr': o['build']['nvr'],
                  'edited': old_nvr, 'expiration_date': expiration_date,
                  'csrf_token': self.get_csrf_token()})

        with fml_testing.mock_sends(override_schemas.BuildrootOverrideTagV1):
            res = self.app.post('/overrides/', o)

        override = res.json_body
        self.assertEqual(override['build'], o['build'])
        self.assertEqual(override['notes'], o['notes'])
        self.assertEqual(override['expiration_date'], o['expiration_date'])
        self.assertEqual(override['expired_date'], None)
Ejemplo n.º 4
0
    def test_unexpire_override(self, publish):
        # First expire a buildroot override
        old_nvr = 'bodhi-2.0-1.fc17'
        override = RpmBuild.get(old_nvr).override
        override.expire()
        self.db.add(override)
        self.db.flush()

        publish.assert_called_once_with(
            topic='buildroot_override.untag', msg=mock.ANY)
        publish.reset_mock()

        # And now push its expiration_date into the future
        res = self.app.get('/overrides/%s' % old_nvr,
                           headers={'Accept': 'application/json'})
        o = res.json_body['override']

        expiration_date = datetime.now() + timedelta(days=1)
        expiration_date = expiration_date.strftime("%Y-%m-%d %H:%M:%S")

        o.update({'nvr': o['build']['nvr'],
                  'edited': old_nvr, 'expiration_date': expiration_date,
                  'csrf_token': self.get_csrf_token()})
        res = self.app.post('/overrides/', o)

        override = res.json_body
        self.assertEqual(override['build'], o['build'])
        self.assertEqual(override['notes'], o['notes'])
        self.assertEqual(override['expiration_date'], o['expiration_date'])
        self.assertEqual(override['expired_date'], None)
        publish.assert_called_once_with(
            topic='buildroot_override.tag', msg=mock.ANY)