Corrected lint errors

master
oabrivard 1 month ago
parent bbc93bd46b
commit 955d8dadfe

@ -51,6 +51,7 @@ help:
@echo " make dev - Start core infrastructure (PostgreSQL, Redis)" @echo " make dev - Start core infrastructure (PostgreSQL, Redis)"
@echo " make dev-full - Start core infrastructure + observability" @echo " make dev-full - Start core infrastructure + observability"
@echo " make dev-auth - Start core infrastructure + Zitadel auth" @echo " make dev-auth - Start core infrastructure + Zitadel auth"
@echo " make dev-full-auth - Start core infrastructure + observability + Zitadel auth"
@echo " make dev-gateway - Start core infrastructure + gateway ingress (NGINX + gateway service)" @echo " make dev-gateway - Start core infrastructure + gateway ingress (NGINX + gateway service)"
@echo " make stop - Stop all containers" @echo " make stop - Stop all containers"
@echo " make clean - Stop containers and remove volumes" @echo " make clean - Stop containers and remove volumes"
@ -118,6 +119,13 @@ dev-auth: dev
@echo "Zitadel ready at http://localhost:$(ZITADEL_PORT)" @echo "Zitadel ready at http://localhost:$(ZITADEL_PORT)"
@echo "Admin credentials: $(ZITADEL_ADMIN_USERNAME) / $(ZITADEL_ADMIN_PASSWORD)" @echo "Admin credentials: $(ZITADEL_ADMIN_USERNAME) / $(ZITADEL_ADMIN_PASSWORD)"
dev-full-auth: dev-full
@echo "Starting authentication stack..."
@$(COMPOSE_CMD) --profile auth up -d
@echo ""
@echo "Zitadel ready at http://localhost:$(ZITADEL_PORT)"
@echo "Admin credentials: $(ZITADEL_ADMIN_USERNAME) / $(ZITADEL_ADMIN_PASSWORD)"
dev-gateway: dev dev-gateway: dev
@echo "Starting gateway ingress stack..." @echo "Starting gateway ingress stack..."
@$(COMPOSE_CMD) --profile gateway up -d gateway-service nginx @$(COMPOSE_CMD) --profile gateway up -d gateway-service nginx

@ -230,7 +230,8 @@ func (s *fakeStateStore) ReleaseLock(ctx context.Context, sessionID string) {
delete(s.locks, sessionID) delete(s.locks, sessionID)
} }
// TestStartSessionCreatesActiveSessionAndFirstQuestion ensures start session creates active session and first question behavior is handled correctly. // TestStartSessionCreatesActiveSessionAndFirstQuestion ensures start session creates
// active session and first question behavior is handled correctly.
func TestStartSessionCreatesActiveSessionAndFirstQuestion(t *testing.T) { func TestStartSessionCreatesActiveSessionAndFirstQuestion(t *testing.T) {
svc := NewService( svc := NewService(
newFakeRepo(), newFakeRepo(),
@ -370,7 +371,8 @@ func TestSubmitAnswerTimeoutTransition(t *testing.T) {
} }
} }
// TestSubmitAnswerAdvancesAfterMaxAttempts ensures submit answer advances after max attempts behavior is handled correctly. // TestSubmitAnswerAdvancesAfterMaxAttempts ensures submit answer advances after max
// attempts behavior is handled correctly.
func TestSubmitAnswerAdvancesAfterMaxAttempts(t *testing.T) { func TestSubmitAnswerAdvancesAfterMaxAttempts(t *testing.T) {
svc := NewService( svc := NewService(
newFakeRepo(), newFakeRepo(),

@ -143,7 +143,8 @@ func TestSecurityHeadersNoHSTSOnHTTP(t *testing.T) {
} }
} }
// TestRequestContextMiddlewareAndRequestID ensures request context middleware and request id behavior is handled correctly. // TestRequestContextMiddlewareAndRequestID ensures request context middleware and
// request id behavior is handled correctly.
func TestRequestContextMiddlewareAndRequestID(t *testing.T) { func TestRequestContextMiddlewareAndRequestID(t *testing.T) {
app := fiber.New() app := fiber.New()
app.Use(RequestContext(nil)) app.Use(RequestContext(nil))
@ -179,7 +180,8 @@ func TestRequestContextMiddlewareAndRequestID(t *testing.T) {
} }
} }
// TestRequestContextWithLoggerAndInvalidRequestIDLocal ensures request context with logger and invalid request id local behavior is handled correctly. // TestRequestContextWithLoggerAndInvalidRequestIDLocal ensures request context with
// logger and invalid request id local behavior is handled correctly.
func TestRequestContextWithLoggerAndInvalidRequestIDLocal(t *testing.T) { func TestRequestContextWithLoggerAndInvalidRequestIDLocal(t *testing.T) {
logger := logging.NewLogger(logging.DefaultConfig()) logger := logging.NewLogger(logging.DefaultConfig())
app := fiber.New() app := fiber.New()
@ -203,7 +205,8 @@ func TestRequestContextWithLoggerAndInvalidRequestIDLocal(t *testing.T) {
} }
} }
// TestRateLimitMiddlewareDegradedModeAndHelpers ensures rate limit middleware degraded mode and helpers behavior is handled correctly. // TestRateLimitMiddlewareDegradedModeAndHelpers ensures rate limit middleware degraded
// mode and helpers behavior is handled correctly.
func TestRateLimitMiddlewareDegradedModeAndHelpers(t *testing.T) { func TestRateLimitMiddlewareDegradedModeAndHelpers(t *testing.T) {
app := fiber.New() app := fiber.New()
mw := RateLimitMiddleware(nil, gconfig.RateLimitConfig{ mw := RateLimitMiddleware(nil, gconfig.RateLimitConfig{
@ -305,7 +308,8 @@ func TestRateLimitMiddlewareDegradedModeAndHelpers(t *testing.T) {
} }
} }
// TestRateLimitMiddlewareRedisAllowedAndBlocked ensures rate limit middleware redis allowed and blocked behavior is handled correctly. // TestRateLimitMiddlewareRedisAllowedAndBlocked ensures rate limit middleware redis
// allowed and blocked behavior is handled correctly.
func TestRateLimitMiddlewareRedisAllowedAndBlocked(t *testing.T) { func TestRateLimitMiddlewareRedisAllowedAndBlocked(t *testing.T) {
mr, err := miniredis.Run() mr, err := miniredis.Run()
if err != nil { if err != nil {
@ -358,7 +362,8 @@ func TestRateLimitMiddlewareRedisAllowedAndBlocked(t *testing.T) {
} }
} }
// TestRateLimitMiddlewareRedisErrorDegrades ensures rate limit middleware redis error degrades behavior is handled correctly. // TestRateLimitMiddlewareRedisErrorDegrades ensures rate limit middleware redis error
// degrades behavior is handled correctly.
func TestRateLimitMiddlewareRedisErrorDegrades(t *testing.T) { func TestRateLimitMiddlewareRedisErrorDegrades(t *testing.T) {
// Use a client pointing to an unreachable endpoint to force script.Run error. // Use a client pointing to an unreachable endpoint to force script.Run error.
client := redisv9.NewClient(&redisv9.Options{Addr: "127.0.0.1:1"}) client := redisv9.NewClient(&redisv9.Options{Addr: "127.0.0.1:1"})

@ -21,7 +21,8 @@ import (
"knowfoolery/backend/shared/infra/auth/zitadel" "knowfoolery/backend/shared/infra/auth/zitadel"
) )
// TestGateway_PublicRoute_ProxiesAndRewritesPath ensures gateway public route proxies and rewrites path behavior is handled correctly. // TestGateway_PublicRoute_ProxiesAndRewritesPath ensures gateway public route proxies
// and rewrites path behavior is handled correctly.
func TestGateway_PublicRoute_ProxiesAndRewritesPath(t *testing.T) { func TestGateway_PublicRoute_ProxiesAndRewritesPath(t *testing.T) {
t.Parallel() t.Parallel()
@ -67,7 +68,8 @@ func TestGateway_ProtectedRoute_RequiresAuth(t *testing.T) {
require.Equal(t, http.StatusUnauthorized, res.StatusCode) require.Equal(t, http.StatusUnauthorized, res.StatusCode)
} }
// TestGateway_ProtectedRoute_ForwardsUserHeaders ensures gateway protected route forwards user headers behavior is handled correctly. // TestGateway_ProtectedRoute_ForwardsUserHeaders ensures gateway protected route
// forwards user headers behavior is handled correctly.
func TestGateway_ProtectedRoute_ForwardsUserHeaders(t *testing.T) { func TestGateway_ProtectedRoute_ForwardsUserHeaders(t *testing.T) {
t.Parallel() t.Parallel()

@ -201,7 +201,8 @@ func TestValidateAnswerByQuestionID(t *testing.T) {
} }
} }
// TestValidateAnswerByQuestionID_ValidationError ensures validate answer by question id validation error behavior is handled correctly. // TestValidateAnswerByQuestionID_ValidationError ensures validate answer by question id
// validation error behavior is handled correctly.
func TestValidateAnswerByQuestionID_ValidationError(t *testing.T) { func TestValidateAnswerByQuestionID_ValidationError(t *testing.T) {
repo := &fakeRepo{items: []*domain.Question{ repo := &fakeRepo{items: []*domain.Question{
{ {

@ -119,7 +119,8 @@ func TestConfigFromEnvInvalidSampleRate(t *testing.T) {
require.Equal(t, DefaultConfig().SampleRate, cfg.SampleRate) require.Equal(t, DefaultConfig().SampleRate, cfg.SampleRate)
} }
// TestConfigFromEnvLegacyEndpointFallback ensures config from env legacy endpoint fallback behavior is handled correctly. // TestConfigFromEnvLegacyEndpointFallback ensures config from env legacy endpoint
// fallback behavior is handled correctly.
func TestConfigFromEnvLegacyEndpointFallback(t *testing.T) { func TestConfigFromEnvLegacyEndpointFallback(t *testing.T) {
t.Setenv("TRACING_OTLP_ENDPOINT", "") t.Setenv("TRACING_OTLP_ENDPOINT", "")
t.Setenv("TRACING_JAEGER_ENDPOINT", "http://legacy:14268/api/traces") t.Setenv("TRACING_JAEGER_ENDPOINT", "http://legacy:14268/api/traces")

@ -29,7 +29,8 @@ func TestValidator_CustomTags(t *testing.T) {
require.Error(t, v.ValidateVar("A", "player_name")) require.Error(t, v.ValidateVar("A", "player_name"))
} }
// TestValidator_ValidateReturnsDomainError ensures validator validate returns domain error behavior is handled correctly. // TestValidator_ValidateReturnsDomainError ensures validator validate returns domain
// error behavior is handled correctly.
func TestValidator_ValidateReturnsDomainError(t *testing.T) { func TestValidator_ValidateReturnsDomainError(t *testing.T) {
v := NewValidator() v := NewValidator()
err := v.Validate(sampleStruct{}) err := v.Validate(sampleStruct{})
@ -41,7 +42,8 @@ func TestValidator_ValidateReturnsDomainError(t *testing.T) {
require.True(t, strings.Contains(domainErr.Message, "name is required")) require.True(t, strings.Contains(domainErr.Message, "name is required"))
} }
// TestValidator_ValidateVarReturnsDomainError ensures validator validate var returns domain error behavior is handled correctly. // TestValidator_ValidateVarReturnsDomainError ensures validator validate var returns
// domain error behavior is handled correctly.
func TestValidator_ValidateVarReturnsDomainError(t *testing.T) { func TestValidator_ValidateVarReturnsDomainError(t *testing.T) {
v := NewValidator() v := NewValidator()
err := v.ValidateVar("bad", "email") err := v.ValidateVar("bad", "email")

@ -1 +1 @@
{"version":"1.6.1","results":[[":src/hooks/useTimer.test.ts",{"duration":3,"failed":false}],[":src/services/session.test.ts",{"duration":3,"failed":false}],[":src/services/adminQuestions.test.ts",{"duration":2,"failed":false}],[":src/routes/Home.test.tsx",{"duration":97,"failed":false}],[":src/components/AppShell.test.tsx",{"duration":45,"failed":false}],[":src/routes/Profile.test.tsx",{"duration":118,"failed":false}],[":src/hooks/useAuth.test.ts",{"duration":2,"failed":false}],[":src/services/validation.test.ts",{"duration":2,"failed":false}],[":src/routes/Results.test.tsx",{"duration":31,"failed":false}],[":src/routes/Game.test.tsx",{"duration":92,"failed":false}],[":src/routes/AdminQuestions.test.tsx",{"duration":112,"failed":false}],[":src/routes/Leaderboard.test.tsx",{"duration":94,"failed":false}],[":src/services/api.test.ts",{"duration":3,"failed":false}]]} {"version":"1.6.1","results":[[":src/hooks/useAuth.test.ts",{"duration":2,"failed":false}],[":src/services/session.test.ts",{"duration":4,"failed":false}],[":src/services/adminQuestions.test.ts",{"duration":1,"failed":false}],[":src/hooks/useTimer.test.ts",{"duration":3,"failed":false}],[":src/services/validation.test.ts",{"duration":2,"failed":false}],[":src/services/api.test.ts",{"duration":2,"failed":false}],[":src/routes/Home.test.tsx",{"duration":96,"failed":false}],[":src/routes/Profile.test.tsx",{"duration":111,"failed":false}],[":src/components/AppShell.test.tsx",{"duration":42,"failed":false}],[":src/routes/AdminQuestions.test.tsx",{"duration":113,"failed":false}],[":src/routes/Leaderboard.test.tsx",{"duration":89,"failed":false}],[":src/routes/Results.test.tsx",{"duration":31,"failed":false}],[":src/routes/Game.test.tsx",{"duration":98,"failed":false}]]}

@ -1 +1 @@
{"version":"1.6.1","results":[[":src/components/ResultsCard.test.tsx",{"duration":63,"failed":false}],[":src/components/LeaderboardTable.test.tsx",{"duration":28,"failed":false}],[":src/components/Timer.test.tsx",{"duration":25,"failed":false}],[":src/components/GameCard.test.tsx",{"duration":33,"failed":false}],[":src/components/HintButton.test.tsx",{"duration":83,"failed":false}],[":src/utils/timer.test.ts",{"duration":2,"failed":false}],[":src/components/AttemptIndicator.test.tsx",{"duration":21,"failed":false}],[":src/components/ThemeBadge.test.tsx",{"duration":18,"failed":false}],[":src/components/ScoreDisplay.test.tsx",{"duration":17,"failed":false}],[":src/components/AnswerInput.test.tsx",{"duration":34,"failed":false}]]} {"version":"1.6.1","results":[[":src/utils/timer.test.ts",{"duration":1,"failed":false}],[":src/components/AttemptIndicator.test.tsx",{"duration":22,"failed":false}],[":src/components/ResultsCard.test.tsx",{"duration":64,"failed":false}],[":src/components/ThemeBadge.test.tsx",{"duration":19,"failed":false}],[":src/components/ScoreDisplay.test.tsx",{"duration":19,"failed":false}],[":src/components/Timer.test.tsx",{"duration":28,"failed":false}],[":src/components/GameCard.test.tsx",{"duration":34,"failed":false}],[":src/components/LeaderboardTable.test.tsx",{"duration":30,"failed":false}],[":src/components/AnswerInput.test.tsx",{"duration":38,"failed":false}],[":src/components/HintButton.test.tsx",{"duration":74,"failed":false}]]}
Loading…
Cancel
Save