feat: setup logs retention by max file size

This commit is contained in:
fsylvain committed 2026-10-07 22:02:13 +02:00
1 parent 70c8492f4f
commit f914eae3c5
44 files changed
+2316 -161

No files matched your search

+9 -9
View File
@@ -15,12 +15,12 @@ import (
"github.com/go-chi/jwtauth/v5"
)
func newSettingsRouter(userRepo *mockUserRepo, token *jwtauth.JWTAuth, version string) *chi.Mux {
func newSettingsRouter(t *testing.T, userRepo *mockUserRepo, token *jwtauth.JWTAuth, version string) *chi.Mux {
getUserUseCase := useCases.NewGetUserUseCase(userRepo)
settingsHandler := settings.NewHandler(
useCases.NewGetSettingsUseCase(version),
useCases.NewGetActivityRetentionUseCase(newActivitySettingsFake(), settingsTestClock),
useCases.NewUpdateActivityRetentionUseCase(newActivitySettingsFake(), discardRecorder, settingsTestClock),
useCases.NewGetActivityRetentionUseCase(newActivitySettingsFake(), newSizeEvents(t), settingsTestClock),
useCases.NewUpdateActivityRetentionUseCase(newActivitySettingsFake(), newSizeEvents(t), discardRecorder, settingsTestClock),
)
r := chi.NewRouter()
@@ -35,7 +35,7 @@ func newSettingsRouter(userRepo *mockUserRepo, token *jwtauth.JWTAuth, version s
}
func settingsBody(version string) string {
return `{"version":"` + version + `","activity_retention_days":90,"activity_last_cleanup_at":null,"activity_last_cleanup_removed":0,"activity_next_cleanup_at":"2026-10-07T03:00:00+02:00"}`
return `{"version":"` + version + `","activity_retention_days":90,"activity_retention_max_gb":0,"activity_log_size_bytes":0,"activity_last_cleanup_at":null,"activity_last_cleanup_removed":0,"activity_next_cleanup_at":"2026-10-07T03:00:00+02:00"}`
}
func TestSettingsHttp(t *testing.T) {
@@ -46,7 +46,7 @@ func TestSettingsHttp(t *testing.T) {
token := jwtauth.New("HS256", []byte("test-secret"), nil)
userRepo := newMockUserRepo()
userRepo.users[7] = user.User{ID: 7, Username: "alice", IsVerified: true, TokenVersion: 0}
router := newSettingsRouter(userRepo, token, version)
router := newSettingsRouter(t, userRepo, token, version)
cookie := mintGetCurrentUserCookie(t, token, 7, 0)
rec := sendGetCurrentUserRequest(router, http.MethodGet, "/v1/settings", cookie)
@@ -64,7 +64,7 @@ func TestSettingsHttp(t *testing.T) {
token := jwtauth.New("HS256", []byte("test-secret"), nil)
userRepo := newMockUserRepo()
userRepo.users[7] = user.User{ID: 7, Username: "alice", IsVerified: true, TokenVersion: 0}
router := newSettingsRouter(userRepo, token, "v2.2.0-beta")
router := newSettingsRouter(t, userRepo, token, "v2.2.0-beta")
cookie := mintGetCurrentUserCookie(t, token, 7, 0)
t.Setenv("ENVIRONMENT", "development")
@@ -80,7 +80,7 @@ func TestSettingsHttp(t *testing.T) {
t.Run("A request without a jwt cookie is refused", func(t *testing.T) {
token := jwtauth.New("HS256", []byte("test-secret"), nil)
router := newSettingsRouter(newMockUserRepo(), token, "v2.2.0-beta")
router := newSettingsRouter(t, newMockUserRepo(), token, "v2.2.0-beta")
rec := sendGetCurrentUserRequest(router, http.MethodGet, "/v1/settings", nil)
@@ -96,7 +96,7 @@ func TestSettingsHttp(t *testing.T) {
token := jwtauth.New("HS256", []byte("test-secret"), nil)
userRepo := newMockUserRepo()
userRepo.users[7] = user.User{ID: 7, Username: "alice", IsVerified: true, TokenVersion: 1}
router := newSettingsRouter(userRepo, token, "v2.2.0-beta")
router := newSettingsRouter(t, userRepo, token, "v2.2.0-beta")
cookie := mintGetCurrentUserCookie(t, token, 7, 0)
rec := sendGetCurrentUserRequest(router, http.MethodGet, "/v1/settings", cookie)
@@ -113,7 +113,7 @@ func TestSettingsHttp(t *testing.T) {
token := jwtauth.New("HS256", []byte("test-secret"), nil)
userRepo := newMockUserRepo()
userRepo.users[8] = user.User{ID: 8, Username: "bob", IsVerified: false, TokenVersion: 0}
router := newSettingsRouter(userRepo, token, "v2.2.0-beta")
router := newSettingsRouter(t, userRepo, token, "v2.2.0-beta")
cookie := mintGetCurrentUserCookie(t, token, 8, 0)
rec := sendGetCurrentUserRequest(router, http.MethodGet, "/v1/settings", cookie)