diff --git a/cmd/server/cfg_server.go b/cmd/server/cfg_server.go index 9c21c8d..01f1ede 100644 --- a/cmd/server/cfg_server.go +++ b/cmd/server/cfg_server.go @@ -87,7 +87,7 @@ func runE(cmd *cobra.Command, args []string) error { go func() { fmt.Println("pprof listening on :6060") - http.ListenAndServe("localhost:6060", nil) + _ = http.ListenAndServe("localhost:6060", nil) }() ctx, cancel := context.WithCancel(context.Background()) diff --git a/cmd/server/main.go b/cmd/server/main.go index 4467103..068527e 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -9,4 +9,3 @@ func main() { os.Exit(1) } } - diff --git a/internal/handlers/server/server_test.go b/internal/handlers/server/server_test.go index 0c7739a..55694c9 100644 --- a/internal/handlers/server/server_test.go +++ b/internal/handlers/server/server_test.go @@ -175,41 +175,41 @@ func TestGetMetric(t *testing.T) { } func TestGetAllMetrics(t *testing.T) { - opts := &srvCfg.Options{} - for _, opt := range []func(*srvCfg.Options){ - srvCfg.WithAddress("localhost:8080"), - srvCfg.WithStoreInterval(300), - srvCfg.WithFileStoragePath("/tmp/metrics-db.json"), - srvCfg.WithRestoreOnStart(true), - } { - opt(opts) - } - - ctx := context.Background() - storage := repo.NewMemStorage() - - if err := storage.UpdateMetric(ctx, models.GaugeType, "cpu_usage", 75.5); err != nil { - log.Error().Msgf("Failed to update metric cpu_usage: %v", err) - } - - if err := storage.UpdateMetric(ctx, models.CounterType, "requests_total", int64(100)); err != nil { - log.Error().Msgf("Failed to update metric requests_total: %v", err) - } - - metricUsecase := srvUsecase.NewMetricUsecase(storage, storage, storage) - router := router.NewRouter(server.NewServer(metricUsecase, nil), opts) - - t.Run("GetAllMetrics returned HTML metrics", func(t *testing.T) { - req := httptest.NewRequest(http.MethodGet, "/", nil) - rr := httptest.NewRecorder() - - router.ServeHTTP(rr, req) - - assert.Equal(t, http.StatusOK, rr.Code) - body, _ := io.ReadAll(rr.Body) - - assert.Contains(t, string(body), "cpu_usage") - assert.Contains(t, string(body), "requests_total") - assert.Contains(t, string(body), "") - }) + opts := &srvCfg.Options{} + for _, opt := range []func(*srvCfg.Options){ + srvCfg.WithAddress("localhost:8080"), + srvCfg.WithStoreInterval(300), + srvCfg.WithFileStoragePath("/tmp/metrics-db.json"), + srvCfg.WithRestoreOnStart(true), + } { + opt(opts) + } + + ctx := context.Background() + storage := repo.NewMemStorage() + + if err := storage.UpdateMetric(ctx, models.GaugeType, "cpu_usage", 75.5); err != nil { + log.Error().Msgf("Failed to update metric cpu_usage: %v", err) + } + + if err := storage.UpdateMetric(ctx, models.CounterType, "requests_total", int64(100)); err != nil { + log.Error().Msgf("Failed to update metric requests_total: %v", err) + } + + metricUsecase := srvUsecase.NewMetricUsecase(storage, storage, storage) + router := router.NewRouter(server.NewServer(metricUsecase, nil), opts) + + t.Run("GetAllMetrics returned HTML metrics", func(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/", nil) + rr := httptest.NewRecorder() + + router.ServeHTTP(rr, req) + + assert.Equal(t, http.StatusOK, rr.Code) + body, _ := io.ReadAll(rr.Body) + + assert.Contains(t, string(body), "cpu_usage") + assert.Contains(t, string(body), "requests_total") + assert.Contains(t, string(body), "") + }) } diff --git a/internal/models/counter.go b/internal/models/counter.go index 9b44a79..e9e39c5 100644 --- a/internal/models/counter.go +++ b/internal/models/counter.go @@ -32,4 +32,3 @@ func (c *counter) Update(mValue any) error { c.value += value return nil } - diff --git a/internal/models/gauge.go b/internal/models/gauge.go index 9733350..bbcc871 100644 --- a/internal/models/gauge.go +++ b/internal/models/gauge.go @@ -32,4 +32,3 @@ func (g *gauge) Update(mValue any) error { g.value = value return nil } - diff --git a/internal/models/metrics.go b/internal/models/metrics.go index e3adcca..9c5f22c 100644 --- a/internal/models/metrics.go +++ b/internal/models/metrics.go @@ -3,6 +3,7 @@ package models import ( "errors" ) + type Metric interface { Value() any Name() string diff --git a/internal/repository/postgres_test.go b/internal/repository/postgres_test.go index 996e0e5..8edd194 100644 --- a/internal/repository/postgres_test.go +++ b/internal/repository/postgres_test.go @@ -20,7 +20,9 @@ func TestDatabase_GetMetric(t *testing.T) { if err != nil { t.Fatalf("failed to create sqlmock: %v", err) } - defer db.Close() + defer func() { + _ = db.Close() + }() repo := &repo.Database{ DB: db, @@ -139,7 +141,9 @@ func TestDatabase_GetAllMetrics(t *testing.T) { if err != nil { t.Fatalf("failed to create sqlmock: %v", err) } - defer db.Close() + defer func() { + _ = db.Close() + }() repo := &repo.Database{ DB: db, @@ -214,7 +218,9 @@ func TestDatabase_UpdateMetric(t *testing.T) { if err != nil { t.Fatalf("failed to create sqlmock: %v", err) } - defer db.Close() + defer func() { + _ = db.Close() + }() repo := &repo.Database{ DB: db,