From 4316ce3f1d792f56c9f199f15f55bfb33a3fe0b9 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Wed, 3 Jun 2026 09:10:28 +0200 Subject: [PATCH] test: add skip segment overrides table check --- internal/db/skip_segment_overrides.go | 4 ++++ internal/db/skip_segment_overrides_test.go | 25 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 internal/db/skip_segment_overrides_test.go diff --git a/internal/db/skip_segment_overrides.go b/internal/db/skip_segment_overrides.go index 9107ce6..8556b2a 100644 --- a/internal/db/skip_segment_overrides.go +++ b/internal/db/skip_segment_overrides.go @@ -3,6 +3,7 @@ package db import ( "context" "database/sql" + "errors" "fmt" ) @@ -67,6 +68,9 @@ func (q *Queries) HasSkipSegmentOverrideTable(ctx context.Context) (bool, error) const query = `SELECT name FROM sqlite_master WHERE type='table' AND name='skip_segment_override' LIMIT 1;` var name sql.NullString if err := q.db.QueryRowContext(ctx, query).Scan(&name); err != nil { + if errors.Is(err, sql.ErrNoRows) { + return false, nil + } return false, fmt.Errorf("check skip segment override table: %w", err) } return name.Valid && name.String != "", nil diff --git a/internal/db/skip_segment_overrides_test.go b/internal/db/skip_segment_overrides_test.go new file mode 100644 index 0000000..a4f755a --- /dev/null +++ b/internal/db/skip_segment_overrides_test.go @@ -0,0 +1,25 @@ +package db + +import ( + "context" + "database/sql" + "testing" + + _ "github.com/mattn/go-sqlite3" +) + +func TestHasSkipSegmentOverrideTableReturnsFalseWhenMissing(t *testing.T) { + sqlDB, err := sql.Open("sqlite3", ":memory:") + if err != nil { + t.Fatalf("open sqlite: %v", err) + } + defer func() { _ = sqlDB.Close() }() + + ok, err := New(sqlDB).HasSkipSegmentOverrideTable(context.Background()) + if err != nil { + t.Fatalf("HasSkipSegmentOverrideTable: %v", err) + } + if ok { + t.Fatalf("HasSkipSegmentOverrideTable returned true for missing table") + } +}