Example #1
0
    def test_expire(self, log_info):
        """
        Assert that we expire a buildroot override with an expiration date in the past
        """
        buildrootoverride = self.db.query(models.BuildrootOverride).all()[0]
        buildrootoverride.expiration_date = buildrootoverride.expiration_date - timedelta(
            days=500)
        self.db.commit()

        with mock.patch('bodhi.server.scripts.expire_overrides.initialize_db'):
            with mock.patch(
                    'bodhi.server.scripts.expire_overrides.get_appsettings',
                    return_value=''):
                with mock.patch(
                        'bodhi.server.scripts.expire_overrides.setup_logging'):
                    with fml_testing.mock_sends(api.Message):
                        expire_overrides.main(
                            ['expire_overrides', 'some_config.ini'])

        log_info.assert_has_calls([
            mock.call('Expiring %d buildroot overrides...', 1),
            mock.call('Expired bodhi-2.0-1.fc17')
        ],
                                  any_order=True)
        self.assertNotEqual(buildrootoverride.expired_date, None)
    def test_invalid_arguments(self, stdout, exit):
        """
        Assert that the usage message is returned to the user if not exactly 2 arguments are given
        """
        with mock.patch('bodhi.server.scripts.expire_overrides.initialize_db'):
            with mock.patch('bodhi.server.scripts.expire_overrides.get_appsettings',
                            return_value=''):
                with mock.patch('bodhi.server.scripts.expire_overrides.setup_logging'):
                    expire_overrides.main(['expire_overrides', 'some_config.ini', 'testnoses'])

        self.assertEqual(
            stdout.getvalue(),
            'usage: expire_overrides <config_uri>\n(example: "expire_overrides development.ini")\n')
        exit.assert_called_once_with(1)
    def test_no_expire(self, log_info):
        """
        Assert that we don't expire a buildroot override with an expiration date in the future
        """
        buildrootoverride = self.db.query(models.BuildrootOverride).all()[0]
        buildrootoverride.expiration_date = buildrootoverride.expiration_date + timedelta(days=500)
        self.db.commit()

        with mock.patch('bodhi.server.scripts.expire_overrides.initialize_db'):
            with mock.patch('bodhi.server.scripts.expire_overrides.get_appsettings',
                            return_value=''):
                with mock.patch('bodhi.server.scripts.expire_overrides.setup_logging'):
                    expire_overrides.main(['expire_overrides', 'some_config.ini'])

        log_info.assert_called_once_with("No active buildroot override to expire")
        buildrootoverride = self.db.query(models.BuildrootOverride).all()[0]
        self.assertEquals(buildrootoverride.expired_date, None)
    def test_exception(self, log_error, exit):
        """
        Test the exception handling
        """
        buildrootoverride = self.db.query(models.BuildrootOverride).all()[0]
        buildrootoverride.expiration_date = buildrootoverride.expiration_date - timedelta(days=500)
        self.db.commit()

        with mock.patch('bodhi.server.scripts.expire_overrides.initialize_db'):
            with mock.patch('bodhi.server.scripts.expire_overrides.get_appsettings',
                            return_value=''):
                with mock.patch('bodhi.server.scripts.expire_overrides.setup_logging'):
                    with mock.patch('bodhi.server.scripts.expire_overrides.logging.Logger.info',
                                    side_effect=ValueError()):
                        expire_overrides.main(['expire_overrides', 'some_config.ini'])

        log_error.assert_called_once()
        exit.assert_called_once_with(1)