From e49a2d8b5333208341f8c053d537d3763c537c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl-Einar=20Bergstr=C3=B8m?= Date: Wed, 14 Oct 2026 16:21:38 +0200 Subject: [PATCH] test: --demo's legacy-token has expired too --- internal/provider/fake/fake.go | 2 +- internal/ui/app/app_test.go | 17 +++++++++-------- internal/ui/app/favourites_test.go | 2 +- internal/ui/app/links_test.go | 2 +- internal/ui/app/testdata/TestGolden.golden | 4 ++-- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/internal/provider/fake/fake.go b/internal/provider/fake/fake.go index 833148e..7118269 100644 --- a/internal/provider/fake/fake.go +++ b/internal/provider/fake/fake.go @@ -288,7 +288,7 @@ func Azure(delay time.Duration) *Provider { }, "sk_live_51HxDEMO0000000000000000") p.add(kv, provider.TypeSecret, provider.Object{ Name: "legacy-token", Version: "0c11de", Enabled: &no, Updated: base.AddDate(-1, 0, 0), - Reference: secretRef("kv-app-prod", "legacy-token"), + Expires: base.AddDate(0, -3, 0), Reference: secretRef("kv-app-prod", "legacy-token"), }, "deprecated") p.add(kv, provider.TypeKey, provider.Object{ diff --git a/internal/ui/app/app_test.go b/internal/ui/app/app_test.go index 79be8ed..6e7929a 100644 --- a/internal/ui/app/app_test.go +++ b/internal/ui/app/app_test.go @@ -536,7 +536,7 @@ func TestBackspaceGoesBack(t *testing.T) { } // While typing a filter, backspace deletes a character instead. d.keys("/") - d.typeText("apx") + d.typeText("api-x") d.send(tea.KeyPressMsg{Code: tea.KeyBackspace}) if !d.m.secrets.Filtering() || d.m.secrets.Len() != 1 { t.Errorf("backspace in filter: filtering=%v visible=%d", d.m.secrets.Filtering(), d.m.secrets.Len()) @@ -666,7 +666,7 @@ func TestFilter(t *testing.T) { t.Parallel() d := newDriver(t) d.keys("3", "/") - d.typeText("api") + d.typeText("api-k") if d.m.secrets.Len() != 1 { t.Fatalf("visible = %d, want 1", d.m.secrets.Len()) } @@ -684,7 +684,7 @@ func TestFilter(t *testing.T) { } d.keys("esc") // leave filter mode, clearing the query d.keys("/") - d.typeText("api") + d.typeText("api-k") d.keys("enter", "esc") // apply, then esc clears the applied filter if d.m.secrets.Len() != 3 { t.Errorf("esc should clear the applied filter, visible = %d", d.m.secrets.Len()) @@ -848,7 +848,7 @@ func TestCopyAndRevealWhileFiltering(t *testing.T) { t.Parallel() d := newDriver(t) d.keys("3", "/") - d.typeText("api") + d.typeText("api-k") d.send(tea.KeyPressMsg{Code: 'y', Mod: tea.ModCtrl}) if d.clip().content != "sk_live_51HxDEMO0000000000000000" { t.Errorf("ctrl+y copied %q", d.clip().content) @@ -1187,7 +1187,8 @@ func TestDetailsFollowFocus(t *testing.T) { func TestStatusLineCountsRepos(t *testing.T) { t.Parallel() d := newDriver(t, fake.Azure(0), fake.Repos()) - if line := strings.Split(d.screen(), "\n")[1]; !strings.Contains(line, "1 account · 3 repos") { + // The status line, not the pane, which an expired secret's ⚠ fills. + if line := ansi.Strip(d.m.statusLine()); !strings.Contains(line, "1 account · 3 repos") { t.Errorf("status line: %q", line) } d = newDriver(t, fake.Azure(0)) @@ -1202,8 +1203,8 @@ func TestStatusPane(t *testing.T) { d := newDriverOpts(t, Options{Version: "0.1.0", ConfigFiles: []string{"/cfg/config.yaml"}, StatePath: "/state/state.json", OpenURL: func(u string) error { opened = append(opened, u); return nil }}, fake.Azure(0), signedOut{fake.Azure(0)}) - if !strings.Contains(d.screen(), "2 accounts · 1 need sign-in") { - t.Errorf("status line:\n%s", d.screen()) + if line := ansi.Strip(d.m.statusLine()); !strings.Contains(line, "2 accounts · 1 need sign-in") { + t.Errorf("status line: %q", line) } d.keys("0") if d.m.focus != paneStatus { @@ -1303,7 +1304,7 @@ func TestExpiringInStatus(t *testing.T) { t.Parallel() d := newDriverOpts(t, Options{ExpiryWarning: 30 * 24 * time.Hour}, fake.Azure(0)) d.keys("3", "]", "]") // load kv-app-prod's certificates - if !strings.Contains(d.screen(), "⚠ 1 expiring") { + if !strings.Contains(d.screen(), "⚠ 2 expiring") { // old-tls, legacy-token t.Errorf("status line:\n%s", d.screen()) } d.keys("0") diff --git a/internal/ui/app/favourites_test.go b/internal/ui/app/favourites_test.go index fd16afc..40ecbbb 100644 --- a/internal/ui/app/favourites_test.go +++ b/internal/ui/app/favourites_test.go @@ -395,7 +395,7 @@ func TestStarWhileFiltering(t *testing.T) { t.Parallel() d := newDriver(t) d.keys("3", "/") - for _, r := range "api" { + for _, r := range "api-k" { d.send(tea.KeyPressMsg{Code: r, Text: string(r)}) } d.send(tea.KeyPressMsg{Code: 'f', Mod: tea.ModCtrl}) diff --git a/internal/ui/app/links_test.go b/internal/ui/app/links_test.go index f5c4d99..b5f218c 100644 --- a/internal/ui/app/links_test.go +++ b/internal/ui/app/links_test.go @@ -181,7 +181,7 @@ func TestPasteWhileFilteringFilters(t *testing.T) { t.Parallel() d := newDriver(t) d.keys("3", "/") - d.send(tea.PasteMsg{Content: "api"}) + d.send(tea.PasteMsg{Content: "api-k"}) if d.m.secrets.Len() != 1 || d.m.nav != nil { t.Errorf("paste in filter: visible %d", d.m.secrets.Len()) } diff --git a/internal/ui/app/testdata/TestGolden.golden b/internal/ui/app/testdata/TestGolden.golden index 3943763..dd076a8 100644 --- a/internal/ui/app/testdata/TestGolden.golden +++ b/internal/ui/app/testdata/TestGolden.golden @@ -1,5 +1,5 @@ ╭─ [0] lazysecrets ─────────────╮╭─ platform-prod ─────────────────────────────────────────────────╮ -│ 2 accounts ││ name platform-prod │ +│ ⚠ 1 expiring · 2 accounts ││ name platform-prod │ ╰───────────────────────────────╯│ ID sub-prod │ ╭─ [1] Sources - Favourites ────╮│ web https://portal.azure.com/#resource/subscriptions/sub…│ │ ▾ Azure (2) ││ vaults 3 │ @@ -20,7 +20,7 @@ ╭─ [3] Secrets - Keys - Certs ──╮│ │ │ db-password ││ │ │ api-key ││ │ -│ legacy-token (disabled) ││ │ +│ legacy-token (disabled) ✗ exp…││ │ │ ││ │ │ ││ │ │ ││ │