Exemple #1
0
def remove_old_flags(event):
    """Remove old feature flags from the database."""
    # Skip this if we're in a script, not actual app startup. See the comment
    # in h.cli:main for an explanation.
    if 'H_SCRIPT' in os.environ:
        return

    engine = db.make_engine(event.app.registry.settings)
    session = db.Session(bind=engine)
    Feature.remove_old_flags(session)
    session.commit()
    session.close()
    engine.dispose()
Exemple #2
0
    def test_remove_old_flag_removes_old_flags(self, db_session):
        """
        The remove_old_flags function should remove unknown flags.

        New flags and flags pending removal should be left alone, but completely
        unknown flags should be removed.
        """
        new, pending, old = [Feature(name='notification'),
                             Feature(name='abouttoberemoved'),
                             Feature(name='somethingelse')]
        db_session.add_all([new, pending, old])
        db_session.flush()

        Feature.remove_old_flags(db_session)

        remaining = set([f.name for f in db_session.query(Feature).all()])
        assert remaining == {'abouttoberemoved', 'notification'}
Exemple #3
0
    def test_remove_old_flag_removes_old_flags(self, db_session):
        """
        The remove_old_flags function should remove unknown flags.

        New flags and flags pending removal should be left alone, but completely
        unknown flags should be removed.
        """
        new, pending, old = [
            Feature(name='notification'),
            Feature(name='abouttoberemoved'),
            Feature(name='somethingelse')
        ]
        db_session.add_all([new, pending, old])
        db_session.flush()

        Feature.remove_old_flags(db_session)

        remaining = set([f.name for f in db_session.query(Feature).all()])
        assert remaining == {'abouttoberemoved', 'notification'}