detached 314ee29

test: use temp log dir for session cleanup

commit
314ee29c9ca4e317ae750cb3d88bd7d0758fdf0a
author
brice · · 2026-04-25 05:51 UTC
parent
a83b7b9
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +4 -2
M internal/bootstrap/session_test.go +4 -2
@@ -21,6 +21,7 @@ func TestRunSessionCleanup_SkipsCurrentActiveSession(t *testing.T) {
2121 sessionUC := usecase.NewManageSessionUseCase(repo, nil)
2222 cleanupUC := usecase.NewCleanupSessionsUseCase(repo)
2323 cfg := config.DefaultConfig()
24+ logDir := t.TempDir()
2425
2526 now := time.Now().UTC()
2627 current := &entity.Session{
@@ -45,7 +46,7 @@ func TestRunSessionCleanup_SkipsCurrentActiveSession(t *testing.T) {
4546 repo.EXPECT().DeleteExitedBefore(mock.Anything, mock.MatchedBy(func(time.Time) bool { return true })).Return(int64(0), nil).Once()
4647 repo.EXPECT().DeleteOldestExited(mock.Anything, cfg.Session.MaxExitedSessions).Return(int64(0), nil).Once()
4748
48- runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, cfg.Logging.LogDir, current.ID, nil)
49+ runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, logDir, current.ID, nil)
4950 }
5051
5152 func TestRunSessionCleanup_NoPanicOnNilSessions(t *testing.T) {
@@ -56,12 +57,13 @@ func TestRunSessionCleanup_NoPanicOnNilSessions(t *testing.T) {
5657 sessionUC := usecase.NewManageSessionUseCase(repo, nil)
5758 cleanupUC := usecase.NewCleanupSessionsUseCase(repo)
5859 cfg := config.DefaultConfig()
60+ logDir := t.TempDir()
5961
6062 repo.EXPECT().GetRecent(mock.Anything, recentSessionsLimit).Return([]*entity.Session{nil}, nil).Once()
6163 repo.EXPECT().DeleteExitedBefore(mock.Anything, mock.MatchedBy(func(time.Time) bool { return true })).Return(int64(0), nil).Once()
6264 repo.EXPECT().DeleteOldestExited(mock.Anything, cfg.Session.MaxExitedSessions).Return(int64(0), nil).Once()
6365
6466 require.NotPanics(t, func() {
65- runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, cfg.Logging.LogDir, entity.SessionID("current"), nil)
67+ runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, logDir, entity.SessionID("current"), nil)
6668 })
6769 }
@@ -21,6 +21,7 @@ func TestRunSessionCleanup_SkipsCurrentActiveSession(t *testing.T) {
21 sessionUC := usecase.NewManageSessionUseCase(repo, nil)21 sessionUC := usecase.NewManageSessionUseCase(repo, nil)
22 cleanupUC := usecase.NewCleanupSessionsUseCase(repo)22 cleanupUC := usecase.NewCleanupSessionsUseCase(repo)
23 cfg := config.DefaultConfig()23 cfg := config.DefaultConfig()
24+ logDir := t.TempDir()
24 25
25 now := time.Now().UTC()26 now := time.Now().UTC()
26 current := &entity.Session{27 current := &entity.Session{
@@ -45,7 +46,7 @@ func TestRunSessionCleanup_SkipsCurrentActiveSession(t *testing.T) {
45 repo.EXPECT().DeleteExitedBefore(mock.Anything, mock.MatchedBy(func(time.Time) bool { return true })).Return(int64(0), nil).Once()46 repo.EXPECT().DeleteExitedBefore(mock.Anything, mock.MatchedBy(func(time.Time) bool { return true })).Return(int64(0), nil).Once()
46 repo.EXPECT().DeleteOldestExited(mock.Anything, cfg.Session.MaxExitedSessions).Return(int64(0), nil).Once()47 repo.EXPECT().DeleteOldestExited(mock.Anything, cfg.Session.MaxExitedSessions).Return(int64(0), nil).Once()
47 48
48- runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, cfg.Logging.LogDir, current.ID, nil)49+ runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, logDir, current.ID, nil)
49 }50 }
50 51
51 func TestRunSessionCleanup_NoPanicOnNilSessions(t *testing.T) {52 func TestRunSessionCleanup_NoPanicOnNilSessions(t *testing.T) {
@@ -56,12 +57,13 @@ func TestRunSessionCleanup_NoPanicOnNilSessions(t *testing.T) {
56 sessionUC := usecase.NewManageSessionUseCase(repo, nil)57 sessionUC := usecase.NewManageSessionUseCase(repo, nil)
57 cleanupUC := usecase.NewCleanupSessionsUseCase(repo)58 cleanupUC := usecase.NewCleanupSessionsUseCase(repo)
58 cfg := config.DefaultConfig()59 cfg := config.DefaultConfig()
60+ logDir := t.TempDir()
59 61
60 repo.EXPECT().GetRecent(mock.Anything, recentSessionsLimit).Return([]*entity.Session{nil}, nil).Once()62 repo.EXPECT().GetRecent(mock.Anything, recentSessionsLimit).Return([]*entity.Session{nil}, nil).Once()
61 repo.EXPECT().DeleteExitedBefore(mock.Anything, mock.MatchedBy(func(time.Time) bool { return true })).Return(int64(0), nil).Once()63 repo.EXPECT().DeleteExitedBefore(mock.Anything, mock.MatchedBy(func(time.Time) bool { return true })).Return(int64(0), nil).Once()
62 repo.EXPECT().DeleteOldestExited(mock.Anything, cfg.Session.MaxExitedSessions).Return(int64(0), nil).Once()64 repo.EXPECT().DeleteOldestExited(mock.Anything, cfg.Session.MaxExitedSessions).Return(int64(0), nil).Once()
63 65
64 require.NotPanics(t, func() {66 require.NotPanics(t, func() {
65- runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, cfg.Logging.LogDir, entity.SessionID("current"), nil)67+ runSessionCleanup(ctx, sessionUC, cleanupUC, cfg, logDir, entity.SessionID("current"), nil)
66 })68 })
67 }69 }

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close