From 136228035fc3892c043b9f516766741012ac641b Mon Sep 17 00:00:00 2001 From: shrsv Date: Mon, 19 Oct 2026 10:31:14 +0000 Subject: [PATCH] test: expand Store coverage, bump uuid dependency LiveReview Pre-Commit Check: skipped (iter:1, coverage:0%) --- CHANGELOG.md | 5 +++ go.mod | 2 +- go.sum | 4 +-- internal/auth/token_test.go | 28 +++++++++++++++++ internal/mod_test.go | 63 ++++++++++++++++++++++++++++++++++++- 5 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 internal/auth/token_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..30474b7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## Unreleased +- Bumped `github.com/google/uuid` to v1.6.1. +- Added table-driven tests for `Store` (delete, keys, overwrite) and `auth.GenerateToken`. diff --git a/go.mod b/go.mod index 0119663..155c4fd 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/HexmosTech/AutoApproveDemo go 1.22 -require github.com/google/uuid v1.6.0 +require github.com/google/uuid v1.6.1 diff --git a/go.sum b/go.sum index 7790d7c..9cd7cfa 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,2 @@ -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.1 h1:ZkR2hgC/eusXTHMA4RVHZ8sPr2dz9h4nJ84U1ATgIVA= +github.com/google/uuid v1.6.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= diff --git a/internal/auth/token_test.go b/internal/auth/token_test.go new file mode 100644 index 0000000..8c94f41 --- /dev/null +++ b/internal/auth/token_test.go @@ -0,0 +1,28 @@ +package auth + +import "testing" + +func TestGenerateTokenLength(t *testing.T) { + tok, err := GenerateToken() + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if len(tok) != TokenLength { + t.Fatalf("expected token of length %d, got %d", TokenLength, len(tok)) + } +} + +func TestGenerateTokenUnique(t *testing.T) { + a, _ := GenerateToken() + b, _ := GenerateToken() + equal := true + for i := range a { + if a[i] != b[i] { + equal = false + break + } + } + if equal { + t.Fatal("expected two generated tokens to differ") + } +} diff --git a/internal/mod_test.go b/internal/mod_test.go index 21de693..906f434 100644 --- a/internal/mod_test.go +++ b/internal/mod_test.go @@ -1,6 +1,9 @@ package internal -import "testing" +import ( + "sort" + "testing" +) func TestGreeting(t *testing.T) { if Greeting() == "" { @@ -16,3 +19,61 @@ func TestStoreSetGet(t *testing.T) { t.Fatalf("expected a=1, got %q ok=%v", v, ok) } } + +func TestStoreGetMissing(t *testing.T) { + s := NewStore() + if _, ok := s.Get("missing"); ok { + t.Fatal("expected ok=false for missing key") + } +} + +func TestStoreDelete(t *testing.T) { + s := NewStore() + s.Set("a", "1") + s.Delete("a") + if _, ok := s.Get("a"); ok { + t.Fatal("expected key to be gone after delete") + } +} + +func TestStoreDeleteMissingIsNoop(t *testing.T) { + s := NewStore() + s.Delete("does-not-exist") +} + +func TestStoreKeys(t *testing.T) { + s := NewStore() + s.Set("a", "1") + s.Set("b", "2") + s.Set("c", "3") + + keys := s.Keys() + sort.Strings(keys) + + want := []string{"a", "b", "c"} + if len(keys) != len(want) { + t.Fatalf("expected %d keys, got %d (%v)", len(want), len(keys), keys) + } + for i := range want { + if keys[i] != want[i] { + t.Fatalf("expected keys %v, got %v", want, keys) + } + } +} + +func TestStoreKeysEmpty(t *testing.T) { + s := NewStore() + if keys := s.Keys(); len(keys) != 0 { + t.Fatalf("expected no keys, got %v", keys) + } +} + +func TestStoreOverwrite(t *testing.T) { + s := NewStore() + s.Set("a", "1") + s.Set("a", "2") + v, _ := s.Get("a") + if v != "2" { + t.Fatalf("expected overwritten value 2, got %q", v) + } +}