def test_should_remove_trigger_from_db(self):
        shutil.copyfile(self.test_db_file, self.temp_file.name)

        store = LightsSqliteStore(self.temp_file.name)
        store.remove_trigger(self.trigger.job_id)

        conn = sqlite3.connect(self.temp_file.name)
        cursor = conn.cursor()
        rows = cursor.execute("SELECT * FROM triggers").fetchall()
        assert_that(rows, is_(empty()))

        triggers = store.read_triggers()
        assert_that(triggers, is_(empty()))
    def test_should_remove_only_single_trigger(self):
        shutil.copyfile("tests/two_triggers.db", self.temp_file.name)

        store = LightsSqliteStore(self.temp_file.name)

        conn = sqlite3.connect(self.temp_file.name)
        cursor = conn.cursor()
        rows = cursor.execute("SELECT * FROM triggers").fetchall()
        assert_that(rows, has_length(2))

        triggers = store.read_triggers()
        assert_that(triggers, has_length(2))

        store.remove_trigger(self.trigger.job_id)

        rows = cursor.execute("SELECT * FROM triggers").fetchall()
        assert_that(rows, has_length(1))

        triggers = store.read_triggers()
        assert_that(triggers, has_length(1))