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()
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'}
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'}