summaryrefslogtreecommitdiff
path: root/internal/store/sqlite_test.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-08-06 18:19:27 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-08-06 18:19:27 +0000
commit06450fe69ade2928deb9274bb67b7ba60d394b4f (patch)
tree328c3e2f5608663669d75330bfde1e61ab713499 /internal/store/sqlite_test.go
parentf7d18eae924a221f12293c3063e46b791468623f (diff)
Remove the feature toggle system (dead code)
Audited it (couldn't query the live DB directly -- auto-mode classifier blocks direct production reads without prior approval -- so this is a code-only audit): GetFeatureToggles/SetFeatureEnabled/IsFeatureEnabled/ CreateFeatureToggle/DeleteFeatureToggle had exactly one caller each, all inside their own CRUD handlers. Nothing anywhere else in the codebase read a toggle's Enabled state to gate any actual behavior -- confirmed by grepping every remaining .Enabled/IsFeatureEnabled reference back to either this dead code or its own tests. It was pure UI-managed CRUD with no consumer, unlike Trusted Agents (wired into agent.go/websocket.go) or Data Sources (wired into the sync pipeline) which stayed. Removes the Settings page section, the three /settings/features* routes and handlers, the five Store methods, the FeatureToggle model, and adds 028_drop_feature_toggles.sql (next free migration number, per this repo's convention of never renumbering -- see 021_drop_tasks.sql for the same drop-table-forward pattern) to drop the now-unused table. Also removed the now-dead tests for all of the above. go build ./... and go test ./... both clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ7ikw2ukGJFTHE3bJS7zL
Diffstat (limited to 'internal/store/sqlite_test.go')
-rw-r--r--internal/store/sqlite_test.go94
1 files changed, 0 insertions, 94 deletions
diff --git a/internal/store/sqlite_test.go b/internal/store/sqlite_test.go
index 7f7e56d..c64e6b3 100644
--- a/internal/store/sqlite_test.go
+++ b/internal/store/sqlite_test.go
@@ -642,100 +642,6 @@ func TestGetCardsByDateRange(t *testing.T) {
// =============================================================================
// =============================================================================
-// Feature Toggles Tests
-// =============================================================================
-
-func setupTestStoreWithFeatureToggles(t *testing.T) *Store {
- t.Helper()
-
- tempDir := t.TempDir()
- dbPath := filepath.Join(tempDir, "test.db")
-
- db, err := sql.Open("sqlite3", dbPath)
- if err != nil {
- t.Fatalf("Failed to open test database: %v", err)
- }
-
- db.SetMaxOpenConns(1)
- store := &Store{db: db}
-
- schema := `
- CREATE TABLE IF NOT EXISTS feature_toggles (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- name TEXT UNIQUE NOT NULL,
- description TEXT,
- enabled BOOLEAN DEFAULT FALSE,
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
- );
- `
- if _, err := db.Exec(schema); err != nil {
- t.Fatalf("Failed to create schema: %v", err)
- }
-
- return store
-}
-
-func TestFeatureToggles_CRUD(t *testing.T) {
- store := setupTestStoreWithFeatureToggles(t)
- defer func() { _ = store.Close() }()
-
- // Create feature toggle
- if err := store.CreateFeatureToggle("new_feature", "A new feature", false); err != nil {
- t.Fatalf("Failed to create feature toggle: %v", err)
- }
-
- // Get all toggles
- toggles, err := store.GetFeatureToggles()
- if err != nil {
- t.Fatalf("Failed to get feature toggles: %v", err)
- }
- if len(toggles) != 1 {
- t.Errorf("Expected 1 toggle, got %d", len(toggles))
- }
- if toggles[0].Name != "new_feature" {
- t.Errorf("Expected name 'new_feature', got '%s'", toggles[0].Name)
- }
- if toggles[0].Enabled {
- t.Error("New feature should be disabled")
- }
-
- // Check if enabled
- if store.IsFeatureEnabled("new_feature") {
- t.Error("IsFeatureEnabled should return false for disabled feature")
- }
-
- // Enable feature
- if err := store.SetFeatureEnabled("new_feature", true); err != nil {
- t.Fatalf("Failed to enable feature: %v", err)
- }
-
- if !store.IsFeatureEnabled("new_feature") {
- t.Error("IsFeatureEnabled should return true after enabling")
- }
-
- // Delete feature
- if err := store.DeleteFeatureToggle("new_feature"); err != nil {
- t.Fatalf("Failed to delete feature toggle: %v", err)
- }
-
- toggles, _ = store.GetFeatureToggles()
- if len(toggles) != 0 {
- t.Errorf("Expected 0 toggles after delete, got %d", len(toggles))
- }
-}
-
-func TestIsFeatureEnabled_NonExistent(t *testing.T) {
- store := setupTestStoreWithFeatureToggles(t)
- defer func() { _ = store.Close() }()
-
- // Non-existent feature should return false
- if store.IsFeatureEnabled("does_not_exist") {
- t.Error("Non-existent feature should return false")
- }
-}
-
-// =============================================================================
// Completed Tasks Tests
// =============================================================================