From e0ec2226d1405a62cc7e026a5a33d760e8d6f8b9 Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Fri, 15 May 2026 10:43:44 +0300 Subject: [PATCH 1/7] PMM-7 Fix Makefile.devcontainer usage --- Makefile | 10 +++++----- Makefile.devcontainer | 8 ++++---- docker-compose.dev.yml | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 3f1098530c2..02a452d3304 100644 --- a/Makefile +++ b/Makefile @@ -9,15 +9,15 @@ endif env-up: ## Start devcontainer COMPOSE_PROFILES=$(PROFILES) \ - docker compose up -d --wait --wait-timeout 100 + docker compose -f ./docker-compose.dev.yml up -d --wait --wait-timeout 100 env-up-rebuild: env-update-image ## Rebuild and start devcontainer. Useful for custom $PMM_SERVER_IMAGE COMPOSE_PROFILES=$(PROFILES) \ - docker compose up --build -d + docker compose -f ./docker-compose.dev.yml up --build -d env-update-image: ## Pull latest dev image COMPOSE_PROFILES=$(PROFILES) \ - docker compose pull + docker compose -f ./docker-compose.dev.yml pull env-compose-up: env-update-image COMPOSE_PROFILES=$(PROFILES) \ @@ -28,11 +28,11 @@ env-devcontainer: env-down: ## Stop devcontainer COMPOSE_PROFILES=$(PROFILES) \ - docker compose down --remove-orphans + docker compose -f ./docker-compose.dev.yml down --remove-orphans env-remove: COMPOSE_PROFILES=$(PROFILES) \ - docker compose down --volumes --remove-orphans + docker compose -f ./docker-compose.dev.yml down --volumes --remove-orphans TARGET ?= _bash diff --git a/Makefile.devcontainer b/Makefile.devcontainer index 3c4d84645ec..f059e92a857 100644 --- a/Makefile.devcontainer +++ b/Makefile.devcontainer @@ -23,7 +23,7 @@ PMM_RELEASE_PATH ?= ./bin run-managed-ci: release-dev-managed ## Replace pmm-managed from build, restart (used in CI) supervisorctl stop pmm-managed supervisorctl stop pmm-managed truncate -s 0 /srv/logs/pmm-managed.log - cp $(PMM_RELEASE_PATH)/pmm-managed /usr/sbin/pmm-managed + install -m 755 $(PMM_RELEASE_PATH)/pmm-managed /usr/sbin/ supervisorctl start pmm-managed run-managed: run-managed-ci ## Replace pmm-managed from build, restart and tail logs @@ -32,7 +32,7 @@ run-managed: run-managed-ci ## Replace pmm-managed from build, restart and run-agent-ci: release-dev-agent ## Replace pmm-agent from build and restart (used in CI) supervisorctl stop pmm-agent truncate -s 0 /srv/logs/pmm-agent.log - cp $(PMM_RELEASE_PATH)/pmm-agent /usr/sbin/pmm-agent + install -m 755 $(PMM_RELEASE_PATH)/pmm-agent /usr/sbin/ supervisorctl start pmm-agent run-agent: run-agent-ci ## Replace pmm-agent from build, restart and tail logs @@ -41,7 +41,7 @@ run-agent: run-agent-ci ## Replace pmm-agent from build, restart and tail log run-vmproxy-ci: release-vmproxy ## Replace vmproxy from build and restart (used in CI) supervisorctl stop vmproxy truncate -s 0 /srv/logs/vmproxy.log - cp $(PMM_RELEASE_PATH)/vmproxy /usr/sbin/vmproxy + install -m 755 $(PMM_RELEASE_PATH)/vmproxy /usr/sbin/ supervisorctl start vmproxy run-vmproxy: run-vmproxy-ci ## Replace vmproxy from build, restart and tail logs @@ -49,7 +49,7 @@ run-vmproxy: run-vmproxy-ci ## Replace vmproxy from build, restart and tail lo run-qan-ci: release-qan ## Replace qan-api2 from build and restart (used in CI) supervisorctl stop qan-api2 - cp $(PMM_RELEASE_PATH)/qan-api2 /usr/sbin/percona-qan-api2 + install -m 755 $(PMM_RELEASE_PATH)/qan-api2 /usr/sbin/percona-qan-api2 truncate -s 0 /srv/logs/qan-api2.log supervisorctl start qan-api2 diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 03aadb2fd38..94c52a6e390 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -32,6 +32,7 @@ services: - ${PMM_PORT_CH_HTTP:-8123}:8123 volumes: - ./:/root/go/src/github.com/percona/pmm + - ./Makefile.devcontainer:/root/go/src/github.com/percona/pmm/Makefile:ro - ./managed/testdata/updater/:/home/pmm/.config/systemd/user/ # clickhouse config for backup/restore - ./dev/clickhouse-config.xml:/etc/clickhouse-server/config.xml:ro From 9161af85912874e5b4ee8180a1d676d910a94e8c Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Fri, 15 May 2026 17:13:47 +0300 Subject: [PATCH 2/7] PMM-7 Fix testifylint linter warnings --- .../internal/collector/collector_test.go | 2 +- .../profiler/internal/profiler_test.go | 2 +- .../service_info_broker_test.go | 2 +- agent/versioner/versioner_test.go | 2 +- managed/models/artifact_helpers_test.go | 4 +-- managed/models/check_settings_helper_test.go | 4 +-- managed/models/database_test.go | 5 +-- managed/models/location_helpers_test.go | 5 ++- managed/models/role_helpers_test.go | 3 +- managed/models/service_helpers_test.go | 32 +++++++++---------- managed/models/template_helpers_test.go | 2 +- .../backup/compatibility_service_test.go | 2 +- managed/services/inventory/services_test.go | 10 +++--- .../services/management/accesscontrol_test.go | 4 +-- managed/services/management/node_test.go | 2 +- managed/services/management/rds_test.go | 4 +-- managed/utils/envvars/parser_test.go | 4 +-- qan-api2/models/reporter_test.go | 2 +- 18 files changed, 45 insertions(+), 46 deletions(-) diff --git a/agent/agents/mongodb/profiler/internal/collector/collector_test.go b/agent/agents/mongodb/profiler/internal/collector/collector_test.go index 35d9c63675a..dee034baaec 100644 --- a/agent/agents/mongodb/profiler/internal/collector/collector_test.go +++ b/agent/agents/mongodb/profiler/internal/collector/collector_test.go @@ -168,7 +168,7 @@ func TestCollector(t *testing.T) { wg.Wait() ctr.Stop() - assert.Equal(t, maxDocs*maxLoops, len(profiles)) + assert.Len(t, profiles, maxDocs*maxLoops) } func genData(ctx context.Context, client *mongo.Client, maxLoops, maxDocs int) { diff --git a/agent/agents/mongodb/profiler/internal/profiler_test.go b/agent/agents/mongodb/profiler/internal/profiler_test.go index ef5009019e5..b9d35a95e15 100644 --- a/agent/agents/mongodb/profiler/internal/profiler_test.go +++ b/agent/agents/mongodb/profiler/internal/profiler_test.go @@ -163,7 +163,7 @@ func testProfiler(t *testing.T, url string) { responseLength := float32(45) - assert.Equal(t, dbsCount, len(bucketsMap)) // 300 sample docs / 10 = different database names + assert.Len(t, bucketsMap, dbsCount) // 300 sample docs / 10 = different database names var buckets []*agentv1.MetricsBucket for _, bucket := range bucketsMap { buckets = append(buckets, bucket) diff --git a/agent/serviceinfobroker/service_info_broker_test.go b/agent/serviceinfobroker/service_info_broker_test.go index 4c7219b90d1..fc75fb70eaa 100644 --- a/agent/serviceinfobroker/service_info_broker_test.go +++ b/agent/serviceinfobroker/service_info_broker_test.go @@ -222,7 +222,7 @@ func TestServiceInfoBroker(t *testing.T) { }, 0) require.NotNil(t, resp) assert.Equal(t, []string{"postgres", "pmm-agent"}, resp.DatabaseList) - assert.Equal(t, "", *resp.PgsmVersion) + assert.Empty(t, *resp.PgsmVersion) }) } diff --git a/agent/versioner/versioner_test.go b/agent/versioner/versioner_test.go index b650bdb7749..3dbd7413a21 100644 --- a/agent/versioner/versioner_test.go +++ b/agent/versioner/versioner_test.go @@ -40,7 +40,7 @@ func TestVersioner(t *testing.T) { version, err := versioner.MySQLdVersion() assert.True(t, errors.Is(err, ErrNotFound)) - assert.Equal(t, "", version) + assert.Empty(t, version) }) // mysql software diff --git a/managed/models/artifact_helpers_test.go b/managed/models/artifact_helpers_test.go index a51bd6fcc39..35daf24d65c 100644 --- a/managed/models/artifact_helpers_test.go +++ b/managed/models/artifact_helpers_test.go @@ -284,11 +284,11 @@ func TestArtifacts(t *testing.T) { err = a.MetadataRemoveFirstN(q, 0) require.NoError(t, err) - assert.Equal(t, 4, len(a.MetadataList)) + assert.Len(t, a.MetadataList, 4) err = a.MetadataRemoveFirstN(q, 3) require.NoError(t, err) - assert.Equal(t, 1, len(a.MetadataList)) + assert.Len(t, a.MetadataList, 1) err = a.MetadataRemoveFirstN(q, 10) require.NoError(t, err) diff --git a/managed/models/check_settings_helper_test.go b/managed/models/check_settings_helper_test.go index b64de25bd15..40812756701 100644 --- a/managed/models/check_settings_helper_test.go +++ b/managed/models/check_settings_helper_test.go @@ -105,7 +105,7 @@ func TestChecksSettings(t *testing.T) { //nolint:tparallel actual, err := models.FindCheckSettings(q) require.NoError(t, err) assert.Len(t, actual, 2) - assert.Equal(t, actual["check1"], models.Standard) - assert.Equal(t, actual["check2"], models.Standard) + assert.Equal(t, models.Standard, actual["check1"]) + assert.Equal(t, models.Standard, actual["check2"]) }) } diff --git a/managed/models/database_test.go b/managed/models/database_test.go index 275e572eb94..840c1354c0f 100644 --- a/managed/models/database_test.go +++ b/managed/models/database_test.go @@ -22,6 +22,7 @@ import ( "testing" "github.com/lib/pq" + "github.com/lib/pq/pqerror" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -36,7 +37,7 @@ func assertUniqueViolation(t *testing.T, err error, constraint string) { require.IsType(t, &pq.Error{}, err) pgErr := err.(*pq.Error) //nolint:errorlint - assert.EqualValues(t, pq.ErrorCode("23505"), pgErr.Code) + assert.Equal(t, pqerror.Code("23505"), pgErr.Code) assert.Equal(t, fmt.Sprintf(`duplicate key value violates unique constraint %q`, constraint), pgErr.Message) } @@ -45,7 +46,7 @@ func assertCheckViolation(t *testing.T, err error, table, constraint string) { / require.IsType(t, &pq.Error{}, err) pgErr := err.(*pq.Error) //nolint:errorlint - assert.EqualValues(t, pq.ErrorCode("23514"), pgErr.Code) + assert.Equal(t, pqerror.Code("23514"), pgErr.Code) assert.Equal(t, fmt.Sprintf(`new row for relation %q violates check constraint %q`, table, constraint), pgErr.Message) } diff --git a/managed/models/location_helpers_test.go b/managed/models/location_helpers_test.go index cdcf30242a8..d1ad445c6bf 100644 --- a/managed/models/location_helpers_test.go +++ b/managed/models/location_helpers_test.go @@ -16,7 +16,6 @@ package models_test import ( - "errors" "fmt" "net/url" "testing" @@ -336,10 +335,10 @@ func TestBackupLocations(t *testing.T) { require.NoError(t, err) _, err = models.FindArtifactByID(q, artifact.ID) - require.True(t, errors.Is(err, models.ErrNotFound)) + require.ErrorIs(t, err, models.ErrNotFound) _, err = models.FindRestoreHistoryItemByID(q, rhi.ID) - require.True(t, errors.Is(err, models.ErrNotFound)) + require.ErrorIs(t, err, models.ErrNotFound) locations, err := models.FindBackupLocations(q) require.NoError(t, err) diff --git a/managed/models/role_helpers_test.go b/managed/models/role_helpers_test.go index a78741e8e4b..fd2f027daa7 100644 --- a/managed/models/role_helpers_test.go +++ b/managed/models/role_helpers_test.go @@ -16,7 +16,6 @@ package models_test import ( - "errors" "testing" "github.com/stretchr/testify/require" @@ -82,7 +81,7 @@ func TestRoleHelpers(t *testing.T) { defer teardown(t) err := models.AssignRoles(tx, userID, []int{0}) - require.True(t, errors.Is(err, models.ErrRoleNotFound)) + require.ErrorIs(t, err, models.ErrRoleNotFound) }) //nolint:paralleltest diff --git a/managed/models/service_helpers_test.go b/managed/models/service_helpers_test.go index 78913a7832b..f461292c93b 100644 --- a/managed/models/service_helpers_test.go +++ b/managed/models/service_helpers_test.go @@ -166,7 +166,7 @@ func TestServiceHelpers(t *testing.T) { services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N1"}) assert.NoError(t, err) assert.Len(t, services, 4) - assert.Equal(t, services, []*models.Service{{ + assert.Equal(t, []*models.Service{{ ServiceID: "S1", ServiceType: models.MongoDBServiceType, ServiceName: "Service without Agents", @@ -202,12 +202,12 @@ func TestServiceHelpers(t *testing.T) { Port: pointer.ToUint16OrNil(6032), CreatedAt: now, UpdatedAt: now, - }}) + }}, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N1", ServiceType: new(models.MySQLServiceType)}) assert.NoError(t, err) assert.Len(t, services, 1) - assert.Equal(t, services, []*models.Service{{ + assert.Equal(t, []*models.Service{{ ServiceID: "S2", ServiceType: models.MySQLServiceType, ServiceName: "Service with Agents", @@ -216,12 +216,12 @@ func TestServiceHelpers(t *testing.T) { Port: pointer.ToUint16OrNil(3306), CreatedAt: now, UpdatedAt: now, - }}) + }}, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N2", ServiceType: new(models.ExternalServiceType)}) assert.NoError(t, err) assert.Len(t, services, 2) - assert.Equal(t, services, []*models.Service{ + assert.Equal(t, []*models.Service{ { ServiceID: "S4", ServiceType: models.ExternalServiceType, @@ -242,12 +242,12 @@ func TestServiceHelpers(t *testing.T) { CreatedAt: now, UpdatedAt: now, }, - }) + }, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N2", ServiceType: new(models.ProxySQLServiceType)}) assert.NoError(t, err) assert.Len(t, services, 1) - assert.Equal(t, services, []*models.Service{{ + assert.Equal(t, []*models.Service{{ ServiceID: "S6", ServiceType: models.ProxySQLServiceType, ServiceName: "Sixth service", @@ -255,12 +255,12 @@ func TestServiceHelpers(t *testing.T) { NodeID: "N2", CreatedAt: now, UpdatedAt: now, - }}) + }}, services) services, err = models.FindServices(q, models.ServiceFilters{ExternalGroup: "redis"}) assert.NoError(t, err) assert.Len(t, services, 1) - assert.Equal(t, services, []*models.Service{{ + assert.Equal(t, []*models.Service{{ ServiceID: "S7", ServiceType: models.ExternalServiceType, ServiceName: "Seventh service", @@ -270,19 +270,19 @@ func TestServiceHelpers(t *testing.T) { ExternalGroup: "redis", CreatedAt: now, UpdatedAt: now, - }}) + }}, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N2", ServiceType: new(models.HAProxyServiceType)}) assert.NoError(t, err) assert.Len(t, services, 1) - assert.Equal(t, services, []*models.Service{{ + assert.Equal(t, []*models.Service{{ ServiceID: "S8", ServiceType: models.HAProxyServiceType, ServiceName: "Eighth service", NodeID: "N2", CreatedAt: now, UpdatedAt: now, - }}) + }}, services) }) t.Run("FindActiveServiceTypes", func(t *testing.T) { @@ -483,10 +483,10 @@ func TestServiceHelpers(t *testing.T) { ns, err := models.FindServiceByID(q, s.ServiceID) require.NoError(t, err) - assert.Equal(t, ns.Cluster, "cluster") - assert.Equal(t, ns.Environment, "env") - assert.Equal(t, ns.ReplicationSet, "rs") - assert.Equal(t, ns.ExternalGroup, "external") + assert.Equal(t, "cluster", ns.Cluster) + assert.Equal(t, "env", ns.Environment) + assert.Equal(t, "rs", ns.ReplicationSet) + assert.Equal(t, "external", ns.ExternalGroup) }) t.Run("Software versions record created when adding a service", func(t *testing.T) { diff --git a/managed/models/template_helpers_test.go b/managed/models/template_helpers_test.go index 26be98f6ba5..14404deab9b 100644 --- a/managed/models/template_helpers_test.go +++ b/managed/models/template_helpers_test.go @@ -199,7 +199,7 @@ func TestRuleTemplates(t *testing.T) { assert.Equal(t, created.Summary, actual.Summary) assert.Equal(t, created.Expr, actual.Expr) assert.Equal(t, created.Params, actual.Params) - assert.EqualValues(t, created.For, actual.For) + assert.Equal(t, created.For, actual.For) assert.Equal(t, created.Severity, actual.Severity) assert.Equal(t, created.Labels, actual.Labels) assert.Empty(t, actual.Annotations) diff --git a/managed/services/backup/compatibility_service_test.go b/managed/services/backup/compatibility_service_test.go index c3dc6dbcf6d..56284c97f29 100644 --- a/managed/services/backup/compatibility_service_test.go +++ b/managed/services/backup/compatibility_service_test.go @@ -197,7 +197,7 @@ func TestCheckCompatibility(t *testing.T) { dbVersion, err := cSvc.checkCompatibility(&models.Service{ServiceType: tc.serviceType}, &agentModel) if tc.expectedError != nil { assert.ErrorIs(t, err, tc.expectedError) - assert.Equal(t, "", dbVersion) + assert.Empty(t, dbVersion) } else { assert.NoError(t, err) assert.Equal(t, tc.versions[0].Version, dbVersion) diff --git a/managed/services/inventory/services_test.go b/managed/services/inventory/services_test.go index ed2fcdf619c..ded0854ad58 100644 --- a/managed/services/inventory/services_test.go +++ b/managed/services/inventory/services_test.go @@ -969,8 +969,8 @@ func TestServices(t *testing.T) { labels, err := service.GetCustomLabels() assert.NoError(t, err) assert.Len(t, labels, 2) - assert.Equal(t, labels["newKey"], "newValue") - assert.Equal(t, labels["newKey2"], "newValue2") + assert.Equal(t, "newValue", labels["newKey"]) + assert.Equal(t, "newValue2", labels["newKey2"]) }) t.Run("Replace a label", func(t *testing.T) { @@ -1013,8 +1013,8 @@ func TestServices(t *testing.T) { labels, err := service.GetCustomLabels() assert.NoError(t, err) assert.Len(t, labels, 2) - assert.Equal(t, labels["newKey"], "newValue") - assert.Equal(t, labels["newKey2"], "newValue-replaced") + assert.Equal(t, "newValue", labels["newKey"]) + assert.Equal(t, "newValue-replaced", labels["newKey2"]) }) }) @@ -1064,7 +1064,7 @@ func TestServices(t *testing.T) { labels, err := service.GetCustomLabels() assert.NoError(t, err) assert.Len(t, labels, 1) - assert.Equal(t, labels["newKey3"], "newValue3") + assert.Equal(t, "newValue3", labels["newKey3"]) }) }) } diff --git a/managed/services/management/accesscontrol_test.go b/managed/services/management/accesscontrol_test.go index 2ea85cfd56c..1f006a41240 100644 --- a/managed/services/management/accesscontrol_test.go +++ b/managed/services/management/accesscontrol_test.go @@ -123,7 +123,7 @@ func TestAccessControlService(t *testing.T) { roles, err := s.ListRoles(ctx, &rolev1beta1.ListRolesRequest{}) require.NoError(t, err) assert.Len(t, roles.Roles, 1) - assert.Equal(t, roles.Roles[0].Title, "Role A") + assert.Equal(t, "Role A", roles.Roles[0].Title) }) t.Run("Shall return not found", func(t *testing.T) { @@ -145,7 +145,7 @@ func TestAccessControlService(t *testing.T) { res, err := s.GetRole(ctx, &rolev1beta1.GetRoleRequest{RoleId: roleID}) require.NoError(t, err) - assert.Equal(t, res.Title, "Role B") + assert.Equal(t, "Role B", res.Title) }) t.Run("Shall return not found", func(t *testing.T) { diff --git a/managed/services/management/node_test.go b/managed/services/management/node_test.go index c0a25e2024e..ec16cf438ea 100644 --- a/managed/services/management/node_test.go +++ b/managed/services/management/node_test.go @@ -226,7 +226,7 @@ func TestNodeService(t *testing.T) { Force: true, }) assert.NoError(t, err) - assert.Equal(t, "", res.Warning) + assert.Empty(t, res.Warning) }) }) diff --git a/managed/services/management/rds_test.go b/managed/services/management/rds_test.go index ce070c471be..2b76a26a7b9 100644 --- a/managed/services/management/rds_test.go +++ b/managed/services/management/rds_test.go @@ -164,7 +164,7 @@ func TestRDSService(t *testing.T) { }) require.NoError(t, err) - assert.Equal(t, 4, len(instances.RdsInstances), "Should have four instances") + assert.Len(t, instances.RdsInstances, 4, "Should have four instances") assert.Equal(t, []*managementv1.DiscoverRDSInstance{ { Region: "us-east-1", @@ -240,7 +240,7 @@ func TestRDSService(t *testing.T) { instances, err := discoverRDSRegion(ctx, cfg, tt.region) require.NoError(t, err) - require.Equal(t, len(tt.instances), len(instances), "Should have two instances") + require.Len(t, instances, len(tt.instances), "Should have two instances") // we compare instances this way because there are too much fields that we don't need to compare. for i, instance := range tt.instances { assert.Equal(t, instance.az, pointer.GetString(instances[i].AvailabilityZone)) diff --git a/managed/utils/envvars/parser_test.go b/managed/utils/envvars/parser_test.go index 0041b9dd930..24f5ae4c142 100644 --- a/managed/utils/envvars/parser_test.go +++ b/managed/utils/envvars/parser_test.go @@ -219,7 +219,7 @@ func TestEnvVarValidator(t *testing.T) { expectedEnvVars := &models.ChangeSettingsParams{} gotEnvVars, gotErrs, gotWarns := ParseEnvVars(envs) - assert.Equal(t, gotEnvVars, expectedEnvVars) + assert.Equal(t, expectedEnvVars, gotEnvVars) assert.Nil(t, gotErrs) assert.Nil(t, gotWarns) }) @@ -240,7 +240,7 @@ func TestEnvVarValidator(t *testing.T) { expectedEnvVars := &models.ChangeSettingsParams{} gotEnvVars, gotErrs, gotWarns := ParseEnvVars(envs) - assert.Equal(t, gotEnvVars, expectedEnvVars) + assert.Equal(t, expectedEnvVars, gotEnvVars) assert.Nil(t, gotErrs) assert.Nil(t, gotWarns) }) diff --git a/qan-api2/models/reporter_test.go b/qan-api2/models/reporter_test.go index 85ea9dde9a4..6e422ab3ddb 100644 --- a/qan-api2/models/reporter_test.go +++ b/qan-api2/models/reporter_test.go @@ -150,7 +150,7 @@ func TestHeadersToLbacFilter(t *testing.T) { ctx := setup(t, `["{custom_label=\"value\",service_type=\"mysql\"}"]`) filter, err := headersToLbacFilter(ctx) require.NoError(t, err) - require.Equal(t, filter, "((hasAny(labels.key, ['custom_label']) AND hasAny(labels.value, ['value'])) AND service_type = 'mysql')") + require.Equal(t, "((hasAny(labels.key, ['custom_label']) AND hasAny(labels.value, ['value'])) AND service_type = 'mysql')", filter) }) } From 3d219011e8c85b882f8fe6c5c8a782098f994c8e Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Mon, 18 May 2026 18:32:12 +0300 Subject: [PATCH 3/7] PMM-7 Fix testifylint linter warnings (p2) --- admin/commands/base_test.go | 12 ++-- admin/commands/list_test.go | 5 +- admin/commands/management/add_mysql_test.go | 7 +-- admin/commands/summary_test.go | 4 +- agent/agents/cache/cache_test.go | 10 ++-- .../profiler/internal/profiler_test.go | 20 +++---- .../shared/aggregator/aggregator_test.go | 2 +- .../fingerprinter/fingerprinter_test.go | 4 +- .../mysql/slowlog/parser/parser_bench_test.go | 4 +- .../mysql/slowlog/parser/parser_test.go | 4 +- .../pgstatmonitor/pgstatmonitor_test.go | 16 +++--- .../pgstatmonitor/stat_monitor_cache_test.go | 9 ++- .../pgstatstatements/pgstatstatements_test.go | 6 +- .../agents/supervisor/ports_registry_test.go | 28 ++++----- agent/client/channel/channel_test.go | 24 ++++---- agent/client/client_test.go | 10 ++-- agent/config/config_test.go | 6 +- .../actions/mongodb_explain_action_test.go | 10 ++-- .../mongodb_query_admincommand_action_test.go | 4 +- .../actions/mysql_explain_action_test.go | 12 ++-- .../mysql_show_create_table_action_test.go | 4 +- .../actions/mysql_show_index_action_test.go | 4 +- .../mysql_show_table_status_action_test.go | 4 +- .../postgresql_query_select_action_test.go | 2 +- ...ostgresql_show_create_table_action_test.go | 2 +- agent/runner/actions/process_action_test.go | 2 +- .../actions/pt_mysql_summary_action_test.go | 2 +- agent/runner/jobs/mongodb_backup_job_test.go | 5 +- agent/runner/jobs/pbm_helpers_test.go | 4 +- .../filereader/continuous_file_reader_test.go | 4 +- agent/utils/mongo_fix/mongo_fix_test.go | 3 +- agent/utils/templates/template_test.go | 7 ++- agent/utils/version/mysql_test.go | 3 +- agent/versioner/versioner_test.go | 15 ++--- api-tests/alerting/alerting_test.go | 8 +-- api-tests/helpers.go | 2 +- api-tests/inventory/services_test.go | 6 +- api-tests/management/action/explain_test.go | 2 +- api-tests/management/annotation_test.go | 9 ++- api-tests/management/external_test.go | 12 ++-- api-tests/management/haproxy_test.go | 12 ++-- api-tests/management/helpers.go | 6 +- api-tests/management/mongodb_test.go | 26 ++++----- api-tests/management/mysql_test.go | 22 +++---- api-tests/management/nodes_test.go | 6 +- api-tests/management/postgresql_test.go | 22 +++---- api-tests/management/proxysql_test.go | 6 +- api-tests/management/valkey_test.go | 8 +-- api-tests/server/logs_test.go | 2 +- api-tests/server/settings/settings_test.go | 2 +- managed/models/action_helpers_test.go | 2 +- managed/models/agent_helpers_test.go | 2 +- managed/models/agentversion_test.go | 6 +- managed/models/artifact_helpers_test.go | 2 +- managed/models/database_test.go | 10 ++-- managed/models/job_helpers_test.go | 4 +- managed/models/location_helpers_test.go | 8 +-- managed/models/models_test.go | 9 +-- managed/models/node_helpers_test.go | 12 ++-- managed/models/postgresql_version_test.go | 4 +- .../models/restore_history_helpers_test.go | 2 +- .../models/scheduled_tasks_helpers_test.go | 12 ++-- managed/models/service_helpers_test.go | 24 ++++---- managed/models/settings_helpers_test.go | 12 ++-- .../models/software_version_helpers_test.go | 6 +- .../services/agents/channel/channel_test.go | 30 +++++----- managed/services/agents/postgresql_test.go | 57 ++++++++++--------- managed/services/alerting/service_test.go | 4 +- .../services/backup/backup_service_test.go | 22 +++---- .../backup/compatibility_helpers_test.go | 19 ++++--- .../backup/compatibility_service_test.go | 12 ++-- .../backup/pitr_timerange_service_test.go | 6 +- .../services/backup/removal_service_test.go | 20 +++---- .../services/backup/retention_service_test.go | 12 ++-- managed/services/checks/checks_test.go | 8 +-- managed/services/checks/funcs_test.go | 6 +- managed/services/converters_test.go | 2 +- managed/services/grafana/client_test.go | 6 +- managed/services/inventory/services_test.go | 20 +++---- .../services/management/accesscontrol_test.go | 2 +- .../management/backup/backup_service_test.go | 20 +++---- .../backup/locations_service_test.go | 10 ++-- .../management/backup/restore_service_test.go | 8 +-- managed/services/management/checks_test.go | 14 ++--- managed/services/management/node_test.go | 8 +-- managed/services/management/service_test.go | 6 +- managed/services/preconditions_test.go | 11 ++-- managed/services/qan/client_test.go | 4 +- managed/services/scheduler/scheduler_test.go | 2 +- managed/services/scheduler/task_test.go | 5 +- managed/services/server/logs_test.go | 14 ++--- managed/services/server/server_test.go | 12 ++-- .../services/supervisord/devcontainer_test.go | 4 +- managed/services/telemetry/telemetry_test.go | 2 +- managed/services/telemetry/transform_test.go | 45 +++++++-------- .../versioncache/versioncache_test.go | 18 +++--- .../victoriametrics/victoriametrics_test.go | 6 +- managed/utils/clean/clean_test.go | 10 ++-- managed/utils/dir/dir_test.go | 6 +- .../distribution/distribution_util_test.go | 4 +- managed/utils/encryption/encryption_test.go | 12 ++-- managed/utils/pprof/pprof_test.go | 8 +-- managed/utils/signatures/signatures_test.go | 6 +- managed/utils/tests/asserts.go | 5 +- .../utils/validators/alerting_rules_test.go | 3 +- .../services/analytics/object_details_test.go | 10 ++-- qan-api2/services/analytics/profile_test.go | 25 ++++---- qan-api2/utils/templatefs/templatefs_test.go | 4 +- 108 files changed, 517 insertions(+), 515 deletions(-) diff --git a/admin/commands/base_test.go b/admin/commands/base_test.go index 2f8c5081b37..e0de07c0288 100644 --- a/admin/commands/base_test.go +++ b/admin/commands/base_test.go @@ -78,8 +78,8 @@ func TestCredentials(t *testing.T) { credSourceX, _ := CreateDummyCredentialsExecutable(data) t.Cleanup(func() { - assert.NoError(t, os.Remove(credSource)) - assert.NoError(t, os.Remove(credSourceX)) + require.NoError(t, os.Remove(credSource)) + require.NoError(t, os.Remove(credSourceX)) }) t.Run("Reading", func(t *testing.T) { @@ -178,15 +178,15 @@ func TestReadFile(t *testing.T) { require.NoError(t, err) defer func() { err = cert.Close() - assert.NoError(t, err) + require.NoError(t, err) err = os.Remove(cert.Name()) - assert.NoError(t, err) + require.NoError(t, err) }() _, err = cert.WriteString("cert") require.NoError(t, err) certificate, err := ReadFile(cert.Name()) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "cert", certificate) }) @@ -195,7 +195,7 @@ func TestReadFile(t *testing.T) { filepath := "not-existed-file" certificate, err := ReadFile(filepath) - assert.EqualError(t, err, fmt.Sprintf("cannot load file in path %q: open not-existed-file: no such file or directory", filepath)) + require.EqualError(t, err, fmt.Sprintf("cannot load file in path %q: open not-existed-file: no such file or directory", filepath)) assert.Empty(t, certificate) }) diff --git a/admin/commands/list_test.go b/admin/commands/list_test.go index 6528a6a1dfb..29e61baf664 100644 --- a/admin/commands/list_test.go +++ b/admin/commands/list_test.go @@ -20,6 +20,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/percona/pmm/api/inventory/v1/json/client/agents_service" "github.com/percona/pmm/api/inventory/v1/json/client/services_service" @@ -222,7 +223,7 @@ func TestListJSONOutput(t *testing.T) { } res, err := json.Marshal(result) - assert.NoError(t, err) + require.NoError(t, err) expected := ` { "service": [ @@ -301,7 +302,7 @@ func TestListJSONOutput(t *testing.T) { } res, err := json.Marshal(result) - assert.NoError(t, err) + require.NoError(t, err) expected := `{"service":[],"agent":[]}` assert.Equal(t, expected, string(res)) }) diff --git a/admin/commands/management/add_mysql_test.go b/admin/commands/management/add_mysql_test.go index d402ea2630f..c0b61008c49 100644 --- a/admin/commands/management/add_mysql_test.go +++ b/admin/commands/management/add_mysql_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" mservice "github.com/percona/pmm/api/management/v1/json/client/management_service" ) @@ -154,9 +155,7 @@ func TestRun(t *testing.T) { } _, err := cmd.RunCmd() - if assert.Error(t, err) { - expected := "Unrecognized option. To create a user, see https://docs.percona.com/percona-monitoring-and-management/3/install-pmm/install-pmm-client/connect-database/mysql/mysql.html#create-a-database-account-for-pmm" - assert.Equal(t, expected, err.Error()) - } + expected := "Unrecognized option. To create a user, see https://docs.percona.com/percona-monitoring-and-management/3/install-pmm/install-pmm-client/connect-database/mysql/mysql.html#create-a-database-account-for-pmm" + require.Error(t, err, expected) }) } diff --git a/admin/commands/summary_test.go b/admin/commands/summary_test.go index d0cc8318db0..04e3dfc0789 100644 --- a/admin/commands/summary_test.go +++ b/admin/commands/summary_test.go @@ -35,7 +35,7 @@ func TestSummary(t *testing.T) { filename := f.Name() t.Logf("Using temp file: %s", filename) - assert.NoError(t, f.Close()) + require.NoError(t, f.Close()) t.Run("Summary default", func(t *testing.T) { cmd := &SummaryCommand{ @@ -80,7 +80,7 @@ func TestSummary(t *testing.T) { // Check there is a pprof dir with data inside the zip file reader, err := zip.OpenReader(filename) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, expected, res) hasPprofDir := false diff --git a/agent/agents/cache/cache_test.go b/agent/agents/cache/cache_test.go index 40bfafc8219..277ad3efda8 100644 --- a/agent/agents/cache/cache_test.go +++ b/agent/agents/cache/cache_test.go @@ -146,20 +146,20 @@ func TestCacheErrors(t *testing.T) { t.Parallel() var err error _, err = New(100, time.Second*100, 100, logrus.WithField("test", t.Name())) - assert.Error(t, err) + require.Error(t, err) _, err = New([]float64{}, time.Second*100, 100, logrus.WithField("test", t.Name())) - assert.Error(t, err) + require.Error(t, err) _, err = New(struct{}{}, time.Second*100, 100, logrus.WithField("test", t.Name())) - assert.Error(t, err) + require.Error(t, err) }) t.Run("WrongTypeOnRefresh", func(t *testing.T) { t.Parallel() c, _ := New(make(map[int]int), time.Second*100, 100, logrus.WithField("test", t.Name())) err := c.Set(map[int]string{1: "some string"}) - assert.Error(t, err) + require.Error(t, err) }) t.Run("WrongTypeOnGet", func(t *testing.T) { @@ -167,6 +167,6 @@ func TestCacheErrors(t *testing.T) { c, _ := New(make(map[int]int), time.Second*100, 100, logrus.WithField("test", t.Name())) dest := make(map[int]string) err := c.Get(dest) - assert.Error(t, err) + require.Error(t, err) }) } diff --git a/agent/agents/mongodb/profiler/internal/profiler_test.go b/agent/agents/mongodb/profiler/internal/profiler_test.go index b9d35a95e15..ae5c00aaf4c 100644 --- a/agent/agents/mongodb/profiler/internal/profiler_test.go +++ b/agent/agents/mongodb/profiler/internal/profiler_test.go @@ -94,7 +94,7 @@ func testProfiler(t *testing.T, url string) { dbName := fmt.Sprintf("test_%02d", i) logrus.Traceln("create db", dbName) _, err := sess.Database(dbName).Collection("test").InsertOne(context.TODO(), doc) - assert.NoError(t, err) + require.NoError(t, err) i++ } <-time.After(aggregator.DefaultInterval) // give it some time before starting profiler @@ -121,7 +121,7 @@ func testProfiler(t *testing.T, url string) { dbName := fmt.Sprintf("test_%02d", dbNumber) logrus.Tracef("inserting value %d to %s", i, dbName) _, err := sess.Database(dbName).Collection("people").InsertOne(context.TODO(), doc) - assert.NoError(t, err) + require.NoError(t, err) i++ } cursor, err := sess.Database("test_00").Collection("people").Find(context.TODO(), bson.M{"name_00\xff": "value_00\xff"}) @@ -186,17 +186,17 @@ func testProfiler(t *testing.T, url string) { MResponseLengthP99: responseLength, } // TODO: fix protobuf equality https://jira.percona.com/browse/PMM-6743 - assert.Equalf(t, expected.MDocsReturnedCnt, bucket.Mongodb.MDocsReturnedCnt, "wrong metrics MDocsReturnedCnt for db %s", bucket.Common.Database) - assert.Equalf(t, expected.MResponseLengthCnt, bucket.Mongodb.MResponseLengthCnt, "wrong metrics MResponseLengthCnt for db %s", bucket.Common.Database) - assert.Equalf(t, expected.MResponseLengthSum, bucket.Mongodb.MResponseLengthSum, "wrong metrics MResponseLengthSum for db %s", bucket.Common.Database) - assert.Equalf(t, expected.MResponseLengthMin, bucket.Mongodb.MResponseLengthMin, "wrong metrics MResponseLengthMin for db %s", bucket.Common.Database) - assert.Equalf(t, expected.MResponseLengthMax, bucket.Mongodb.MResponseLengthMax, "wrong metrics MResponseLengthMax for db %s", bucket.Common.Database) - assert.Equalf(t, expected.MResponseLengthP99, bucket.Mongodb.MResponseLengthP99, "wrong metrics MResponseLengthP99 for db %s", bucket.Common.Database) - assert.Equalf(t, expected.MDocsExaminedCnt, bucket.Mongodb.MDocsExaminedCnt, "wrong metrics MDocsExaminedCnt for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MDocsReturnedCnt, bucket.Mongodb.MDocsReturnedCnt, 0.0001, "wrong metrics MDocsReturnedCnt for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MResponseLengthCnt, bucket.Mongodb.MResponseLengthCnt, 0.0001, "wrong metrics MResponseLengthCnt for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MResponseLengthSum, bucket.Mongodb.MResponseLengthSum, 0.0001, "wrong metrics MResponseLengthSum for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MResponseLengthMin, bucket.Mongodb.MResponseLengthMin, 0.0001, "wrong metrics MResponseLengthMin for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MResponseLengthMax, bucket.Mongodb.MResponseLengthMax, 0.0001, "wrong metrics MResponseLengthMax for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MResponseLengthP99, bucket.Mongodb.MResponseLengthP99, 0.0001, "wrong metrics MResponseLengthP99 for db %s", bucket.Common.Database) + assert.InEpsilonf(t, expected.MDocsExaminedCnt, bucket.Mongodb.MDocsExaminedCnt, 0.0001, "wrong metrics MDocsExaminedCnt for db %s", bucket.Common.Database) } require.NotNil(t, findBucket) assert.Equal(t, `db.people.find({"name_00\ufffd":"?"})`, findBucket.Common.Fingerprint) - assert.Equal(t, docsCount, findBucket.Mongodb.MDocsReturnedSum) + assert.InEpsilon(t, docsCount, findBucket.Mongodb.MDocsReturnedSum, 0.0001) } func cleanUpDBs(t *testing.T, sess *mongo.Client) { diff --git a/agent/agents/mongodb/shared/aggregator/aggregator_test.go b/agent/agents/mongodb/shared/aggregator/aggregator_test.go index 53713c4c8db..b5565f2d232 100644 --- a/agent/agents/mongodb/shared/aggregator/aggregator_test.go +++ b/agent/agents/mongodb/shared/aggregator/aggregator_test.go @@ -39,7 +39,7 @@ func TestAggregator(t *testing.T) { t.Run("error if aggregator is not running", func(t *testing.T) { a := New(time.Now(), "test-agent", logrus.WithField("component", "test"), truncate.GetMongoDBDefaultMaxQueryLength()) err := a.Add(context.TODO(), proto.SystemProfile{}) - assert.EqualError(t, err, "aggregator is not running") + require.EqualError(t, err, "aggregator is not running") }) }) diff --git a/agent/agents/mongodb/shared/fingerprinter/fingerprinter_test.go b/agent/agents/mongodb/shared/fingerprinter/fingerprinter_test.go index cc642e1ef73..31b5e369c29 100644 --- a/agent/agents/mongodb/shared/fingerprinter/fingerprinter_test.go +++ b/agent/agents/mongodb/shared/fingerprinter/fingerprinter_test.go @@ -114,9 +114,9 @@ func TestProfilerFingerprinter(t *testing.T) { database := client.Database(dbName) _, err = database.Collection("test").InsertOne(ctx, bson.M{"id": 0, "name": "test", "value": 1, "time": time.Now()}) - assert.NoError(t, err) + require.NoError(t, err) _, err = database.Collection("secondcollection").InsertOne(ctx, bson.M{"id": 0, "name": "sec", "value": 2}) - assert.NoError(t, err) + require.NoError(t, err) database.Collection("test").FindOne(ctx, bson.M{"id": 0}) database.Collection("test").FindOne(ctx, bson.M{"id": 1, "name": "test", "time": time.Now()}) database.Collection("test").FindOneAndUpdate(ctx, bson.M{"id": 0}, bson.M{"$set": bson.M{"name": "new"}}) diff --git a/agent/agents/mysql/slowlog/parser/parser_bench_test.go b/agent/agents/mysql/slowlog/parser/parser_bench_test.go index a2dd3c4e7f8..206b2d3a60a 100644 --- a/agent/agents/mysql/slowlog/parser/parser_bench_test.go +++ b/agent/agents/mysql/slowlog/parser/parser_bench_test.go @@ -50,7 +50,7 @@ func benchmarkFile(b *testing.B, name string) { b.StopTimer() r, err := filereader.NewSimpleFileReader(name) - assert.NoError(b, err) + require.NoError(b, err) p := NewSlowLogParser(r, log.Options{}) b.StartTimer() @@ -62,7 +62,7 @@ func benchmarkFile(b *testing.B, name string) { b.StopTimer() assert.Equal(b, io.EOF, p.Err()) - assert.NoError(b, r.Close()) + require.NoError(b, r.Close()) } }) } diff --git a/agent/agents/mysql/slowlog/parser/parser_test.go b/agent/agents/mysql/slowlog/parser/parser_test.go index 2e675cf8c6c..8d4b33243ba 100644 --- a/agent/agents/mysql/slowlog/parser/parser_test.go +++ b/agent/agents/mysql/slowlog/parser/parser_test.go @@ -40,7 +40,7 @@ func parseSlowLog(t *testing.T, filepath string, opts log.Options) []log.Event { r, err := filereader.NewSimpleFileReader(filepath) require.NoError(t, err) defer func() { - assert.NoError(t, r.Close()) + require.NoError(t, r.Close()) }() p := NewSlowLogParser(r, opts) @@ -335,7 +335,7 @@ func TestParserSpecial(t *testing.T) { r, err := filereader.NewSimpleFileReader(filepath.Join("testdata", "slow023.log")) require.NoError(t, err) defer func() { - assert.NoError(t, r.Close()) + require.NoError(t, r.Close()) }() opts := log.Options{ diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go index 2356776f947..7271f3b2101 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go @@ -107,18 +107,18 @@ func TestPGStatMonitorSchema(t *testing.T) { } _, err := db.Exec("CREATE EXTENSION IF NOT EXISTS pg_stat_monitor SCHEMA public") - assert.NoError(t, err) + require.NoError(t, err) defer func() { _, err = db.Exec("DROP EXTENSION pg_stat_monitor") - assert.NoError(t, err) + require.NoError(t, err) }() vPG, err := getPGVersion(db.Querier) - assert.NoError(t, err) + require.NoError(t, err) vPGSM, _, err := getPGMonitorVersion(db.Querier) - assert.NoError(t, err) + require.NoError(t, err) _, view := newPgStatMonitorStructs(vPGSM, vPG) structs, err := db.SelectAllFrom(view, "") @@ -181,7 +181,7 @@ func TestPGStatMonitorSchema(t *testing.T) { var selectCMDType, insertCMDType string var mPlansCallsCnt, mPlansTimeCnt float32 pgsmVersion, _, err := getPGMonitorVersion(db.Querier) - assert.NoError(t, err) + require.NoError(t, err) switch pgsmVersion { case pgStatMonitorVersion06: case pgStatMonitorVersion08: @@ -499,12 +499,10 @@ func TestPGStatMonitorSchema(t *testing.T) { for i := 0; i < n; i++ { id := i query := fmt.Sprintf(`INSERT /* CheckMBlkReadTime controller='test' */ INTO %s (customer_id, first_name, last_name, active) VALUES (%d, 'John', 'Dow', TRUE)`, tableName, id) - waitGroup.Add(1) - go func() { - defer waitGroup.Done() + waitGroup.Go(func() { _, err := db.Exec(query) require.NoError(t, err) - }() + }) } waitGroup.Wait() diff --git a/agent/agents/postgres/pgstatmonitor/stat_monitor_cache_test.go b/agent/agents/postgres/pgstatmonitor/stat_monitor_cache_test.go index 441a776bc76..6e3246a4257 100644 --- a/agent/agents/postgres/pgstatmonitor/stat_monitor_cache_test.go +++ b/agent/agents/postgres/pgstatmonitor/stat_monitor_cache_test.go @@ -18,7 +18,6 @@ import ( "context" "testing" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "gopkg.in/reform.v1" "gopkg.in/reform.v1/dialects/postgresql" @@ -38,18 +37,18 @@ func TestPGStatMonitorStructs(t *testing.T) { } _, err := db.Exec("CREATE EXTENSION IF NOT EXISTS pg_stat_monitor SCHEMA public") - assert.NoError(t, err) + require.NoError(t, err) defer func() { _, err = db.Exec("DROP EXTENSION pg_stat_monitor") - assert.NoError(t, err) + require.NoError(t, err) }() m := setup(t, db, false, false) settings, err := m.getSettings() - assert.NoError(t, err) + require.NoError(t, err) normalizedQuery, err := settings.getNormalizedQueryValue() - assert.NoError(t, err) + require.NoError(t, err) current, cache, err := m.monitorCache.getStatMonitorExtended(context.TODO(), db.Querier, normalizedQuery, truncate.GetDefaultMaxQueryLength()) diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go index 97e998f753f..be0cd9f1d28 100644 --- a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go +++ b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go @@ -75,7 +75,7 @@ func TestPGStatStatementsQAN(t *testing.T) { defer func() { _, err := db.Exec("DROP EXTENSION pg_stat_statements") - assert.NoError(t, err) + require.NoError(t, err) }() structs, err := db.SelectAllFrom(pgStatDatabaseView, "") @@ -488,7 +488,7 @@ func TestPGStatStatementsQPS(t *testing.T) { defer func() { _, err := db.Exec("DROP EXTENSION pg_stat_statements") - assert.NoError(t, err) + require.NoError(t, err) }() // filterInsertQueries retrieves only buckets for insert queries used by test. @@ -536,7 +536,7 @@ func TestPGStatStatementsQPS(t *testing.T) { insertBuckets := filterInsertQueries(t, buckets) mismatchedCount := 0 for _, b := range insertBuckets { - assert.Equal(t, float32(1), b.Common.NumQueries) + assert.InEpsilon(t, float32(1), b.Common.NumQueries, 0.0001) if b.Common.NumQueries != 1 { mismatchedCount++ } diff --git a/agent/agents/supervisor/ports_registry_test.go b/agent/agents/supervisor/ports_registry_test.go index bb88f22bb15..d15cc70a9c9 100644 --- a/agent/agents/supervisor/ports_registry_test.go +++ b/agent/agents/supervisor/ports_registry_test.go @@ -30,7 +30,7 @@ func TestRegistry(t *testing.T) { defer l1.Close() //nolint:gosec,errcheck,nolintlint p, err := r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65002, p) _, err = r.Reserve() assert.Equal(t, errNoFreePort, err) @@ -40,7 +40,7 @@ func TestRegistry(t *testing.T) { defer l2.Close() //nolint:errcheck,gosec,nolintlint err = r.Release(65000) - assert.NoError(t, err) + require.NoError(t, err) err = r.Release(65001) assert.Equal(t, errPortNotReserved, err) err = r.Release(65002) @@ -50,19 +50,19 @@ func TestRegistry(t *testing.T) { l2.Close() //nolint:errcheck p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65000, p) p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65001, p) _, err = r.Reserve() assert.Equal(t, errNoFreePort, err) err = r.Release(65002) - assert.NoError(t, err) + require.NoError(t, err) p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65002, p) _, err = r.Reserve() assert.Equal(t, errNoFreePort, err) @@ -72,22 +72,22 @@ func TestPreferNewPort(t *testing.T) { r := newPortsRegistry(65000, 65002, nil) p, err := r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65000, p) err = r.Release(p) - assert.NoError(t, err) + require.NoError(t, err) p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65001, p) p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65002, p) p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65000, p) } @@ -95,16 +95,16 @@ func TestSinglePort(t *testing.T) { r := newPortsRegistry(65000, 65000, nil) p, err := r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65000, p) _, err = r.Reserve() assert.Equal(t, errNoFreePort, err) err = r.Release(p) - assert.NoError(t, err) + require.NoError(t, err) p, err = r.Reserve() - assert.NoError(t, err) + require.NoError(t, err) assert.EqualValues(t, 65000, p) } diff --git a/agent/client/channel/channel_test.go b/agent/client/channel/channel_test.go index edcb19fcfdf..1bbf5cb8b8e 100644 --- a/agent/client/channel/channel_test.go +++ b/agent/client/channel/channel_test.go @@ -121,7 +121,7 @@ func TestAgentRequestWithTruncatedInvalidUTF8(t *testing.T) { Id: uint32(1), Payload: (&agentv1.QANCollectResponse{}).ServerMessageResponsePayload(), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "SELECT * FROM contacts t0 WHERE t0.person_id = '\u0241\ufffd\\uD83D\ufffdü\ufffd'", msg.GetQanCollect().MetricsBucket[0].Common.Example) _, err = stream.Recv() @@ -170,7 +170,7 @@ func TestAgentRequest(t *testing.T) { Id: i, Payload: (&agentv1.QANCollectResponse{}).ServerMessageResponsePayload(), }) - assert.NoError(t, err) + require.NoError(t, err) } return nil @@ -229,7 +229,7 @@ func TestServerRequest(t *testing.T) { Id: i, Payload: (&agentv1.Ping{}).ServerMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) } for i := uint32(1); i <= count; i++ { @@ -302,7 +302,7 @@ func TestAgentClosesStream(t *testing.T) { Id: 1, Payload: (&agentv1.Ping{}).ServerMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) msg, err := stream.Recv() assert.Equal(t, io.EOF, err) @@ -319,7 +319,7 @@ func TestAgentClosesStream(t *testing.T) { assert.IsType(t, &agentv1.Ping{}, req.Payload) err := channel.s.CloseSend() - assert.NoError(t, err) + require.NoError(t, err) } func TestAgentClosesConnection(t *testing.T) { @@ -331,7 +331,7 @@ func TestAgentClosesConnection(t *testing.T) { Id: 1, Payload: (&agentv1.Ping{}).ServerMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) msg, err := stream.Recv() assert.Equal(t, status.Error(codes.Canceled, context.Canceled.Error()).Error(), err.Error()) @@ -355,7 +355,7 @@ func TestAgentClosesConnection(t *testing.T) { assert.IsType(t, &agentv1.Ping{}, req.Payload) err := cc.Close() - assert.NoError(t, err) + require.NoError(t, err) wg.Wait() } @@ -367,7 +367,7 @@ func TestUnexpectedResponseIDFromServer(t *testing.T) { Id: 111, Payload: (&agentv1.QANCollectResponse{}).ServerMessageResponsePayload(), }) - assert.NoError(t, err) + require.NoError(t, err) close(unexpectedIDSent) // Check that channel is still open. @@ -375,9 +375,9 @@ func TestUnexpectedResponseIDFromServer(t *testing.T) { Id: 1, Payload: (&agentv1.Ping{}).ServerMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) pong, err := stream.Recv() - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, pong) return nil } @@ -401,7 +401,7 @@ func TestUnexpectedResponsePayloadFromServer(t *testing.T) { Id: 1, Payload: (&agentv1.Ping{}).ServerMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) _, _ = stream.Recv() // test unexpected payload @@ -411,7 +411,7 @@ func TestUnexpectedResponsePayloadFromServer(t *testing.T) { require.NoError(t, err) msg, err := stream.Recv() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, int32(codes.Unimplemented), msg.GetStatus().GetCode()) return nil } diff --git a/agent/client/client_test.go b/agent/client/client_test.go index 41b6f4caccd..affb757063d 100644 --- a/agent/client/client_test.go +++ b/agent/client/client_test.go @@ -88,7 +88,7 @@ func TestClient(t *testing.T) { client := New(cfgStorage, nil, nil, nil, nil, nil, nil, nil) cancel() err := client.Run(ctx) - assert.EqualError(t, err, "missing PMM Server address: context canceled") + require.EqualError(t, err, "missing PMM Server address: context canceled") }) t.Run("NoAgentID", func(t *testing.T) { @@ -103,7 +103,7 @@ func TestClient(t *testing.T) { client := New(cfgStorage, nil, nil, nil, nil, nil, nil, nil) cancel() err := client.Run(ctx) - assert.EqualError(t, err, "missing Agent ID: context canceled") + require.EqualError(t, err, "missing Agent ID: context canceled") }) t.Run("FailedToDial", func(t *testing.T) { @@ -169,7 +169,7 @@ func TestClient(t *testing.T) { r := runner.New(cfgStorage.Get().RunnerCapacity, cfgStorage.Get().RunnerMaxConnectionsPerService) client := New(cfgStorage, &s, r, nil, nil, nil, connectionuptime.NewService(time.Hour), nil) err := client.Run(context.Background()) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, serverMD, client.GetServerConnectMetadata()) }) @@ -198,7 +198,7 @@ func TestClient(t *testing.T) { client := New(cfgStorage, nil, nil, nil, nil, nil, connectionuptime.NewService(time.Hour), nil) client.dialTimeout = 100 * time.Millisecond err := client.Run(ctx) - assert.EqualError(t, err, "failed to get server metadata: rpc error: code = Canceled desc = context canceled", "%+v", err) + require.EqualError(t, err, "failed to get server metadata: rpc error: code = Canceled desc = context canceled", "%+v", err) }) }) } @@ -288,7 +288,7 @@ func TestUnexpectedActionType(t *testing.T) { r := runner.New(cfgStorage.Get().RunnerCapacity, cfgStorage.Get().RunnerMaxConnectionsPerService) client := New(cfgStorage, s, r, nil, nil, nil, connectionuptime.NewService(time.Hour), nil) err := client.Run(context.Background()) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, serverMD, client.GetServerConnectMetadata()) } diff --git a/agent/config/config_test.go b/agent/config/config_test.go index a0bb60b93bd..48286677f34 100644 --- a/agent/config/config_test.go +++ b/agent/config/config_test.go @@ -62,7 +62,8 @@ func TestLoadFromFile(t *testing.T) { require.NoError(t, os.Chmod(name, 0o000)) cfg, err := loadFromFile(name, nil) - require.IsType(t, (*os.PathError)(nil), err) + var targetErr *os.PathError + require.ErrorAs(t, err, &targetErr) assert.Equal(t, "open", err.(*os.PathError).Op) //nolint:errorlint require.EqualError(t, err.(*os.PathError).Err, "permission denied") //nolint:errorlint assert.Nil(t, cfg) @@ -73,7 +74,8 @@ func TestLoadFromFile(t *testing.T) { require.NoError(t, os.WriteFile(name, []byte(`not YAML`), 0o666)) //nolint:gosec cfg, err := loadFromFile(name, nil) - require.IsType(t, (*yaml.TypeError)(nil), err) + var targetErr *yaml.TypeError + require.ErrorAs(t, err, &targetErr) require.EqualError(t, err, "yaml: unmarshal errors:\n line 1: cannot unmarshal !!str `not YAML` into config.Config") assert.Nil(t, cfg) }) diff --git a/agent/runner/actions/mongodb_explain_action_test.go b/agent/runner/actions/mongodb_explain_action_test.go index 37d2a56ac7a..f0309634605 100644 --- a/agent/runner/actions/mongodb_explain_action_test.go +++ b/agent/runner/actions/mongodb_explain_action_test.go @@ -274,7 +274,7 @@ func TestMongoDBExplain(t *testing.T) { require.NoError(t, err) res, err := ex.Run(ctx) - assert.NoError(t, err) + require.NoError(t, err) want := map[string]interface{}{ "indexFilterSet": false, @@ -311,7 +311,7 @@ func TestMongoDBExplain(t *testing.T) { explainM := make(map[string]interface{}) err = json.Unmarshal(res, &explainM) - assert.NoError(t, err) + require.NoError(t, err) queryPlanner, ok := explainM["queryPlanner"] assert.True(t, ok) assert.NotEmpty(t, queryPlanner) @@ -355,7 +355,7 @@ func TestNewMongoDBExplain(t *testing.T) { for _, tf := range testFiles { t.Run(tf.in, func(t *testing.T) { query, err := os.ReadFile(filepath.Join("testdata/", filepath.Clean(tf.in))) - assert.NoError(t, err) + require.NoError(t, err) params := &agentv1.StartActionRequest_MongoDBExplainParams{ Dsn: tests.GetTestMongoDBDSN(t), Query: string(query), @@ -365,11 +365,11 @@ func TestNewMongoDBExplain(t *testing.T) { require.NoError(t, err) res, err := ex.Run(ctx) - assert.NoError(t, err) + require.NoError(t, err) explainM := make(map[string]interface{}) err = json.Unmarshal(res, &explainM) - assert.NoError(t, err) + require.NoError(t, err) // Just test not empty because different versions and environments return different // explain results diff --git a/agent/runner/actions/mongodb_query_admincommand_action_test.go b/agent/runner/actions/mongodb_query_admincommand_action_test.go index 27e448b91b5..a5352401ec6 100644 --- a/agent/runner/actions/mongodb_query_admincommand_action_test.go +++ b/agent/runner/actions/mongodb_query_admincommand_action_test.go @@ -20,7 +20,6 @@ import ( "time" "github.com/davecgh/go-spew/spew" - "github.com/pkg/errors" "github.com/stretchr/objx" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -231,7 +230,8 @@ func replSetGetStatusAssertionsStandalone(t *testing.T, id string, timeout time. defer cancel() b, err := a.Run(ctx) require.Nil(t, b) - require.IsType(t, mongo.CommandError{}, errors.Unwrap(err)) + var targetErr *mongo.CommandError + require.ErrorAs(t, err, &targetErr) require.Equal(t, "(NoReplicationEnabled) not running with --replSet", err.Error()) } diff --git a/agent/runner/actions/mysql_explain_action_test.go b/agent/runner/actions/mysql_explain_action_test.go index 6336a74d2af..d0fb4b51bb9 100644 --- a/agent/runner/actions/mysql_explain_action_test.go +++ b/agent/runner/actions/mysql_explain_action_test.go @@ -64,7 +64,7 @@ func TestMySQLExplain(t *testing.T) { var er explainResponse err = json.Unmarshal(b, &er) - assert.NoError(t, err) + require.NoError(t, err) actual := strings.TrimSpace(string(er.ExplainResult)) switch fmt.Sprintf("%s-%s", mySQLVersion, mySQLVendor) { @@ -100,7 +100,7 @@ func TestMySQLExplain(t *testing.T) { var er explainResponse err = json.Unmarshal(b, &er) - assert.NoError(t, err) + require.NoError(t, err) m, err := objx.FromJSON(string(er.ExplainResult)) require.NoError(t, err) @@ -158,7 +158,7 @@ func TestMySQLExplain(t *testing.T) { var er explainResponse err = json.Unmarshal(b, &er) - assert.NoError(t, err) + require.NoError(t, err) var actual [][]interface{} err = json.Unmarshal(er.ExplainResult, &actual) @@ -196,7 +196,7 @@ func TestMySQLExplain(t *testing.T) { OutputFormat: agentv1.MysqlExplainOutputFormat_MYSQL_EXPLAIN_OUTPUT_FORMAT_DEFAULT, } a, err := NewMySQLExplainAction("", time.Second, params) - assert.ErrorContains(t, err, `Query to EXPLAIN is empty`) + require.ErrorContains(t, err, `Query to EXPLAIN is empty`) assert.Nil(t, a) }) @@ -218,7 +218,7 @@ func TestMySQLExplain(t *testing.T) { require.NoError(t, err) var er explainResponse err = json.Unmarshal(resp, &er) - assert.NoError(t, err) + require.NoError(t, err) assert.True(t, er.IsDMLQuery) assert.Equal(t, `SELECT * FROM city WHERE Name='Rosario'`, er.Query) }) @@ -232,7 +232,7 @@ func TestMySQLExplain(t *testing.T) { OutputFormat: agentv1.MysqlExplainOutputFormat_MYSQL_EXPLAIN_OUTPUT_FORMAT_DEFAULT, } a, err := NewMySQLExplainAction("", time.Second, params) - assert.ErrorContains(t, err, "EXPLAIN failed because the query exceeded max length and got trimmed. Set max-query-length to a larger value.") + require.ErrorContains(t, err, "EXPLAIN failed because the query exceeded max length and got trimmed. Set max-query-length to a larger value.") assert.Nil(t, a) }) diff --git a/agent/runner/actions/mysql_show_create_table_action_test.go b/agent/runner/actions/mysql_show_create_table_action_test.go index baa64b7b1d7..2bad8c77557 100644 --- a/agent/runner/actions/mysql_show_create_table_action_test.go +++ b/agent/runner/actions/mysql_show_create_table_action_test.go @@ -132,7 +132,7 @@ CREATE TABLE "city" ( defer cancel() _, err := a.Run(ctx) - assert.EqualError(t, err, "Error 1146 (42S02): Table 'world.no_such_table' doesn't exist") + require.EqualError(t, err, "Error 1146 (42S02): Table 'world.no_such_table' doesn't exist") }) t.Run("LittleBobbyTables", func(t *testing.T) { @@ -147,7 +147,7 @@ CREATE TABLE "city" ( _, err := a.Run(ctx) expected := "Error 1146 (42S02): Table 'world.city; DROP TABLE city; --' doesn't exist" - assert.EqualError(t, err, expected) + require.EqualError(t, err, expected) var count int err = q.QueryRow("SELECT COUNT(*) FROM city").Scan(&count) diff --git a/agent/runner/actions/mysql_show_index_action_test.go b/agent/runner/actions/mysql_show_index_action_test.go index b6bd2a90f37..bfd3432fd4f 100644 --- a/agent/runner/actions/mysql_show_index_action_test.go +++ b/agent/runner/actions/mysql_show_index_action_test.go @@ -110,7 +110,7 @@ func TestMySQLShowIndex(t *testing.T) { defer cancel() _, err := a.Run(ctx) - assert.EqualError(t, err, `Error 1146 (42S02): Table 'world.no_such_table' doesn't exist`) + require.EqualError(t, err, `Error 1146 (42S02): Table 'world.no_such_table' doesn't exist`) }) t.Run("LittleBobbyTables", func(t *testing.T) { @@ -125,7 +125,7 @@ func TestMySQLShowIndex(t *testing.T) { _, err := a.Run(ctx) expected := "Error 1146 (42S02): Table 'world.city; DROP TABLE city; --' doesn't exist" - assert.EqualError(t, err, expected) + require.Equal(t, expected, err.Error()) var count int err = q.QueryRow("SELECT COUNT(*) FROM city").Scan(&count) diff --git a/agent/runner/actions/mysql_show_table_status_action_test.go b/agent/runner/actions/mysql_show_table_status_action_test.go index a2ad58234a3..7716ef76da6 100644 --- a/agent/runner/actions/mysql_show_table_status_action_test.go +++ b/agent/runner/actions/mysql_show_table_status_action_test.go @@ -90,7 +90,7 @@ func TestShowTableStatus(t *testing.T) { defer cancel() _, err := a.Run(ctx) - assert.EqualError(t, err, `table "no_such_table" not found`) + require.EqualError(t, err, `table "no_such_table" not found`) }) t.Run("LittleBobbyTables", func(t *testing.T) { @@ -104,7 +104,7 @@ func TestShowTableStatus(t *testing.T) { defer cancel() _, err := a.Run(ctx) - assert.EqualError(t, err, `table "city; DROP TABLE city; --" not found`) + require.EqualError(t, err, `table "city; DROP TABLE city; --" not found`) var count int err = db.QueryRow("SELECT COUNT(*) FROM city").Scan(&count) diff --git a/agent/runner/actions/postgresql_query_select_action_test.go b/agent/runner/actions/postgresql_query_select_action_test.go index 4d3b875f0e4..ca3863c1066 100644 --- a/agent/runner/actions/postgresql_query_select_action_test.go +++ b/agent/runner/actions/postgresql_query_select_action_test.go @@ -103,7 +103,7 @@ func TestPostgreSQLQuerySelect(t *testing.T) { Query: "* FROM city; DROP TABLE city CASCADE; --", } a, err := NewPostgreSQLQuerySelectAction("", 0, params, os.TempDir()) - assert.EqualError(t, err, "query contains ';'") + require.EqualError(t, err, "query contains ';'") assert.Nil(t, a) }) } diff --git a/agent/runner/actions/postgresql_show_create_table_action_test.go b/agent/runner/actions/postgresql_show_create_table_action_test.go index 5a9caa54443..5e7cf50744e 100644 --- a/agent/runner/actions/postgresql_show_create_table_action_test.go +++ b/agent/runner/actions/postgresql_show_create_table_action_test.go @@ -154,7 +154,7 @@ Foreign-key constraints: _, err = a.Run(ctx) expected := "Table not found: sql: no rows in result set" - assert.EqualError(t, err, expected) + require.EqualError(t, err, expected) var count int err = db.QueryRow("SELECT COUNT(*) FROM city").Scan(&count) diff --git a/agent/runner/actions/process_action_test.go b/agent/runner/actions/process_action_test.go index 6b5f4984a88..530c568fc41 100644 --- a/agent/runner/actions/process_action_test.go +++ b/agent/runner/actions/process_action_test.go @@ -57,5 +57,5 @@ func TestProcessActionRunAndCancel(t *testing.T) { _, err := p.Run(ctx) // check - assert.Error(t, err) + require.Error(t, err) } diff --git a/agent/runner/actions/pt_mysql_summary_action_test.go b/agent/runner/actions/pt_mysql_summary_action_test.go index 6cfe4343759..da319779e03 100644 --- a/agent/runner/actions/pt_mysql_summary_action_test.go +++ b/agent/runner/actions/pt_mysql_summary_action_test.go @@ -52,7 +52,7 @@ func TestPTMySQLSummaryActionRunAndCancel(t *testing.T) { time.AfterFunc(time.Millisecond, cancel) _, err := p.Run(ctx) - assert.Error(t, err) + require.Error(t, err) } func TestBuildMyCnfConfig(t *testing.T) { diff --git a/agent/runner/jobs/mongodb_backup_job_test.go b/agent/runner/jobs/mongodb_backup_job_test.go index 8f65c595f6f..8b8005168aa 100644 --- a/agent/runner/jobs/mongodb_backup_job_test.go +++ b/agent/runner/jobs/mongodb_backup_job_test.go @@ -19,6 +19,7 @@ import ( "time" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" backuppb "github.com/percona/pmm/api/backup/v1" ) @@ -114,9 +115,9 @@ func TestNewMongoDBBackupJob(t *testing.T) { t.Parallel() _, err := NewMongoDBBackupJob(t.Name(), testJobDuration, t.Name(), "", BackupLocationConfig{}, tc.pitr, tc.dataModel, "artifact_folder") if tc.errMsg == "" { - assert.NoError(t, err) + require.NoError(t, err) } else { - assert.ErrorContains(t, err, tc.errMsg) + require.ErrorContains(t, err, tc.errMsg) } }) } diff --git a/agent/runner/jobs/pbm_helpers_test.go b/agent/runner/jobs/pbm_helpers_test.go index 45302128514..ccc1031da59 100644 --- a/agent/runner/jobs/pbm_helpers_test.go +++ b/agent/runner/jobs/pbm_helpers_test.go @@ -116,11 +116,11 @@ func TestCreatePBMConfig(t *testing.T) { t.Run(test.name, func(t *testing.T) { res, err := createPBMConfig(new(test.inputLocation), "test_prefix", test.inputPitr) if test.errString != "" { - assert.ErrorContains(t, err, test.errString) + require.ErrorContains(t, err, test.errString) assert.Nil(t, res) return } - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, test.output, res) }) } diff --git a/agent/utils/filereader/continuous_file_reader_test.go b/agent/utils/filereader/continuous_file_reader_test.go index ab35e87ac93..befbc77262f 100644 --- a/agent/utils/filereader/continuous_file_reader_test.go +++ b/agent/utils/filereader/continuous_file_reader_test.go @@ -94,7 +94,7 @@ func TestContinuousFileReader(t *testing.T) { // test close _, err = f.WriteString("7\n8") require.NoError(t, err) - assert.NoError(t, r.Close()) + require.NoError(t, r.Close()) l, ok := <-lines assert.False(t, ok, "line = %q", l) assert.Nil(t, r.Metrics()) @@ -187,7 +187,7 @@ func TestContinuousFileReader(t *testing.T) { // test close _, err = f.WriteString("\n10\n") require.NoError(t, err) - assert.NoError(t, r.Close()) + require.NoError(t, r.Close()) l, ok := <-lines assert.False(t, ok, "line = %q", l) assert.Nil(t, r.Metrics()) diff --git a/agent/utils/mongo_fix/mongo_fix_test.go b/agent/utils/mongo_fix/mongo_fix_test.go index 078903f07aa..b26ab259e87 100644 --- a/agent/utils/mongo_fix/mongo_fix_test.go +++ b/agent/utils/mongo_fix/mongo_fix_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestClientOptionsForDSN(t *testing.T) { @@ -70,7 +71,7 @@ func TestClientOptionsForDSN(t *testing.T) { if tt.error != "" { assert.Equal(t, err.Error(), tt.error) } else { - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, tt.expectedUser, got.Auth.Username) assert.Equal(t, tt.expectedPassword, got.Auth.Password) } diff --git a/agent/utils/templates/template_test.go b/agent/utils/templates/template_test.go index 1d103617073..3295417e431 100644 --- a/agent/utils/templates/template_test.go +++ b/agent/utils/templates/template_test.go @@ -22,6 +22,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" agentv1 "github.com/percona/pmm/api/agent/v1" ) @@ -37,7 +38,7 @@ func TestRenderDSN(t *testing.T) { dir := filepath.Join(os.TempDir(), fmt.Sprintf("pg_action_%05d", rand.Int63n(99999))) //nolint:gosec err := os.MkdirAll(dir, 0o750) - assert.NoError(t, err) + require.NoError(t, err) inDSN := "postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:12345/database" + "?connect_timeout=1&ssl_ca_file={{.TextFiles.caFilePlaceholder}}&" + @@ -61,7 +62,7 @@ func TestRenderDSN(t *testing.T) { } outDSN, err := RenderDSN(inDSN, files, dir) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, wantDSN, outDSN) assert.True(t, fileExist(filepath.Join(dir, caFilePlaceholder))) @@ -74,7 +75,7 @@ func TestRenderDSN(t *testing.T) { // Cleanup err = os.RemoveAll(dir) - assert.NoError(t, err) + require.NoError(t, err) } func fileExist(file string) bool { diff --git a/agent/utils/version/mysql_test.go b/agent/utils/version/mysql_test.go index fac6fc456cb..ce3accceaa5 100644 --- a/agent/utils/version/mysql_test.go +++ b/agent/utils/version/mysql_test.go @@ -20,6 +20,7 @@ import ( sqlmock "github.com/DATA-DOG/go-sqlmock" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "gopkg.in/reform.v1" "gopkg.in/reform.v1/dialects/mysql" ) @@ -125,7 +126,7 @@ func TestGetMySQLVersion(t *testing.T) { version, vendor, err := GetMySQLVersion(ctx, q) assert.Equal(t, tc.wantVersion, version.String()) assert.Equal(t, tc.wantVendor, vendor) - assert.NoError(t, err) + require.NoError(t, err) }) } } diff --git a/agent/versioner/versioner_test.go b/agent/versioner/versioner_test.go index 3dbd7413a21..243c3150e5f 100644 --- a/agent/versioner/versioner_test.go +++ b/agent/versioner/versioner_test.go @@ -21,6 +21,7 @@ import ( "github.com/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" ) type mockedExec struct { @@ -51,7 +52,7 @@ func TestVersioner(t *testing.T) { execMock.On("CommandContext", mock.Anything, mysqldBin, "--version"). Return(&mockedExec{Output: mysqldVersionOutput}).Once() version, err := versioner.MySQLdVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "8.0.22-13", version) }) @@ -63,7 +64,7 @@ xtrabackup version 2.4.23 based on MySQL server 5.7.34 Linux (x86_64) (revision execMock.On("CommandContext", mock.Anything, xtrabackupBin, "--version"). Return(&mockedExec{Output: xtrabackup2VersionOutput}).Once() version, err := versioner.XtrabackupVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "2.4.23", version) }) @@ -74,7 +75,7 @@ xtrabackup version 2.4.23 based on MySQL server 5.7.34 Linux (x86_64) (revision execMock.On("CommandContext", mock.Anything, xtrabackupBin, "--version"). Return(&mockedExec{Output: xtrabackup8VersionOutput}).Once() version, err := versioner.XtrabackupVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "8.0.23-16", version) }) @@ -85,7 +86,7 @@ xtrabackup version 2.4.23 based on MySQL server 5.7.34 Linux (x86_64) (revision execMock.On("CommandContext", mock.Anything, xbcloudBin, "--version"). Return(&mockedExec{Output: xbcloudVersionOutput}).Once() version, err := versioner.XbcloudVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "8.0.23-16", version) }) @@ -99,7 +100,7 @@ Compiled for: Windows [*nix] [x86/x64] RISC 32-bit [64-bit] execMock.On("CommandContext", mock.Anything, qpressBin). Return(&mockedExec{Output: qpressVersionOutput}).Once() version, err := versioner.QpressVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "1.1", version) }) @@ -114,7 +115,7 @@ Build Info: { execMock.On("CommandContext", mock.Anything, mongodbBin, "--version"). Return(&mockedExec{Output: mongodVersionOutput}).Once() version, err := versioner.MongoDBVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "6.0.2-1", version) }) @@ -128,7 +129,7 @@ GitCommit: 3ec38a5fc6706515fb1be72b015972af1500aa17 execMock.On("CommandContext", mock.Anything, pbmBin, "version"). Return(&mockedExec{Output: pbmVersionOutput}).Once() version, err := versioner.PBMVersion() - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "2.0.2", version) }) diff --git a/api-tests/alerting/alerting_test.go b/api-tests/alerting/alerting_test.go index 95483fcdf41..a22db9c7a6e 100644 --- a/api-tests/alerting/alerting_test.go +++ b/api-tests/alerting/alerting_test.go @@ -569,14 +569,14 @@ func assertTemplate(t *testing.T, expectedTemplate alert.Template, listTemplates require.NotNil(t, param.Float) value, err := expectedParam.GetValueForFloat() require.NoError(t, err) - assert.Equal(t, value, *param.Float.Default) //nolint:testifylint + assert.InEpsilon(t, value, *param.Float.Default, 0.0001) } if len(expectedParam.Range) != 0 { - min, max, err := expectedParam.GetRangeForFloat() + minR, maxR, err := expectedParam.GetRangeForFloat() require.NoError(t, err) - assert.Equal(t, min, *param.Float.Min) //nolint:testifylint - assert.Equal(t, max, *param.Float.Max) //nolint:testifylint + assert.InDelta(t, minR, *param.Float.Min, 0.0001) + assert.InEpsilon(t, maxR, *param.Float.Max, 0.0001) } assert.Nil(t, param.Bool) diff --git a/api-tests/helpers.go b/api-tests/helpers.go index 0391a2c9f9d..feeba73f7a8 100644 --- a/api-tests/helpers.go +++ b/api-tests/helpers.go @@ -471,7 +471,7 @@ func GetGrafanaClient(t *testing.T) *gapi.Client { Transport: adminTransport, }, }) - assert.NoError(t, err) + require.NoError(t, err) gClient = grafanaClient }) diff --git a/api-tests/inventory/services_test.go b/api-tests/inventory/services_test.go index c6ea462a8d1..b4d405805e2 100644 --- a/api-tests/inventory/services_test.go +++ b/api-tests/inventory/services_test.go @@ -1218,10 +1218,10 @@ func TestExternalService(t *testing.T) { }) require.NoError(t, err) assert.NotNil(t, noFilterServicesList) - assert.GreaterOrEqual(t, len(noFilterServicesList.Payload.Mysql), 0) - assert.GreaterOrEqual(t, len(noFilterServicesList.Payload.Mongodb), 0) + assert.Empty(t, noFilterServicesList.Payload.Mysql) + assert.Empty(t, noFilterServicesList.Payload.Mongodb) assert.NotEmpty(t, noFilterServicesList.Payload.Postgresql) - assert.GreaterOrEqual(t, len(noFilterServicesList.Payload.Proxysql), 0) + assert.Empty(t, noFilterServicesList.Payload.Proxysql) assert.NotEmpty(t, noFilterServicesList.Payload.External) assert.Conditionf(t, containsExternalWithGroup(noFilterServicesList.Payload.External, "redis"), "list does not contain external group %s", "redis") diff --git a/api-tests/management/action/explain_test.go b/api-tests/management/action/explain_test.go index b9315cb3079..f16ebae7b19 100644 --- a/api-tests/management/action/explain_test.go +++ b/api-tests/management/action/explain_test.go @@ -117,6 +117,6 @@ func TestRunMongoDBExplain(t *testing.T) { } m := make(map[string]interface{}) err = json.Unmarshal([]byte(actionOK.Payload.Output), &m) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, want, m["queryPlanner"]) } diff --git a/api-tests/management/annotation_test.go b/api-tests/management/annotation_test.go index cf4a31387e0..a7fdf9cab25 100644 --- a/api-tests/management/annotation_test.go +++ b/api-tests/management/annotation_test.go @@ -20,7 +20,6 @@ import ( "strings" "testing" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/grpc/codes" @@ -105,7 +104,7 @@ func TestAddAnnotation(t *testing.T) { Context: pmmapitests.Context, } resNode, err := inventoryClient.Default.NodesService.AddNode(paramsNode) - assert.NoError(t, err) + require.NoError(t, err) genericNodeID := resNode.Payload.Generic.NodeID t.Cleanup(func() { pmmapitests.RemoveNodes(t, genericNodeID) @@ -136,7 +135,7 @@ func TestAddAnnotation(t *testing.T) { Context: pmmapitests.Context, } resNode, err := inventoryClient.Default.NodesService.AddNode(paramsNode) - assert.NoError(t, err) + require.NoError(t, err) genericNodeID := resNode.Payload.Generic.NodeID t.Cleanup(func() { pmmapitests.RemoveNodes(t, genericNodeID) @@ -156,7 +155,7 @@ func TestAddAnnotation(t *testing.T) { } resService, err := inventoryClient.Default.ServicesService.AddService(paramsService) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, resService) serviceID := resService.Payload.Mysql.ServiceID t.Cleanup(func() { @@ -188,7 +187,7 @@ func TestAddAnnotation(t *testing.T) { Context: pmmapitests.Context, } res, err := inventoryClient.Default.NodesService.AddNode(params) - assert.NoError(t, err) + require.NoError(t, err) nodeID := res.Payload.Generic.NodeID t.Cleanup(func() { pmmapitests.RemoveNodes(t, nodeID) diff --git a/api-tests/management/external_test.go b/api-tests/management/external_test.go index 2c2fdf3d68f..e6695858790 100644 --- a/api-tests/management/external_test.go +++ b/api-tests/management/external_test.go @@ -71,7 +71,7 @@ func TestAddExternal(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ External: &services.GetServiceOKBodyExternal{ @@ -90,7 +90,7 @@ func TestAddExternal(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyExternalExporterItems0{ { AgentID: listAgents.Payload.ExternalExporter[0].AgentID, @@ -149,7 +149,7 @@ func TestAddExternal(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ External: &services.GetServiceOKBodyExternal{ @@ -213,7 +213,7 @@ func TestAddExternal(t *testing.T) { NodeID: nodeID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, node) assert.Equal(t, nodes.GetNodeOKBody{ Remote: &nodes.GetNodeOKBodyRemote{ @@ -230,7 +230,7 @@ func TestAddExternal(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ External: &services.GetServiceOKBodyExternal{ @@ -249,7 +249,7 @@ func TestAddExternal(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyExternalExporterItems0{ { AgentID: listAgents.Payload.ExternalExporter[0].AgentID, diff --git a/api-tests/management/haproxy_test.go b/api-tests/management/haproxy_test.go index a00356bf59f..17eb027dba3 100644 --- a/api-tests/management/haproxy_test.go +++ b/api-tests/management/haproxy_test.go @@ -70,7 +70,7 @@ func TestAddHAProxy(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Haproxy: &services.GetServiceOKBodyHaproxy{ @@ -86,7 +86,7 @@ func TestAddHAProxy(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyExternalExporterItems0{ { AgentID: listAgents.Payload.ExternalExporter[0].AgentID, @@ -146,7 +146,7 @@ func TestAddHAProxy(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Haproxy: &services.GetServiceOKBodyHaproxy{ @@ -204,7 +204,7 @@ func TestAddHAProxy(t *testing.T) { NodeID: nodeID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, node) assert.Equal(t, nodes.GetNodeOKBody{ Remote: &nodes.GetNodeOKBodyRemote{ @@ -221,7 +221,7 @@ func TestAddHAProxy(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Haproxy: &services.GetServiceOKBodyHaproxy{ @@ -237,7 +237,7 @@ func TestAddHAProxy(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyExternalExporterItems0{ { AgentID: listAgents.Payload.ExternalExporter[0].AgentID, diff --git a/api-tests/management/helpers.go b/api-tests/management/helpers.go index b6690f561e7..77cbf28e007 100644 --- a/api-tests/management/helpers.go +++ b/api-tests/management/helpers.go @@ -78,7 +78,7 @@ func assertNodeExporterCreated(t *testing.T, pmmAgentID string) (string, bool) { PMMAgentID: new(pmmAgentID), Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.Len(t, listAgentsOK.Payload.NodeExporter, 1) nodeExporterAgentID := listAgentsOK.Payload.NodeExporter[0].AgentID asserted := assert.Equal(t, agents.ListAgentsOKBodyNodeExporterItems0{ @@ -100,7 +100,7 @@ func assertPMMAgentCreated(t *testing.T, nodeID string, pmmAgentID string) { AgentID: pmmAgentID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, agents.GetAgentOKBody{ PMMAgent: &agents.GetAgentOKBodyPMMAgent{ AgentID: pmmAgentID, @@ -117,7 +117,7 @@ func assertNodeCreated(t *testing.T, nodeID string, expectedResult nodes.GetNode NodeID: nodeID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, expectedResult, *nodeOK.Payload) } diff --git a/api-tests/management/mongodb_test.go b/api-tests/management/mongodb_test.go index 578b3726fde..f70e22d8430 100644 --- a/api-tests/management/mongodb_test.go +++ b/api-tests/management/mongodb_test.go @@ -75,7 +75,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -93,7 +93,7 @@ func TestAddMongoDB(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMongodbExporterItems0{ { AgentID: listAgents.Payload.MongodbExporter[0].AgentID, @@ -154,7 +154,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -172,7 +172,7 @@ func TestAddMongoDB(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, listAgents) require.Len(t, listAgents.Payload.MongodbExporter, 1) @@ -261,7 +261,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -665,7 +665,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -682,7 +682,7 @@ func TestAddMongoDB(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMongodbExporterItems0{ { AgentID: listAgents.Payload.MongodbExporter[0].AgentID, @@ -740,7 +740,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -758,7 +758,7 @@ func TestAddMongoDB(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMongodbExporterItems0{ { AgentID: listAgents.Payload.MongodbExporter[0].AgentID, @@ -816,7 +816,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -834,7 +834,7 @@ func TestAddMongoDB(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMongodbExporterItems0{ { AgentID: listAgents.Payload.MongodbExporter[0].AgentID, @@ -891,7 +891,7 @@ func TestAddMongoDB(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mongodb: &services.GetServiceOKBodyMongodb{ @@ -909,7 +909,7 @@ func TestAddMongoDB(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMongodbExporterItems0{ { AgentID: listAgents.Payload.MongodbExporter[0].AgentID, diff --git a/api-tests/management/mysql_test.go b/api-tests/management/mysql_test.go index aa6c452670c..78a01a11db9 100644 --- a/api-tests/management/mysql_test.go +++ b/api-tests/management/mysql_test.go @@ -76,7 +76,7 @@ func TestAddMySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mysql: &services.GetServiceOKBodyMysql{ @@ -95,7 +95,7 @@ func TestAddMySQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMysqldExporterItems0{ { AgentID: listAgents.Payload.MysqldExporter[0].AgentID, @@ -158,7 +158,7 @@ func TestAddMySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mysql: &services.GetServiceOKBodyMysql{ @@ -177,7 +177,7 @@ func TestAddMySQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, listAgents) require.Len(t, listAgents.Payload.MysqldExporter, 1) require.Len(t, listAgents.Payload.QANMysqlSlowlogAgent, 1) @@ -274,7 +274,7 @@ func TestAddMySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mysql: &services.GetServiceOKBodyMysql{ @@ -723,7 +723,7 @@ func TestAddMySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mysql: &services.GetServiceOKBodyMysql{ @@ -742,7 +742,7 @@ func TestAddMySQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMysqldExporterItems0{ { AgentID: listAgents.Payload.MysqldExporter[0].AgentID, @@ -802,7 +802,7 @@ func TestAddMySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mysql: &services.GetServiceOKBodyMysql{ @@ -821,7 +821,7 @@ func TestAddMySQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMysqldExporterItems0{ { AgentID: listAgents.Payload.MysqldExporter[0].AgentID, @@ -880,7 +880,7 @@ func TestAddMySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Mysql: &services.GetServiceOKBodyMysql{ @@ -899,7 +899,7 @@ func TestAddMySQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyMysqldExporterItems0{ { AgentID: listAgents.Payload.MysqldExporter[0].AgentID, diff --git a/api-tests/management/nodes_test.go b/api-tests/management/nodes_test.go index 30d6b450b66..43b6da06a70 100644 --- a/api-tests/management/nodes_test.go +++ b/api-tests/management/nodes_test.go @@ -138,7 +138,7 @@ func TestNodeRegister(t *testing.T) { Body: body, } node, err := client.Default.ManagementService.RegisterNode(¶ms) - assert.NoError(t, err) + require.NoError(t, err) nodeID := node.Payload.GenericNode.NodeID t.Cleanup(func() { pmmapitests.UnregisterNodes(t, nodeID) @@ -200,7 +200,7 @@ func TestNodeRegister(t *testing.T) { Body: body, } node, err := client.Default.ManagementService.RegisterNode(¶ms) - assert.NoError(t, err) + require.NoError(t, err) nodeID := node.Payload.GenericNode.NodeID t.Cleanup(func() { @@ -254,7 +254,7 @@ func TestNodeRegister(t *testing.T) { PMMAgentID: new(pmmAgentID), Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.Len(t, listAgentsOK.Payload.NodeExporter, 1) nodeExporterAgentID := listAgentsOK.Payload.NodeExporter[0].AgentID assert.Equal(t, agents.ListAgentsOKBodyNodeExporterItems0{ diff --git a/api-tests/management/postgresql_test.go b/api-tests/management/postgresql_test.go index b33e5b55dd5..50e1c60d004 100644 --- a/api-tests/management/postgresql_test.go +++ b/api-tests/management/postgresql_test.go @@ -80,7 +80,7 @@ func TestAddPostgreSQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Postgresql: &services.GetServiceOKBodyPostgresql{ @@ -99,7 +99,7 @@ func TestAddPostgreSQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyPostgresExporterItems0{ { AgentID: listAgents.Payload.PostgresExporter[0].AgentID, @@ -164,7 +164,7 @@ func TestAddPostgreSQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Postgresql: &services.GetServiceOKBodyPostgresql{ @@ -183,7 +183,7 @@ func TestAddPostgreSQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, listAgents) require.Len(t, listAgents.Payload.PostgresExporter, 1) require.Len(t, listAgents.Payload.QANPostgresqlPgstatementsAgent, 1) @@ -273,7 +273,7 @@ func TestAddPostgreSQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Postgresql: &services.GetServiceOKBodyPostgresql{ @@ -691,7 +691,7 @@ func TestAddPostgreSQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Postgresql: &services.GetServiceOKBodyPostgresql{ @@ -710,7 +710,7 @@ func TestAddPostgreSQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyPostgresExporterItems0{ { AgentID: listAgents.Payload.PostgresExporter[0].AgentID, @@ -769,7 +769,7 @@ func TestAddPostgreSQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Postgresql: &services.GetServiceOKBodyPostgresql{ @@ -788,7 +788,7 @@ func TestAddPostgreSQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyPostgresExporterItems0{ { AgentID: listAgents.Payload.PostgresExporter[0].AgentID, @@ -846,7 +846,7 @@ func TestAddPostgreSQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Postgresql: &services.GetServiceOKBodyPostgresql{ @@ -865,7 +865,7 @@ func TestAddPostgreSQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyPostgresExporterItems0{ { AgentID: listAgents.Payload.PostgresExporter[0].AgentID, diff --git a/api-tests/management/proxysql_test.go b/api-tests/management/proxysql_test.go index 3671e82fb4d..841dbba3eab 100644 --- a/api-tests/management/proxysql_test.go +++ b/api-tests/management/proxysql_test.go @@ -152,7 +152,7 @@ func TestAddProxySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Proxysql: &services.GetServiceOKBodyProxysql{ @@ -170,7 +170,7 @@ func TestAddProxySQL(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, listAgents) require.Len(t, listAgents.Payload.ProxysqlExporter, 1) assert.Equal(t, []*agents.ListAgentsOKBodyProxysqlExporterItems0{ @@ -234,7 +234,7 @@ func TestAddProxySQL(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Proxysql: &services.GetServiceOKBodyProxysql{ diff --git a/api-tests/management/valkey_test.go b/api-tests/management/valkey_test.go index c92eaf76931..7a977ce5efb 100644 --- a/api-tests/management/valkey_test.go +++ b/api-tests/management/valkey_test.go @@ -74,7 +74,7 @@ func TestAddValkey(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Valkey: &services.GetServiceOKBodyValkey{ @@ -92,7 +92,7 @@ func TestAddValkey(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, []*agents.ListAgentsOKBodyValkeyExporterItems0{ { AgentID: listAgents.Payload.ValkeyExporter[0].AgentID, @@ -148,7 +148,7 @@ func TestAddValkey(t *testing.T) { ServiceID: serviceID, Context: pmmapitests.Context, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, serviceOK) assert.Equal(t, services.GetServiceOKBody{ Valkey: &services.GetServiceOKBodyValkey{ @@ -166,7 +166,7 @@ func TestAddValkey(t *testing.T) { Context: pmmapitests.Context, ServiceID: new(serviceID), }) - assert.NoError(t, err) + require.NoError(t, err) require.NotNil(t, listAgents) require.Len(t, listAgents.Payload.ValkeyExporter, 1) assert.Equal(t, []*agents.ListAgentsOKBodyValkeyExporterItems0{ diff --git a/api-tests/server/logs_test.go b/api-tests/server/logs_test.go index 1a9c7750db4..9700751a249 100644 --- a/api-tests/server/logs_test.go +++ b/api-tests/server/logs_test.go @@ -42,7 +42,7 @@ func TestDownloadLogs(t *testing.T) { r := bytes.NewReader(buf.Bytes()) zipR, err := zip.NewReader(r, r.Size()) - assert.NoError(t, err) + require.NoError(t, err) expected := []string{ "clickhouse-server.log", diff --git a/api-tests/server/settings/settings_test.go b/api-tests/server/settings/settings_test.go index 3cb5c0ff9b7..e4ef24f9cb3 100644 --- a/api-tests/server/settings/settings_test.go +++ b/api-tests/server/settings/settings_test.go @@ -765,7 +765,7 @@ func TestSettings(t *testing.T) { t.Logf("Response:\n%s", b) } b, err = io.ReadAll(resp.Body) - assert.NoError(t, err) + require.NoError(t, err) resp.Body.Close() //nolint:errcheck assert.Equal(t, 200, resp.StatusCode, "response:\n%s", b) diff --git a/managed/models/action_helpers_test.go b/managed/models/action_helpers_test.go index 019c0543140..bbbc4b2a887 100644 --- a/managed/models/action_helpers_test.go +++ b/managed/models/action_helpers_test.go @@ -169,7 +169,7 @@ func TestCleanupResults(t *testing.T) { defer teardown(t) err := models.CleanupOldActionResults(q, models.Now().Add(-1*time.Second)) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindActionResultByID(q, "A1") require.Error(t, err) diff --git a/managed/models/agent_helpers_test.go b/managed/models/agent_helpers_test.go index 8dafb74129f..36a599646a4 100644 --- a/managed/models/agent_helpers_test.go +++ b/managed/models/agent_helpers_test.go @@ -445,7 +445,7 @@ func TestAgentHelpers(t *testing.T) { } agent, err = models.RemoveAgent(q, "A1", models.RemoveCascade) assert.Equal(t, expected, agent) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindAgentByID(q, "A1") tests.AssertGRPCError(t, status.New(codes.NotFound, `Agent with ID A1 not found.`), err) }) diff --git a/managed/models/agentversion_test.go b/managed/models/agentversion_test.go index 5fd943c3e42..208086c5e58 100644 --- a/managed/models/agentversion_test.go +++ b/managed/models/agentversion_test.go @@ -75,7 +75,7 @@ func TestPMMAgentSupported(t *testing.T) { } err := models.IsAgentSupported(&agentModel, prefix, minVersion) if test.errString == "" { - assert.NoError(t, err) + require.NoError(t, err) } else { assert.Contains(t, err.Error(), test.errString) } @@ -162,12 +162,12 @@ func TestIsPostgreSQLSSLSniSupported(t *testing.T) { t.Run(tt.pmmAgentID, func(t *testing.T) { actual, err := models.IsPostgreSQLSSLSniSupported(q, tt.pmmAgentID) assert.Equal(t, tt.expected, actual) - assert.NoError(t, err) + require.NoError(t, err) }) } t.Run("Non-existing ID", func(t *testing.T) { _, err := models.IsPostgreSQLSSLSniSupported(q, "Not exist") - assert.Error(t, err) + require.Error(t, err) }) } diff --git a/managed/models/artifact_helpers_test.go b/managed/models/artifact_helpers_test.go index 35daf24d65c..9fd91e13689 100644 --- a/managed/models/artifact_helpers_test.go +++ b/managed/models/artifact_helpers_test.go @@ -436,7 +436,7 @@ func TestArtifactValidation(t *testing.T) { c, err := models.CreateArtifact(q, test.params) if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) assert.Nil(t, c) return } diff --git a/managed/models/database_test.go b/managed/models/database_test.go index 840c1354c0f..ad7586d550f 100644 --- a/managed/models/database_test.go +++ b/managed/models/database_test.go @@ -35,7 +35,8 @@ import ( func assertUniqueViolation(t *testing.T, err error, constraint string) { t.Helper() - require.IsType(t, &pq.Error{}, err) + var targetErr *pq.Error + require.ErrorAs(t, err, &targetErr) pgErr := err.(*pq.Error) //nolint:errorlint assert.Equal(t, pqerror.Code("23505"), pgErr.Code) assert.Equal(t, fmt.Sprintf(`duplicate key value violates unique constraint %q`, constraint), pgErr.Message) @@ -44,7 +45,8 @@ func assertUniqueViolation(t *testing.T, err error, constraint string) { func assertCheckViolation(t *testing.T, err error, table, constraint string) { //nolint:unparam t.Helper() - require.IsType(t, &pq.Error{}, err) + var targetErr *pq.Error + require.ErrorAs(t, err, &targetErr) pgErr := err.(*pq.Error) //nolint:errorlint assert.Equal(t, pqerror.Code("23514"), pgErr.Code) assert.Equal(t, fmt.Sprintf(`new row for relation %q violates check constraint %q`, table, constraint), pgErr.Message) @@ -311,7 +313,7 @@ func TestDatabaseChecks(t *testing.T) { `VALUES ('8', 'node_exporter', NULL, '1', '1', NULL, false, '', $1, $2, false, false, '{"max_query_length": 0, "query_examples_disabled": false, "comments_parsing_disabled": true, "max_query_log_size": 0}', '{"table_count_tablestats_group_limit": 0}', '{"rds_basic_metrics_disabled": false, "rds_enhanced_metrics_disabled": false}', '{"push_metrics": false, "expose_exporter": false}')`, now, now, ) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("service_id set", func(t *testing.T) { @@ -323,7 +325,7 @@ func TestDatabaseChecks(t *testing.T) { `VALUES ('8', 'mysqld_exporter', NULL, '1', NULL, '1', false, '', $1, $2, false, false, '{"max_query_length": 0, "query_examples_disabled": false, "comments_parsing_disabled": true, "max_query_log_size": 0}', '{"table_count_tablestats_group_limit": 0}', '{"rds_basic_metrics_disabled": false, "rds_enhanced_metrics_disabled": false}', '{"push_metrics": false, "expose_exporter": false}')`, now, now, ) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("Both NULL", func(t *testing.T) { diff --git a/managed/models/job_helpers_test.go b/managed/models/job_helpers_test.go index e786f9913a8..2eeaef9b05e 100644 --- a/managed/models/job_helpers_test.go +++ b/managed/models/job_helpers_test.go @@ -66,7 +66,7 @@ func TestJobs(t *testing.T) { assert.Equal(t, createJobParams.Data.MongoDBBackup.ArtifactID, job.Data.MongoDBBackup.ArtifactID) _, err = models.CreateJob(tx.Querier, models.CreateJobParams{Type: "unknown"}) - assert.EqualError(t, err, "unknown job type: unknown") + require.EqualError(t, err, "unknown job type: unknown") }) t.Run("find", func(t *testing.T) { @@ -253,7 +253,7 @@ func TestJobLogs(t *testing.T) { logs, err := models.FindJobLogs(tx.Querier, models.JobLogsFilter{ JobID: jobID, }) - assert.NoError(t, err) + require.NoError(t, err) assert.Empty(t, logs) } }) diff --git a/managed/models/location_helpers_test.go b/managed/models/location_helpers_test.go index d1ad445c6bf..0d8cacad623 100644 --- a/managed/models/location_helpers_test.go +++ b/managed/models/location_helpers_test.go @@ -560,10 +560,10 @@ func TestCreateBackupLocationValidation(t *testing.T) { c, err := models.CreateBackupLocation(q, test.params) if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) return } - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, c) }) } @@ -610,10 +610,10 @@ func TestParseEndpoint(t *testing.T) { t.Run(test.name, func(t *testing.T) { res, err := models.ParseEndpoint(test.endpoint) if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) return } - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, test.url, *res) }) } diff --git a/managed/models/models_test.go b/managed/models/models_test.go index e3846bfbe60..ae1764eb7ce 100644 --- a/managed/models/models_test.go +++ b/managed/models/models_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -33,10 +34,10 @@ func TestLabels(t *testing.T) { var b []byte err := setLabels(map[string]string{"_1foo": "bar", "baz": " "}, &b) - assert.NoError(t, err) + require.NoError(t, err) assert.JSONEq(t, `{"_1foo":"bar","baz":""}`, string(b)) m, err := getLabels(b) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, map[string]string{"_1foo": "bar", "baz": ""}, m) }) @@ -45,10 +46,10 @@ func TestLabels(t *testing.T) { var b []byte err := setLabels(make(map[string]string), &b) - assert.NoError(t, err) + require.NoError(t, err) assert.Nil(t, b) m, err := getLabels(b) - assert.NoError(t, err) + require.NoError(t, err) assert.Nil(t, m) }) diff --git a/managed/models/node_helpers_test.go b/managed/models/node_helpers_test.go index d7e7eca5747..9a01814ae87 100644 --- a/managed/models/node_helpers_test.go +++ b/managed/models/node_helpers_test.go @@ -130,7 +130,7 @@ func TestNodeHelpers(t *testing.T) { NodeName: t.Name(), MachineID: new(machineID + "\n"), }) - assert.NoError(t, err) + require.NoError(t, err) structs, err := q.SelectAllFrom(models.NodeTable, "WHERE machine_id = $1 ORDER BY node_id", machineID) require.NoError(t, err) @@ -242,17 +242,17 @@ func TestNodeHelpers(t *testing.T) { tests.AssertGRPCError(t, status.New(codes.FailedPrecondition, `Node with ID "MySQLNode" has services.`), err) err = models.RemoveNode(q, "EmptyNode", models.RemoveRestrict) - assert.NoError(t, err) + require.NoError(t, err) err = models.RemoveNode(q, "GenericNode", models.RemoveCascade) - assert.NoError(t, err) + require.NoError(t, err) err = models.RemoveNode(q, "NodeWithPMMAgent", models.RemoveCascade) - assert.NoError(t, err) + require.NoError(t, err) err = models.RemoveNode(q, "MySQLNode", models.RemoveCascade) - assert.NoError(t, err) + require.NoError(t, err) nodes, err := models.FindNodes(q, models.NodeFilters{}) - assert.NoError(t, err) + require.NoError(t, err) require.Len(t, nodes, 1) // PMM Server }) } diff --git a/managed/models/postgresql_version_test.go b/managed/models/postgresql_version_test.go index 88fa4f75abb..300a3ff8d05 100644 --- a/managed/models/postgresql_version_test.go +++ b/managed/models/postgresql_version_test.go @@ -86,11 +86,11 @@ func TestGetPostgreSQLVersion(t *testing.T) { version, err := GetPostgreSQLVersion(ctx, q) if tc.wantError { - assert.Error(t, err) + require.Error(t, err) } else { assert.InEpsilon(t, tc.wantVersion.Float(), version.Float(), 0.0001) assert.Equal(t, tc.wantVersion.String(), version.String()) - assert.NoError(t, err) + require.NoError(t, err) } }) } diff --git a/managed/models/restore_history_helpers_test.go b/managed/models/restore_history_helpers_test.go index 54d3d982ae6..d5f98444dcf 100644 --- a/managed/models/restore_history_helpers_test.go +++ b/managed/models/restore_history_helpers_test.go @@ -275,7 +275,7 @@ func TestRestoreHistoryValidation(t *testing.T) { c, err := models.CreateRestoreHistoryItem(nil, test.params) if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) assert.Nil(t, c) return } diff --git a/managed/models/scheduled_tasks_helpers_test.go b/managed/models/scheduled_tasks_helpers_test.go index 96cdf694582..37956da0c21 100644 --- a/managed/models/scheduled_tasks_helpers_test.go +++ b/managed/models/scheduled_tasks_helpers_test.go @@ -127,7 +127,7 @@ func TestScheduledTaskHelpers(t *testing.T) { require.NoError(t, err) task, err = models.FindScheduledTaskByID(tx.Querier, task.ID) - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, task.ID) assert.Equal(t, createParams1.CronExpression, task.CronExpression) assert.Equal(t, createParams1.Type, task.Type) @@ -169,7 +169,7 @@ func TestScheduledTaskHelpers(t *testing.T) { Error: new("something"), } task1, err = models.ChangeScheduledTask(tx.Querier, task1.ID, changeParams1) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, *changeParams1.NextRun, task1.NextRun) assert.Equal(t, *changeParams1.LastRun, task1.LastRun) assert.Equal(t, *changeParams1.Disable, task1.Disabled) @@ -189,7 +189,7 @@ func TestScheduledTaskHelpers(t *testing.T) { }, } _, err = models.ChangeScheduledTask(tx.Querier, task2.ID, changeParams2) - assert.ErrorIs(t, err, models.ErrAlreadyExists) + require.ErrorIs(t, err, models.ErrAlreadyExists) }) t.Run("Remove", func(t *testing.T) { @@ -203,10 +203,10 @@ func TestScheduledTaskHelpers(t *testing.T) { require.NoError(t, err) err = models.RemoveScheduledTask(tx.Querier, task.ID) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindScheduledTaskByID(tx.Querier, task.ID) - assert.ErrorIs(t, err, models.ErrNotFound, "task is not removed") + require.ErrorIs(t, err, models.ErrNotFound, "task is not removed") }) t.Run("Find", func(t *testing.T) { @@ -280,7 +280,7 @@ func TestScheduledTaskHelpers(t *testing.T) { for _, tc := range tests { tasks, err := models.FindScheduledTasks(tx.Querier, tc.filter) - assert.NoError(t, err) + require.NoError(t, err) ids := make([]string, 0, len(tasks)) for _, task := range tasks { ids = append(ids, task.ID) diff --git a/managed/models/service_helpers_test.go b/managed/models/service_helpers_test.go index f461292c93b..bc915570e1d 100644 --- a/managed/models/service_helpers_test.go +++ b/managed/models/service_helpers_test.go @@ -160,11 +160,11 @@ func TestServiceHelpers(t *testing.T) { defer teardown(t) services, err := models.FindServices(q, models.ServiceFilters{}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 9) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N1"}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 4) assert.Equal(t, []*models.Service{{ ServiceID: "S1", @@ -205,7 +205,7 @@ func TestServiceHelpers(t *testing.T) { }}, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N1", ServiceType: new(models.MySQLServiceType)}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 1) assert.Equal(t, []*models.Service{{ ServiceID: "S2", @@ -219,7 +219,7 @@ func TestServiceHelpers(t *testing.T) { }}, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N2", ServiceType: new(models.ExternalServiceType)}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 2) assert.Equal(t, []*models.Service{ { @@ -245,7 +245,7 @@ func TestServiceHelpers(t *testing.T) { }, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N2", ServiceType: new(models.ProxySQLServiceType)}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 1) assert.Equal(t, []*models.Service{{ ServiceID: "S6", @@ -258,7 +258,7 @@ func TestServiceHelpers(t *testing.T) { }}, services) services, err = models.FindServices(q, models.ServiceFilters{ExternalGroup: "redis"}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 1) assert.Equal(t, []*models.Service{{ ServiceID: "S7", @@ -273,7 +273,7 @@ func TestServiceHelpers(t *testing.T) { }}, services) services, err = models.FindServices(q, models.ServiceFilters{NodeID: "N2", ServiceType: new(models.HAProxyServiceType)}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, services, 1) assert.Equal(t, []*models.Service{{ ServiceID: "S8", @@ -290,7 +290,7 @@ func TestServiceHelpers(t *testing.T) { defer teardown(t) types, err := models.FindActiveServiceTypes(q) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, types, 6) }) @@ -307,7 +307,7 @@ func TestServiceHelpers(t *testing.T) { _, err = models.FindServiceByID(q, "S1") require.NoError(t, err) err = models.RemoveService(q, "S1", models.RemoveRestrict) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindServiceByID(q, "S1") tests.AssertGRPCError(t, status.New(codes.NotFound, `Service with ID "S1" not found.`), err) @@ -317,7 +317,7 @@ func TestServiceHelpers(t *testing.T) { _, err = models.FindServiceByID(q, "S2") require.NoError(t, err) err = models.RemoveService(q, "S2", models.RemoveCascade) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindServiceByID(q, "S2") tests.AssertGRPCError(t, status.New(codes.NotFound, `Service with ID "S2" not found.`), err) }) @@ -454,7 +454,7 @@ func TestServiceHelpers(t *testing.T) { ServiceType: new(models.MongoDBServiceType), Cluster: "cluster0", }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, services) assert.ElementsMatch(t, []*models.Service{s1, s2}, services) }) @@ -533,7 +533,7 @@ func TestServiceHelpers(t *testing.T) { return } - assert.ErrorIs(t, err, models.ErrNotFound) + require.ErrorIs(t, err, models.ErrNotFound) assert.Nil(t, swVersions) } }) diff --git a/managed/models/settings_helpers_test.go b/managed/models/settings_helpers_test.go index 2c329117c83..cfa2c9c7727 100644 --- a/managed/models/settings_helpers_test.go +++ b/managed/models/settings_helpers_test.go @@ -91,14 +91,14 @@ func TestSettings(t *testing.T) { _, err := models.UpdateSettings(sqlDB, s) var errInvalidArgument *models.InvalidArgumentError assert.True(t, errors.As(err, &errInvalidArgument)) - assert.EqualError(t, err, `invalid argument: aws_partitions: partition "foo" is invalid`) + require.EqualError(t, err, `invalid argument: aws_partitions: partition "foo" is invalid`) s = &models.ChangeSettingsParams{ AWSPartitions: []string{"foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo"}, } _, err = models.UpdateSettings(sqlDB, s) assert.True(t, errors.As(err, &errInvalidArgument)) - assert.EqualError(t, err, `invalid argument: aws_partitions: list is too long`) + require.EqualError(t, err, `invalid argument: aws_partitions: list is too long`) s = &models.ChangeSettingsParams{ AWSPartitions: []string{"aws", "aws-cn", "aws-cn"}, @@ -127,26 +127,26 @@ func TestSettings(t *testing.T) { }) var errInvalidArgument *models.InvalidArgumentError assert.True(t, errors.As(err, &errInvalidArgument)) - assert.EqualError(t, err, `invalid argument: mr: minimal resolution is 1s`) + require.EqualError(t, err, `invalid argument: mr: minimal resolution is 1s`) mr = models.MetricsResolutions{MR: 2*time.Second + (500 * time.Millisecond)} // 2.5s _, err = models.UpdateSettings(sqlDB, &models.ChangeSettingsParams{ MetricsResolutions: mr, }) assert.True(t, errors.As(err, &errInvalidArgument)) - assert.EqualError(t, err, `invalid argument: mr: should be a natural number of seconds`) + require.EqualError(t, err, `invalid argument: mr: should be a natural number of seconds`) _, err = models.UpdateSettings(sqlDB, &models.ChangeSettingsParams{ DataRetention: 90000 * time.Second, // 25h }) assert.True(t, errors.As(err, &errInvalidArgument)) - assert.EqualError(t, err, `invalid argument: data_retention: should be a natural number of days`) + require.EqualError(t, err, `invalid argument: data_retention: should be a natural number of days`) _, err = models.UpdateSettings(sqlDB, &models.ChangeSettingsParams{ DataRetention: 43200 * time.Second, // 12h }) assert.True(t, errors.As(err, &errInvalidArgument)) - assert.EqualError(t, err, `invalid argument: data_retention: minimal resolution is 24h`) + require.EqualError(t, err, `invalid argument: data_retention: minimal resolution is 24h`) }) t.Run("Updates validation", func(t *testing.T) { diff --git a/managed/models/software_version_helpers_test.go b/managed/models/software_version_helpers_test.go index 5ca9277b7f5..eb49ae5f92a 100644 --- a/managed/models/software_version_helpers_test.go +++ b/managed/models/software_version_helpers_test.go @@ -386,7 +386,7 @@ func TestSoftwareVersionsParamsValidation(t *testing.T) { c, err := models.CreateServiceSoftwareVersions(q, test.params) if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) assert.Nil(t, c) return } @@ -439,9 +439,9 @@ func TestUpdateServiceSoftwareVersionsParamsValidation(t *testing.T) { t.Run(test.name, func(t *testing.T) { err := test.params.Validate() if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) } else { - assert.NoError(t, err) + require.NoError(t, err) } }) } diff --git a/managed/services/agents/channel/channel_test.go b/managed/services/agents/channel/channel_test.go index c3ca846386b..2dd356c05ab 100644 --- a/managed/services/agents/channel/channel_test.go +++ b/managed/services/agents/channel/channel_test.go @@ -151,7 +151,7 @@ func TestAgentRequest(t *testing.T) { } err := stream.CloseSend() - assert.NoError(t, err) + require.NoError(t, err) // check metrics expectedMetrics := &Metrics{ @@ -172,7 +172,7 @@ func TestServerRequest(t *testing.T) { pong := resp.(*agentv1.Pong) ts := pong.CurrentTime.AsTime() err = pong.CurrentTime.CheckValid() - assert.NoError(t, err) + require.NoError(t, err) assert.InDelta(t, time.Now().Unix(), ts.Unix(), 1) } @@ -195,11 +195,11 @@ func TestServerRequest(t *testing.T) { CurrentTime: timestamppb.Now(), }).AgentMessageResponsePayload(), }) - assert.NoError(t, err) + require.NoError(t, err) } err := stream.CloseSend() - assert.NoError(t, err) + require.NoError(t, err) } func TestServerExitsWithGRPCError(t *testing.T) { @@ -221,10 +221,10 @@ func TestServerExitsWithGRPCError(t *testing.T) { Id: 1, Payload: collectReq.AgentMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) _, err = stream.Recv() - assert.ErrorIs(t, err, errUnimplemented) + require.ErrorIs(t, err, errUnimplemented) } func TestServerExitsWithUnknownErrorIntercepted(t *testing.T) { @@ -245,7 +245,7 @@ func TestServerExitsWithUnknownErrorIntercepted(t *testing.T) { Id: 1, Payload: collectReq.AgentMessageRequestPayload(), }) - assert.NoError(t, err) + require.NoError(t, err) _, err = stream.Recv() tests.AssertGRPCError(t, status.New(codes.Internal, "Internal server error."), err) @@ -254,7 +254,7 @@ func TestServerExitsWithUnknownErrorIntercepted(t *testing.T) { func TestAgentClosesStream(t *testing.T) { connect := func(ch *Channel) error { resp, err := ch.SendAndWaitResponse(&agentv1.Ping{}) - assert.Errorf(t, err, "channel is closed") + require.Errorf(t, err, "channel is closed") assert.Nil(t, resp) assert.Nil(t, <-ch.Requests()) @@ -269,13 +269,13 @@ func TestAgentClosesStream(t *testing.T) { assert.NotNil(t, msg) err = stream.CloseSend() - assert.NoError(t, err) + require.NoError(t, err) } func TestAgentClosesConnection(t *testing.T) { connect := func(ch *Channel) error { resp, err := ch.SendAndWaitResponse(&agentv1.Ping{}) - assert.Errorf(t, err, "channel is closed") + require.Errorf(t, err, "channel is closed") assert.Nil(t, resp) assert.Nil(t, <-ch.Requests()) @@ -290,7 +290,7 @@ func TestAgentClosesConnection(t *testing.T) { assert.NotNil(t, msg) err = cc.Close() - assert.NoError(t, err) + require.NoError(t, err) } func TestUnexpectedResponseIdFromAgent(t *testing.T) { @@ -325,7 +325,7 @@ func TestUnexpectedResponseIdFromAgent(t *testing.T) { Id: 111, Payload: pong.AgentMessageResponsePayload(), }) - assert.NoError(t, err) + require.NoError(t, err) close(invalidIDSent) // This is a request with a proper id. @@ -334,10 +334,10 @@ func TestUnexpectedResponseIdFromAgent(t *testing.T) { Id: 9898, Payload: pong.AgentMessageResponsePayload(), }) - assert.NoError(t, err) + require.NoError(t, err) _, err = stream.Recv() - assert.NoError(t, err) + require.NoError(t, err) } func TestUnexpectedResponsePayloadFromAgent(t *testing.T) { @@ -358,7 +358,7 @@ func TestUnexpectedResponsePayloadFromAgent(t *testing.T) { msg, err := stream.Recv() assert.Equal(t, int32(codes.Unimplemented), msg.GetStatus().GetCode()) - assert.NoError(t, err) + require.NoError(t, err) close(stopServer) <-stop } diff --git a/managed/services/agents/postgresql_test.go b/managed/services/agents/postgresql_test.go index 5f96b069469..b1a6d6cc794 100644 --- a/managed/services/agents/postgresql_test.go +++ b/managed/services/agents/postgresql_test.go @@ -22,6 +22,7 @@ import ( "github.com/AlekSi/pointer" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" agentv1 "github.com/percona/pmm/api/agent/v1" @@ -84,7 +85,7 @@ func (s *PostgresExporterConfigTestSuite) TestConfig() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") requireNoDuplicateFlags(s.T(), actual.Args) s.Require().Equal(s.expected.Args, actual.Args) @@ -102,7 +103,7 @@ func (s *PostgresExporterConfigTestSuite) TestDatabaseName() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.Require().Equal(s.expected.Env, actual.Env) }) @@ -116,7 +117,7 @@ func (s *PostgresExporterConfigTestSuite) TestDatabaseName() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} _, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") }) }) } @@ -128,7 +129,7 @@ func (s *PostgresExporterConfigTestSuite) TestEmptyPassword() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, exposeSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.Equal("DATA_SOURCE_NAME=postgres://username@1.2.3.4:5432/postgres?connect_timeout=2&sslmode=disable", actual.Env[0]) } @@ -140,7 +141,7 @@ func (s *PostgresExporterConfigTestSuite) TestEmptyUsername() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, exposeSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.Equal("DATA_SOURCE_NAME=postgres://:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=2&sslmode=disable", actual.Env[0]) } @@ -153,7 +154,7 @@ func (s *PostgresExporterConfigTestSuite) TestEmptyUsernameAndPassword() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, exposeSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.Equal("DATA_SOURCE_NAME=postgres://1.2.3.4:5432/postgres?connect_timeout=2&sslmode=disable", actual.Env[0]) } @@ -169,7 +170,7 @@ func (s *PostgresExporterConfigTestSuite) TestSocket() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, exposeSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.Equal("DATA_SOURCE_NAME=postgres:///postgres?connect_timeout=2&host=%2Fvar%2Frun%2Fpostgres&sslmode=disable", actual.Env[0]) } @@ -186,7 +187,7 @@ func (s *PostgresExporterConfigTestSuite) TestDisabledCollectors() { s.exporter.PostgreSQLOptions = models.PostgreSQLOptions{} actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, exposeSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") expected := &agentv1.SetStateRequest_AgentProcess{ Type: inventoryv1.AgentType_AGENT_TYPE_POSTGRES_EXPORTER, @@ -216,7 +217,7 @@ func (s *PostgresExporterConfigTestSuite) TestDialTimeoutRemoteRDSDefault() { s.expected.Env[0] = "DATA_SOURCE_NAME=postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=5&sslmode=disable" actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err) + s.Require().NoError(err) s.Require().Equal(s.expected.Env, actual.Env) } @@ -228,7 +229,7 @@ func (s *PostgresExporterConfigTestSuite) TestDialTimeoutRemoteRDSCustom() { s.expected.Env[0] = "DATA_SOURCE_NAME=postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=8&sslmode=disable" actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err) + s.Require().NoError(err) s.Require().Equal(s.expected.Env, actual.Env) } @@ -239,7 +240,7 @@ func (s *PostgresExporterConfigTestSuite) TestDialTimeoutRoundsUpSubSecondCustom s.expected.Env[0] = "DATA_SOURCE_NAME=postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=2&sslmode=disable" actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err) + s.Require().NoError(err) s.Require().Equal(s.expected.Env, actual.Env) s.Require().NotNil(s.exporter.ExporterOptions.ConnectionTimeout) s.Equal(1500*time.Millisecond, *s.exporter.ExporterOptions.ConnectionTimeout) @@ -252,7 +253,7 @@ func (s *PostgresExporterConfigTestSuite) TestDialTimeoutAzureDefault() { s.expected.Env[0] = "DATA_SOURCE_NAME=postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=5&sslmode=disable" actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err) + s.Require().NoError(err) s.Require().Equal(s.expected.Env, actual.Env) } @@ -263,7 +264,7 @@ func (s *PostgresExporterConfigTestSuite) TestDialTimeoutAzureRoundsUpSubSecondC s.expected.Env[0] = "DATA_SOURCE_NAME=postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=2&sslmode=disable" actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err) + s.Require().NoError(err) s.Require().Equal(s.expected.Env, actual.Env) s.Require().NotNil(s.exporter.ExporterOptions.ConnectionTimeout) s.Equal(1500*time.Millisecond, *s.exporter.ExporterOptions.ConnectionTimeout) @@ -276,7 +277,7 @@ func (s *PostgresExporterConfigTestSuite) TestDialTimeoutAzureCustom() { s.expected.Env[0] = "DATA_SOURCE_NAME=postgres://username:s3cur3%20p%40$$w0r4.@1.2.3.4:5432/postgres?connect_timeout=4&sslmode=disable" actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err) + s.Require().NoError(err) s.Require().Equal(s.expected.Env, actual.Env) } @@ -326,7 +327,7 @@ func TestAutoDiscovery(t *testing.T) { t.Run("Not supported version - disabled", func(t *testing.T) { res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, expected, res) assert.NotContains(t, res.Args, discoveryFlag) assert.NotContains(t, res.Args, excludedFlag) @@ -335,7 +336,7 @@ func TestAutoDiscovery(t *testing.T) { t.Run("Supported version - enabled", func(t *testing.T) { pmmAgentVersion = version.MustParse("2.16.0") res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Contains(t, res.Args, discoveryFlag) assert.Contains(t, res.Args, excludedFlag) }) @@ -346,7 +347,7 @@ func TestAutoDiscovery(t *testing.T) { DatabaseCount: 10, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.NotContains(t, res.Args, discoveryFlag) assert.NotContains(t, res.Args, excludedFlag) }) @@ -357,7 +358,7 @@ func TestAutoDiscovery(t *testing.T) { DatabaseCount: 5, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Contains(t, res.Args, discoveryFlag) assert.Contains(t, res.Args, excludedFlag) }) @@ -368,7 +369,7 @@ func TestAutoDiscovery(t *testing.T) { DatabaseCount: 3, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Contains(t, res.Args, discoveryFlag) assert.Contains(t, res.Args, excludedFlag) }) @@ -379,7 +380,7 @@ func TestAutoDiscovery(t *testing.T) { DatabaseCount: 3, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.NotContains(t, res.Args, discoveryFlag) assert.NotContains(t, res.Args, excludedFlag) }) @@ -390,7 +391,7 @@ func TestAutoDiscovery(t *testing.T) { DatabaseCount: 3, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Contains(t, res.Args, discoveryFlag) assert.Contains(t, res.Args, excludedFlag) }) @@ -446,14 +447,14 @@ func TestMaxConnections(t *testing.T) { t.Run("Not supported version - disabled", func(t *testing.T) { res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, version.MustParse("2.41.0")) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, expected, res) assert.NotContains(t, res.Args, maxConnectionsFlag) }) t.Run("Supported version - enabled", func(t *testing.T) { res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Contains(t, res.Args, fmt.Sprintf("%s=%d", maxConnectionsFlag, 10)) }) @@ -462,7 +463,7 @@ func TestMaxConnections(t *testing.T) { MaxExporterConnections: 0, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.NotContains(t, res.Args, maxConnectionsFlag) }) @@ -471,7 +472,7 @@ func TestMaxConnections(t *testing.T) { MaxExporterConnections: 5, } res, err := postgresExporterConfig(node, postgresql, exporter, redactSecrets, pmmAgentVersion) - assert.NoError(t, err) + require.NoError(t, err) assert.Contains(t, res.Args, fmt.Sprintf("%s=%d", maxConnectionsFlag, 5)) }) } @@ -501,7 +502,7 @@ func (s *PostgresExporterConfigTestSuite) TestAzureTimeout() { } actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.expected = &agentv1.SetStateRequest_AgentProcess{ Type: inventoryv1.AgentType_AGENT_TYPE_POSTGRES_EXPORTER, @@ -550,7 +551,7 @@ func (s *PostgresExporterConfigTestSuite) TestPrometheusWebConfig() { } actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.expected = &agentv1.SetStateRequest_AgentProcess{ Type: inventoryv1.AgentType_AGENT_TYPE_POSTGRES_EXPORTER, @@ -602,7 +603,7 @@ func (s *PostgresExporterConfigTestSuite) TestSSLSni() { } actual, err := postgresExporterConfig(s.node, s.postgresql, s.exporter, redactSecrets, s.pmmAgentVersion) - s.NoError(err, "Failed to create exporter config") + s.Require().NoError(err, "Failed to create exporter config") s.expected = &agentv1.SetStateRequest_AgentProcess{ Type: inventoryv1.AgentType_AGENT_TYPE_POSTGRES_EXPORTER, diff --git a/managed/services/alerting/service_test.go b/managed/services/alerting/service_test.go index 56984d19cb8..368b3e77310 100644 --- a/managed/services/alerting/service_test.go +++ b/managed/services/alerting/service_test.go @@ -142,7 +142,7 @@ templates: Yaml: templateWithMissingParam, }) assert.Nil(t, resp) - assert.EqualError(t, err, "rpc error: code = InvalidArgument desc = failed to fill expression "+ + require.EqualError(t, err, "rpc error: code = InvalidArgument desc = failed to fill expression "+ "placeholders: template: :4:5: executing \"\" at <.threshold>: map has no entry for key \"threshold\".") }) @@ -237,7 +237,7 @@ templates: Yaml: templateWithMissingParam, }) assert.Nil(t, resp) - assert.EqualError(t, err, "rpc error: code = InvalidArgument desc = failed to fill expression "+ + require.EqualError(t, err, "rpc error: code = InvalidArgument desc = failed to fill expression "+ "placeholders: template: :4:5: executing \"\" at <.threshold>: map has no entry for key \"threshold\".") }) } diff --git a/managed/services/backup/backup_service_test.go b/managed/services/backup/backup_service_test.go index 3099f00bc02..a420071d98a 100644 --- a/managed/services/backup/backup_service_test.go +++ b/managed/services/backup/backup_service_test.go @@ -174,12 +174,12 @@ func TestPerformBackup(t *testing.T) { }) if tc.expectedError != nil { - assert.ErrorIs(t, err, tc.expectedError) + require.ErrorIs(t, err, tc.expectedError) assert.Empty(t, artifactID) return } - assert.NoError(t, err) + require.NoError(t, err) artifact, err := models.FindArtifactByID(db.Querier, artifactID) require.NoError(t, err) assert.Equal(t, tc.locationModel.ID, artifact.LocationID) @@ -203,7 +203,7 @@ func TestPerformBackup(t *testing.T) { Mode: models.PITR, Folder: "artifact_folder_2", }) - assert.ErrorIs(t, err, ErrIncompatibleDataModel) + require.ErrorIs(t, err, ErrIncompatibleDataModel) assert.Empty(t, artifactID) }) @@ -217,7 +217,7 @@ func TestPerformBackup(t *testing.T) { Mode: models.PITR, Folder: "artifact_folder_3", }) - assert.ErrorContains(t, err, "Empty Service ID") + require.ErrorContains(t, err, "Empty Service ID") assert.Empty(t, artifactID) }) @@ -232,7 +232,7 @@ func TestPerformBackup(t *testing.T) { Mode: models.Incremental, Folder: "artifact_folder_4", }) - assert.ErrorContains(t, err, "the only supported backups mode for mongoDB is snapshot and PITR") + require.ErrorContains(t, err, "the only supported backups mode for mongoDB is snapshot and PITR") assert.Empty(t, artifactID) }) }) @@ -329,10 +329,10 @@ func TestRestoreBackup(t *testing.T) { } restoreID, err := backupService.RestoreBackup(ctx, pointer.GetString(agent.ServiceID), artifact.ID, time.Unix(0, 0)) if tc.expectedError != nil { - assert.ErrorIs(t, err, tc.expectedError) + require.ErrorIs(t, err, tc.expectedError) assert.Empty(t, restoreID) } else { - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, restoreID) } }) @@ -431,10 +431,10 @@ func TestRestoreBackup(t *testing.T) { } restoreID, err := backupService.RestoreBackup(ctx, pointer.GetString(agent.ServiceID), tc.artifact.ID, time.Unix(0, 0)) if tc.expectedError != nil { - assert.ErrorIs(t, err, tc.expectedError) + require.ErrorIs(t, err, tc.expectedError) assert.Empty(t, restoreID) } else { - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, restoreID) } }) @@ -568,7 +568,7 @@ func TestCheckArtifactModePreconditions(t *testing.T) { if tc.err == nil { require.NoError(t, err) } else { - assert.ErrorIs(t, err, tc.err) + require.ErrorIs(t, err, tc.err) } }) } @@ -709,7 +709,7 @@ func TestCheckArtifactModePreconditions(t *testing.T) { if tc.err == nil { require.NoError(t, err) } else { - assert.ErrorIs(t, err, tc.err) + require.ErrorIs(t, err, tc.err) } }) } diff --git a/managed/services/backup/compatibility_helpers_test.go b/managed/services/backup/compatibility_helpers_test.go index 9d5e975572d..2c143501bbb 100644 --- a/managed/services/backup/compatibility_helpers_test.go +++ b/managed/services/backup/compatibility_helpers_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/percona/pmm/managed/models" ) @@ -145,21 +146,21 @@ func TestMysqlAndXtrabackupCompatible(t *testing.T) { for _, ver := range compatible { actual, err := mysqlAndXtrabackupCompatible(ver.mysql, ver.pxb) - assert.NoError(t, err) + require.NoError(t, err) assert.True(t, actual, "mysql version %q, xtrabackup version %q", ver.mysql, ver.pxb) } for _, ver := range incompatible { actual, err := mysqlAndXtrabackupCompatible(ver.mysql, ver.pxb) - assert.NoError(t, err) + require.NoError(t, err) assert.False(t, actual, "mysql version %q, xtrabackup version %q", ver.mysql, ver.pxb) } _, err := mysqlAndXtrabackupCompatible("eight", "8.0.6") - assert.Error(t, err) + require.Error(t, err) _, err = mysqlAndXtrabackupCompatible("8.0", "eight") - assert.Error(t, err) + require.Error(t, err) } func TestVendorToServiceType(t *testing.T) { @@ -195,7 +196,7 @@ func TestVendorToServiceType(t *testing.T) { if test.errString != "" { assert.Contains(t, err.Error(), test.errString) } else { - assert.NoError(t, err) + require.NoError(t, err) } }) } @@ -290,9 +291,9 @@ func TestMySQLSoftwaresInstalledAndCompatible(t *testing.T) { t.Run(test.name, func(t *testing.T) { err := mySQLBackupSoftwareInstalledAndCompatible(test.input) if test.err != nil { - assert.ErrorIs(t, err, test.err) + require.ErrorIs(t, err, test.err) } else { - assert.NoError(t, err) + require.NoError(t, err) } }) } @@ -340,9 +341,9 @@ func TestMongoDBBackupSoftwareInstalledAndCompatible(t *testing.T) { t.Run(test.name, func(t *testing.T) { err := mongoDBBackupSoftwareInstalledAndCompatible(test.input) if test.err != nil { - assert.ErrorIs(t, err, test.err) + require.ErrorIs(t, err, test.err) } else { - assert.NoError(t, err) + require.NoError(t, err) } }) } diff --git a/managed/services/backup/compatibility_service_test.go b/managed/services/backup/compatibility_service_test.go index 56284c97f29..d6f6dcbefee 100644 --- a/managed/services/backup/compatibility_service_test.go +++ b/managed/services/backup/compatibility_service_test.go @@ -196,10 +196,10 @@ func TestCheckCompatibility(t *testing.T) { cSvc := NewCompatibilityService(nil, &mockVersioner) dbVersion, err := cSvc.checkCompatibility(&models.Service{ServiceType: tc.serviceType}, &agentModel) if tc.expectedError != nil { - assert.ErrorIs(t, err, tc.expectedError) + require.ErrorIs(t, err, tc.expectedError) assert.Empty(t, dbVersion) } else { - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, tc.versions[0].Version, dbVersion) } mock.AssertExpectationsForObjects(t, &mockVersioner) @@ -478,9 +478,9 @@ func TestFindArtifactCompatibleServices(t *testing.T) { res, err := cSvc.FindArtifactCompatibleServices(t.Context(), test.artifactIDToSearch) if test.errString != "" { - assert.ErrorContains(t, err, test.errString) + require.ErrorContains(t, err, test.errString) } else { - assert.NoError(t, err) + require.NoError(t, err) } if test.expectEmptyResult { @@ -618,7 +618,7 @@ func TestFindArtifactCompatibleServices(t *testing.T) { }) res, err := cSvc.FindArtifactCompatibleServices(t.Context(), "test_artifact_id") - assert.NoError(t, err) + require.NoError(t, err) assert.ElementsMatch(t, []*models.Service{serviceModel, &svsData4.service}, res) }) } @@ -699,7 +699,7 @@ func TestArtifactCompatibility(t *testing.T) { return } - assert.ErrorIs(t, err, tc.expectedErr) + require.ErrorIs(t, err, tc.expectedErr) }) } } diff --git a/managed/services/backup/pitr_timerange_service_test.go b/managed/services/backup/pitr_timerange_service_test.go index 255cf0a4779..b50478434cf 100644 --- a/managed/services/backup/pitr_timerange_service_test.go +++ b/managed/services/backup/pitr_timerange_service_test.go @@ -111,7 +111,7 @@ func TestGetPITROplogs(t *testing.T) { service := NewPBMPITRService() timelines, err := service.getPITROplogs(ctx, mockedStorage, location, &models.Artifact{}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, timelines, 1) }) @@ -120,7 +120,7 @@ func TestGetPITROplogs(t *testing.T) { service := NewPBMPITRService() timelines, err := service.getPITROplogs(ctx, mockedStorage, location, &models.Artifact{}) - assert.Error(t, err) + require.Error(t, err) assert.Nil(t, timelines) }) @@ -137,7 +137,7 @@ func TestGetPITROplogs(t *testing.T) { service := NewPBMPITRService() timelines, err := service.getPITROplogs(ctx, mockedStorage, location, &models.Artifact{}) - assert.NoError(t, err) + require.NoError(t, err) assert.Empty(t, timelines) }) diff --git a/managed/services/backup/removal_service_test.go b/managed/services/backup/removal_service_test.go index 0d21a747ef3..1956f5dd91e 100644 --- a/managed/services/backup/removal_service_test.go +++ b/managed/services/backup/removal_service_test.go @@ -115,10 +115,10 @@ func TestDeleteArtifact(t *testing.T) { require.NoError(t, err) go func() { tx, err := db.BeginTx(t.Context(), &sql.TxOptions{Isolation: sql.LevelSerializable}) - require.NoError(t, err) + assert.NoError(t, err) err = models.RemoveRestoreHistoryItem(tx.Querier, ri.ID) - require.NoError(t, err) + assert.NoError(t, err) time.Sleep(time.Second * 3) err = tx.Commit() @@ -167,14 +167,14 @@ func TestDeleteArtifact(t *testing.T) { Return(nil).Once() err := removalService.DeleteArtifact(mockedStorage, artifact.ID, true) - assert.NoError(t, err) + require.NoError(t, err) // Removing files running in goroutine, need to wait some time. time.Sleep(time.Second * 3) artifact, err = models.FindArtifactByID(db.Querier, artifact.ID) assert.Nil(t, artifact) - assert.ErrorIs(t, err, models.ErrNotFound) + require.ErrorIs(t, err, models.ErrNotFound) }) t.Run("successful delete pitr", func(t *testing.T) { @@ -224,14 +224,14 @@ func TestDeleteArtifact(t *testing.T) { Return(nil).Once() err = removalService.DeleteArtifact(mockedStorage, artifact.ID, true) - assert.NoError(t, err) + require.NoError(t, err) // Removing files running in goroutine, need to wait some time. time.Sleep(time.Second * 3) artifact, err = models.FindArtifactByID(db.Querier, artifact.ID) assert.Nil(t, artifact) - assert.ErrorIs(t, err, models.ErrNotFound) + require.ErrorIs(t, err, models.ErrNotFound) }) mockedPbmPITRService.AssertExpectations(t) @@ -411,7 +411,7 @@ func TestLockArtifact(t *testing.T) { res, oldStatus, err := removalService.lockArtifact(artifact.ID, models.FailedToDeleteBackupStatus) assert.Nil(t, res) assert.Empty(t, oldStatus) - assert.ErrorIs(t, err, ErrIncorrectArtifactStatus) + require.ErrorIs(t, err, ErrIncorrectArtifactStatus) artifact, err = models.FindArtifactByID(db.Querier, artifact.ID) require.NoError(t, err) @@ -423,7 +423,7 @@ func TestLockArtifact(t *testing.T) { res, oldStatus, err := removalService.lockArtifact(artifact.ID, models.DeletingBackupStatus) assert.Nil(t, res) assert.Empty(t, oldStatus) - assert.ErrorIs(t, err, ErrIncorrectArtifactStatus) + require.ErrorIs(t, err, ErrIncorrectArtifactStatus) artifact, err = models.FindArtifactByID(db.Querier, artifact.ID) require.NoError(t, err) @@ -505,7 +505,7 @@ func TestReleaseArtifact(t *testing.T) { t.Run("wrong releasing status", func(t *testing.T) { err := removalService.releaseArtifact(artifact.ID, models.PendingBackupStatus) - assert.ErrorIs(t, err, ErrIncorrectArtifactStatus) + require.ErrorIs(t, err, ErrIncorrectArtifactStatus) artifact, err = models.FindArtifactByID(db.Querier, artifact.ID) require.NoError(t, err) @@ -515,7 +515,7 @@ func TestReleaseArtifact(t *testing.T) { t.Run("success", func(t *testing.T) { err := removalService.releaseArtifact(artifact.ID, models.SuccessBackupStatus) - assert.NoError(t, err) + require.NoError(t, err) artifact, err = models.FindArtifactByID(db.Querier, artifact.ID) require.NoError(t, err) diff --git a/managed/services/backup/retention_service_test.go b/managed/services/backup/retention_service_test.go index 8e176a5f004..427118ef139 100644 --- a/managed/services/backup/retention_service_test.go +++ b/managed/services/backup/retention_service_test.go @@ -76,7 +76,7 @@ func TestEnsureRetention(t *testing.T) { // Returns nil, no dependency calls. err = retentionService.EnforceRetention(wrongModetask.ID) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("successful snapshot", func(t *testing.T) { @@ -145,27 +145,27 @@ func TestEnsureRetention(t *testing.T) { createArtifact() assert.Equal(t, 1, countArtifacts()) createArtifact() - assert.NoError(t, retentionService.EnforceRetention(task.ID)) + require.NoError(t, retentionService.EnforceRetention(task.ID)) assert.Equal(t, 2, countArtifacts()) createArtifact() createArtifact() createArtifact() - assert.NoError(t, retentionService.EnforceRetention(task.ID)) + require.NoError(t, retentionService.EnforceRetention(task.ID)) assert.Equal(t, 5, countArtifacts()) changeRetention(6) - assert.NoError(t, retentionService.EnforceRetention(task.ID)) + require.NoError(t, retentionService.EnforceRetention(task.ID)) assert.Equal(t, 5, countArtifacts()) changeRetention(4) mockedRemovalService.On("DeleteArtifact", mock.Anything, mock.Anything, true).Return(nil).Run(deleteArtifacts).Once() - assert.NoError(t, retentionService.EnforceRetention(task.ID)) + require.NoError(t, retentionService.EnforceRetention(task.ID)) assert.Equal(t, 4, countArtifacts()) changeRetention(2) mockedRemovalService.On("DeleteArtifact", mock.Anything, mock.Anything, true).Return(nil).Run(deleteArtifacts).Twice() - assert.NoError(t, retentionService.EnforceRetention(task.ID)) + require.NoError(t, retentionService.EnforceRetention(task.ID)) assert.Equal(t, 2, countArtifacts()) }) diff --git a/managed/services/checks/checks_test.go b/managed/services/checks/checks_test.go index 0cb2b9f7983..9d5d4c63730 100644 --- a/managed/services/checks/checks_test.go +++ b/managed/services/checks/checks_test.go @@ -306,7 +306,7 @@ func TestStartChecks(t *testing.T) { s.customCheckFile = testChecksFile err := s.runChecksGroup(t.Context(), "unknown") - assert.EqualError(t, err, "unknown check interval: unknown") + require.EqualError(t, err, "unknown check interval: unknown") }) t.Run("advisors enabled", func(t *testing.T) { @@ -332,7 +332,7 @@ func TestStartChecks(t *testing.T) { require.NoError(t, err) err = s.runChecksGroup(t.Context(), "") - assert.ErrorIs(t, err, services.ErrAdvisorsDisabled) + require.ErrorIs(t, err, services.ErrAdvisorsDisabled) }) } @@ -703,7 +703,7 @@ func TestGetFailedChecks(t *testing.T) { results, err := s.GetChecksResults(t.Context(), "test_svc") assert.Nil(t, results) - assert.ErrorIs(t, err, services.ErrAdvisorsDisabled) + require.ErrorIs(t, err, services.ErrAdvisorsDisabled) }) } @@ -780,7 +780,7 @@ func TestFillQueryPlaceholders(t *testing.T) { assert.Equal(t, tt.expected, actual) } else { require.Error(t, err) - assert.ErrorContains(t, err, tt.errString) + require.ErrorContains(t, err, tt.errString) } }) } diff --git a/managed/services/checks/funcs_test.go b/managed/services/checks/funcs_test.go index b42b2fc874c..1f623bff6c4 100644 --- a/managed/services/checks/funcs_test.go +++ b/managed/services/checks/funcs_test.go @@ -63,7 +63,7 @@ Traceback (most recent call last): TestVersion:2:22: in check_context : in parse_version `) + "\n" - assert.EqualError(t, err, expectedErr) + require.Error(t, err, expectedErr) assert.Empty(t, res) input = []map[string]interface{}{ @@ -76,7 +76,7 @@ Traceback (most recent call last): TestVersion:2:22: in check_context : in parse_version `) + "\n" - assert.EqualError(t, err, expectedErr) + require.Error(t, err, expectedErr) assert.Empty(t, res) input = []map[string]interface{}{ @@ -277,7 +277,7 @@ def check_context(rows, context): require.NoError(t, err) assert.Equal(t, tc.result, res) } else { - assert.EqualError(t, err, tc.err) + require.Error(t, err, tc.err) assert.Empty(t, res) } }) diff --git a/managed/services/converters_test.go b/managed/services/converters_test.go index 783cbf06385..4ca890a0da7 100644 --- a/managed/services/converters_test.go +++ b/managed/services/converters_test.go @@ -144,7 +144,7 @@ func TestToAPIAgent(t *testing.T) { got, err := ToAPIAgent(tt.args.q, tt.args.agent) if tt.wantErr != nil { - assert.ErrorIs(t, err, tt.wantErr) + require.ErrorIs(t, err, tt.wantErr) } else { assert.Equalf(t, tt.want, got, "ToAPIAgent(%v, %v)", tt.args.q, tt.args.agent) } diff --git a/managed/services/grafana/client_test.go b/managed/services/grafana/client_test.go index 0a148961a48..d84f67340f9 100644 --- a/managed/services/grafana/client_test.go +++ b/managed/services/grafana/client_test.go @@ -493,7 +493,7 @@ func TestClient(t *testing.T) { t.Run("GrafanaAdmin", func(t *testing.T) { u, err := c.getAuthUser(ctx, authHeaders, l) role := u.role - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, grafanaAdmin, role) assert.Equal(t, "GrafanaAdmin", role.String()) }) @@ -538,7 +538,7 @@ func TestClient(t *testing.T) { u, err := c.getAuthUser(ctx, userAuthHeaders, l) actualRole := u.role - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, viewer, actualRole) assert.Equal(t, viewer.String(), actualRole.String()) }) @@ -591,7 +591,7 @@ func TestClient(t *testing.T) { serviceTokenAuthHeaders := http.Header{} serviceTokenAuthHeaders.Set("Authorization", fmt.Sprintf("Bearer %s", serviceToken)) u, err := c.getAuthUser(ctx, serviceTokenAuthHeaders, l) - assert.NoError(t, err) + require.NoError(t, err) actualRole := u.role assert.Equal(t, role, actualRole) assert.Equal(t, role.String(), actualRole.String()) diff --git a/managed/services/inventory/services_test.go b/managed/services/inventory/services_test.go index ded0854ad58..6b903ca60eb 100644 --- a/managed/services/inventory/services_test.go +++ b/managed/services/inventory/services_test.go @@ -346,7 +346,7 @@ func TestServices(t *testing.T) { Address: new("127.0.0.1"), Port: new(uint16(27017)), }) - assert.NoError(t, err) + require.NoError(t, err) expectedMongoDBService := &inventoryv1.MongoDBService{ ServiceId: "00000000-0000-4000-8000-000000000005", @@ -960,14 +960,14 @@ func TestServices(t *testing.T) { }, ) assert.NotNil(t, response) - assert.NoError(t, err) + require.NoError(t, err) service, err = models.FindServiceByID(s.db.Querier, service.ServiceID) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, service) labels, err := service.GetCustomLabels() - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, labels, 2) assert.Equal(t, "newValue", labels["newKey"]) assert.Equal(t, "newValue2", labels["newKey2"]) @@ -1004,14 +1004,14 @@ func TestServices(t *testing.T) { }, ) - assert.NoError(t, err) + require.NoError(t, err) service, err = models.FindServiceByID(s.db.Querier, service.ServiceID) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, service) labels, err := service.GetCustomLabels() - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, labels, 2) assert.Equal(t, "newValue", labels["newKey"]) assert.Equal(t, "newValue-replaced", labels["newKey2"]) @@ -1055,14 +1055,14 @@ func TestServices(t *testing.T) { }, nil, ) - assert.NoError(t, err) + require.NoError(t, err) service, err = models.FindServiceByID(s.db.Querier, service.ServiceID) - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, service) labels, err := service.GetCustomLabels() - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, labels, 1) assert.Equal(t, "newValue3", labels["newKey3"]) }) diff --git a/managed/services/management/accesscontrol_test.go b/managed/services/management/accesscontrol_test.go index 1f006a41240..dc8418dc357 100644 --- a/managed/services/management/accesscontrol_test.go +++ b/managed/services/management/accesscontrol_test.go @@ -252,7 +252,7 @@ func TestAccessControlService(t *testing.T) { RoleId: 1337, }) - assert.Error(t, err) + require.Error(t, err) }) }) } diff --git a/managed/services/management/backup/backup_service_test.go b/managed/services/management/backup/backup_service_test.go index f61c700e6a8..af159692450 100644 --- a/managed/services/management/backup/backup_service_test.go +++ b/managed/services/management/backup/backup_service_test.go @@ -239,7 +239,7 @@ func TestStartBackup(t *testing.T) { assert.Equal(t, test.ErrString, err.Error()) return } - assert.NoError(t, err) + require.NoError(t, err) assert.NotNil(t, res) }) } @@ -322,7 +322,7 @@ func TestScheduledBackups(t *testing.T) { } _, err = backupSvc.ChangeScheduledBackup(ctx, changeReq) - assert.NoError(t, err) + require.NoError(t, err) task, err = models.FindScheduledTaskByID(db.Querier, res.ScheduledBackupId) require.NoError(t, err) data = task.Data.MySQLBackupTask @@ -337,7 +337,7 @@ func TestScheduledBackups(t *testing.T) { t.Run("list", func(t *testing.T) { res, err := backupSvc.ListScheduledBackups(ctx, &backupv1.ListScheduledBackupsRequest{}) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, res.ScheduledBackups, 1) }) @@ -366,7 +366,7 @@ func TestScheduledBackups(t *testing.T) { _, err = backupSvc.RemoveScheduledBackup(ctx, &backupv1.RemoveScheduledBackupRequest{ ScheduledBackupId: task.ID, }) - assert.NoError(t, err) + require.NoError(t, err) task, err = models.FindScheduledTaskByID(db.Querier, task.ID) assert.Nil(t, task) @@ -376,7 +376,7 @@ func TestScheduledBackups(t *testing.T) { ScheduleID: id, }) - assert.NoError(t, err) + require.NoError(t, err) assert.Empty(t, artifacts) }) }) @@ -485,7 +485,7 @@ func TestGetLogs(t *testing.T) { ChunkID: chunkID, Data: "not important", }) - assert.NoError(t, err) + require.NoError(t, err) } for _, tc := range testCases { @@ -494,7 +494,7 @@ func TestGetLogs(t *testing.T) { Offset: tc.offset, Limit: tc.limit, }) - assert.NoError(t, err) + require.NoError(t, err) chunkIDs := make([]uint32, 0, len(logs.Logs)) for _, log := range logs.Logs { chunkIDs = append(chunkIDs, log.ChunkId) @@ -558,7 +558,7 @@ func TestListPitrTimeranges(t *testing.T) { DataModel: models.LogicalDataModel, Status: models.PendingBackupStatus, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, artifact.ID) response, err := backupSvc.ListPitrTimeranges(ctx, &backupv1.ListPitrTimerangesRequest{ @@ -588,7 +588,7 @@ func TestListPitrTimeranges(t *testing.T) { DataModel: models.LogicalDataModel, Status: models.PendingBackupStatus, }) - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, artifact.ID) response, err := backupSvc.ListPitrTimeranges(ctx, &backupv1.ListPitrTimerangesRequest{ @@ -632,7 +632,7 @@ func TestArtifactMetadataListToProto(t *testing.T) { DataModel: models.LogicalDataModel, Status: models.PendingBackupStatus, }) - assert.NoError(t, err) + require.NoError(t, err) artifact, err = models.UpdateArtifact(db.Querier, artifact.ID, models.UpdateArtifactParams{ Metadata: &models.Metadata{ diff --git a/managed/services/management/backup/locations_service_test.go b/managed/services/management/backup/locations_service_test.go index ef52c7abb3e..d24d441a9a3 100644 --- a/managed/services/management/backup/locations_service_test.go +++ b/managed/services/management/backup/locations_service_test.go @@ -304,12 +304,12 @@ func TestRemoveBackupLocation(t *testing.T) { _, err = svc.RemoveLocation(ctx, &backuppb.RemoveLocationRequest{ LocationId: res1.LocationId, }) - assert.NoError(t, err) + require.NoError(t, err) _, err = svc.RemoveLocation(ctx, &backuppb.RemoveLocationRequest{ LocationId: res3.LocationId, }) - assert.NoError(t, err) + require.NoError(t, err) res, err := svc.ListLocations(ctx, &backuppb.ListLocationsRequest{}) require.NoError(t, err) @@ -322,7 +322,7 @@ func TestRemoveBackupLocation(t *testing.T) { _, err = svc.RemoveLocation(ctx, &backuppb.RemoveLocationRequest{ LocationId: "non-existing", }) - assert.ErrorIs(t, err, models.ErrNotFound) + require.ErrorIs(t, err, models.ErrNotFound) } func TestVerifyBackupLocationValidation(t *testing.T) { @@ -445,10 +445,10 @@ func TestVerifyBackupLocationValidation(t *testing.T) { t.Run(test.name, func(t *testing.T) { _, err := svc.TestLocationConfig(ctx, test.req) if test.errorMsg != "" { - assert.EqualError(t, err, test.errorMsg) + require.EqualError(t, err, test.errorMsg) return } - assert.NoError(t, err) + require.NoError(t, err) }) } } diff --git a/managed/services/management/backup/restore_service_test.go b/managed/services/management/backup/restore_service_test.go index 066b9114e3b..c1c2e11c5ca 100644 --- a/managed/services/management/backup/restore_service_test.go +++ b/managed/services/management/backup/restore_service_test.go @@ -95,7 +95,7 @@ func TestRestoreServiceGetLogs(t *testing.T) { ChunkID: chunkID, Data: "not important", }) - assert.NoError(t, err) + require.NoError(t, err) } for _, tc := range testCases { logs, err := restoreSvc.GetLogs(ctx, &backupv1.RestoreServiceGetLogsRequest{ @@ -103,7 +103,7 @@ func TestRestoreServiceGetLogs(t *testing.T) { Offset: tc.offset, Limit: tc.limit, }) - assert.NoError(t, err) + require.NoError(t, err) chunkIDs := make([]uint32, 0, len(logs.Logs)) for _, log := range logs.Logs { chunkIDs = append(chunkIDs, log.ChunkId) @@ -132,7 +132,7 @@ func TestRestoreServiceGetLogs(t *testing.T) { ChunkID: chunkID, Data: "not important", }) - assert.NoError(t, err) + require.NoError(t, err) } for _, tc := range testCases { @@ -141,7 +141,7 @@ func TestRestoreServiceGetLogs(t *testing.T) { Offset: tc.offset, Limit: tc.limit, }) - assert.NoError(t, err) + require.NoError(t, err) chunkIDs := make([]uint32, 0, len(logs.Logs)) for _, log := range logs.Logs { chunkIDs = append(chunkIDs, log.ChunkId) diff --git a/managed/services/management/checks_test.go b/managed/services/management/checks_test.go index c2657d2876c..2a4a20c1540 100644 --- a/managed/services/management/checks_test.go +++ b/managed/services/management/checks_test.go @@ -42,7 +42,7 @@ func TestStartAdvisorChecks(t *testing.T) { s := NewChecksAPIService(&checksService) resp, err := s.StartAdvisorChecks(t.Context(), &advisorsv1.StartAdvisorChecksRequest{}) - assert.EqualError(t, err, "failed to start advisor checks: random error") + require.EqualError(t, err, "failed to start advisor checks: random error") assert.Nil(t, resp) }) @@ -73,7 +73,7 @@ func TestGetFailedChecks(t *testing.T) { resp, err := s.GetFailedChecks(t.Context(), &advisorsv1.GetFailedChecksRequest{ ServiceId: serviceID, }) - assert.EqualError(t, err, fmt.Sprintf("failed to get check results for service '%s': random error", serviceID)) + require.EqualError(t, err, fmt.Sprintf("failed to get check results for service '%s': random error", serviceID)) assert.Nil(t, resp) }) @@ -217,7 +217,7 @@ func TestListFailedServices(t *testing.T) { s := NewChecksAPIService(&checksService) resp, err := s.ListFailedServices(t.Context(), &advisorsv1.ListFailedServicesRequest{}) - assert.EqualError(t, err, "failed to get check results: random error") + require.EqualError(t, err, "failed to get check results: random error") assert.Nil(t, resp) }) @@ -333,7 +333,7 @@ func TestListAdvisorChecks(t *testing.T) { s := NewChecksAPIService(&checksService) resp, err := s.ListAdvisorChecks(t.Context(), nil) - assert.EqualError(t, err, "failed to get disabled checks list: random error") + require.EqualError(t, err, "failed to get disabled checks list: random error") assert.Nil(t, resp) }) } @@ -346,7 +346,7 @@ func TestUpdateAdvisorChecks(t *testing.T) { s := NewChecksAPIService(&checksService) resp, err := s.ChangeAdvisorChecks(t.Context(), &advisorsv1.ChangeAdvisorChecksRequest{}) - assert.EqualError(t, err, "failed to enable disabled advisor checks: random error") + require.EqualError(t, err, "failed to enable disabled advisor checks: random error") assert.Nil(t, resp) }) @@ -358,7 +358,7 @@ func TestUpdateAdvisorChecks(t *testing.T) { s := NewChecksAPIService(&checksService) resp, err := s.ChangeAdvisorChecks(t.Context(), &advisorsv1.ChangeAdvisorChecksRequest{}) - assert.EqualError(t, err, "failed to disable advisor checks: random error") + require.EqualError(t, err, "failed to disable advisor checks: random error") assert.Nil(t, resp) }) @@ -374,7 +374,7 @@ func TestUpdateAdvisorChecks(t *testing.T) { Interval: advisorsv1.AdvisorCheckInterval_ADVISOR_CHECK_INTERVAL_STANDARD, }}, }) - assert.EqualError(t, err, "failed to change advisor check interval: random error") + require.EqualError(t, err, "failed to change advisor check interval: random error") assert.Nil(t, resp) }) diff --git a/managed/services/management/node_test.go b/managed/services/management/node_test.go index ec16cf438ea..5502569b0b9 100644 --- a/managed/services/management/node_test.go +++ b/managed/services/management/node_test.go @@ -119,7 +119,7 @@ func TestNodeService(t *testing.T) { Token: "test-token", } assert.Equal(t, expected, res) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("Exist", func(t *testing.T) { @@ -184,7 +184,7 @@ func TestNodeService(t *testing.T) { Token: "test-token", } assert.Equal(t, expected, res) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("Register/Unregister", func(t *testing.T) { @@ -219,13 +219,13 @@ func TestNodeService(t *testing.T) { Region: "region", Reregister: true, }) - assert.NoError(t, err) + require.NoError(t, err) res, err := s.UnregisterNode(ctx, &managementv1.UnregisterNodeRequest{ NodeId: resRegister.GenericNode.NodeId, Force: true, }) - assert.NoError(t, err) + require.NoError(t, err) assert.Empty(t, res.Warning) }) }) diff --git a/managed/services/management/service_test.go b/managed/services/management/service_test.go index 2bc23097bec..310c1d264bb 100644 --- a/managed/services/management/service_test.go +++ b/managed/services/management/service_test.go @@ -154,7 +154,7 @@ func TestServiceService(t *testing.T) { s.state.(*mockAgentsStateUpdater).On("RequestStateUpdate", ctx, pmmAgent.AgentID) response, err := s.RemoveService(ctx, &managementv1.RemoveServiceRequest{ServiceId: service.ServiceName, ServiceType: inventoryv1.ServiceType_SERVICE_TYPE_MYSQL_SERVICE}) assert.NotNil(t, response) - assert.NoError(t, err) + require.NoError(t, err) agent, err := models.FindAgentByID(s.db.Querier, mysqldExporter.AgentID) assert.Nil(t, agent) @@ -204,7 +204,7 @@ func TestServiceService(t *testing.T) { s.state.(*mockAgentsStateUpdater).On("RequestStateUpdate", ctx, pmmAgent.AgentID) _, err = s.RemoveService(ctx, &managementv1.RemoveServiceRequest{ServiceId: service.ServiceName, ServiceType: inventoryv1.ServiceType_SERVICE_TYPE_MYSQL_SERVICE}) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindServiceByID(s.db.Querier, service.ServiceID) tests.AssertGRPCError(t, status.New(codes.NotFound, fmt.Sprintf(`Service with ID "%s" not found.`, service.ServiceID)), err) @@ -258,7 +258,7 @@ func TestServiceService(t *testing.T) { s.state.(*mockAgentsStateUpdater).On("RequestStateUpdate", ctx, pmmAgent.AgentID) _, err = s.RemoveService(ctx, &managementv1.RemoveServiceRequest{ServiceId: service.ServiceName, ServiceType: inventoryv1.ServiceType_SERVICE_TYPE_MYSQL_SERVICE}) - assert.NoError(t, err) + require.NoError(t, err) _, err = models.FindServiceByID(s.db.Querier, service.ServiceID) tests.AssertGRPCError(t, status.New(codes.NotFound, fmt.Sprintf(`Service with ID "%s" not found.`, service.ServiceID)), err) diff --git a/managed/services/preconditions_test.go b/managed/services/preconditions_test.go index 3fa6ed7c410..d46da7780a5 100644 --- a/managed/services/preconditions_test.go +++ b/managed/services/preconditions_test.go @@ -20,7 +20,6 @@ import ( "testing" "time" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -252,17 +251,17 @@ func TestCheckArtifactOverlapping(t *testing.T) { require.NoError(t, err) err = CheckArtifactOverlapping(db.Querier, mongoSvc2.ServiceID, location.ID, folder1) - assert.NoError(t, err) + require.NoError(t, err) err = CheckArtifactOverlapping(db.Querier, mongoSvc3.ServiceID, location.ID, folder1) - assert.ErrorIs(t, err, ErrLocationFolderPairAlreadyUsed) + require.ErrorIs(t, err, ErrLocationFolderPairAlreadyUsed) err = CheckArtifactOverlapping(db.Querier, mysqlSvc1.ServiceID, location.ID, folder1) - assert.ErrorIs(t, err, ErrLocationFolderPairAlreadyUsed) + require.ErrorIs(t, err, ErrLocationFolderPairAlreadyUsed) err = CheckArtifactOverlapping(db.Querier, mysqlSvc2.ServiceID, location.ID, folder2) - assert.NoError(t, err) + require.NoError(t, err) err = CheckArtifactOverlapping(db.Querier, mongoSvc1.ServiceID, location.ID, folder2) - assert.ErrorIs(t, err, ErrLocationFolderPairAlreadyUsed) + require.ErrorIs(t, err, ErrLocationFolderPairAlreadyUsed) } diff --git a/managed/services/qan/client_test.go b/managed/services/qan/client_test.go index d0a52877cfc..7b06f097ee7 100644 --- a/managed/services/qan/client_test.go +++ b/managed/services/qan/client_test.go @@ -42,7 +42,7 @@ func TestClient(t *testing.T) { db := reform.NewDB(sqlDB, postgresql.Dialect, reformL) ctx := logger.Set(t.Context(), t.Name()) defer func() { - assert.NoError(t, sqlDB.Close()) + require.NoError(t, sqlDB.Close()) assert.Equal(t, 18, reformL.Requests()) }() @@ -439,7 +439,7 @@ func TestClientPerformance(t *testing.T) { reformL := sqlmetrics.NewReform("test", "test", t.Logf) db := reform.NewDB(sqlDB, postgresql.Dialect, reformL) defer func() { - assert.NoError(t, sqlDB.Close()) + require.NoError(t, sqlDB.Close()) }() for _, str := range []reform.Struct{ diff --git a/managed/services/scheduler/scheduler_test.go b/managed/services/scheduler/scheduler_test.go index 9b908b2f346..3bcfb590f52 100644 --- a/managed/services/scheduler/scheduler_test.go +++ b/managed/services/scheduler/scheduler_test.go @@ -143,6 +143,6 @@ func TestService(t *testing.T) { assert.Empty(t, scheduler.scheduler.Jobs()) _, err = models.FindScheduledTaskByID(scheduler.db.Querier, dbTask.ID) - assert.ErrorIs(t, err, models.ErrNotFound) + require.ErrorIs(t, err, models.ErrNotFound) }) } diff --git a/managed/services/scheduler/task_test.go b/managed/services/scheduler/task_test.go index 41e726e8cf4..6bf7fe6b32d 100644 --- a/managed/services/scheduler/task_test.go +++ b/managed/services/scheduler/task_test.go @@ -18,7 +18,6 @@ package scheduler import ( "testing" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/percona/pmm/managed/models" @@ -164,7 +163,7 @@ func TestValidation(t *testing.T) { _, err := NewMySQLBackupTask(tt.params) if tt.errMsg != "" { - assert.EqualError(t, err, tt.errMsg) + require.EqualError(t, err, tt.errMsg) return } @@ -321,7 +320,7 @@ func TestValidation(t *testing.T) { _, err := NewMongoDBBackupTask(tt.params) if tt.errMsg != "" { - assert.EqualError(t, err, tt.errMsg) + require.EqualError(t, err, tt.errMsg) return } diff --git a/managed/services/server/logs_test.go b/managed/services/server/logs_test.go index a048f151397..5d0d8bad073 100644 --- a/managed/services/server/logs_test.go +++ b/managed/services/server/logs_test.go @@ -137,16 +137,16 @@ func TestAddAdminSummary(t *testing.T) { t.Skip("FIXME") zipfile, err := os.CreateTemp(t.TempDir(), "*-test.zip") - assert.NoError(t, err) + require.NoError(t, err) zw := zip.NewWriter(zipfile) err = addAdminSummary(t.Context(), zw) - assert.NoError(t, err) + require.NoError(t, err) - assert.NoError(t, zw.Close()) + require.NoError(t, zw.Close()) reader, err := zip.OpenReader(zipfile.Name()) - assert.NoError(t, err) + require.NoError(t, err) hasClientDir := false for _, file := range reader.File { @@ -171,18 +171,18 @@ func TestFiles(t *testing.T) { actual := make([]string, 0, len(files)) for _, f := range files { if f.Name == "prometheus.base.yml" { - assert.EqualError(t, f.Err, "open /srv/prometheus/prometheus.base.yml: no such file or directory") + require.EqualError(t, f.Err, "open /srv/prometheus/prometheus.base.yml: no such file or directory") continue } if f.Name == "supervisorctl_status.log" { - assert.EqualError(t, f.Err, "exit status 3") + require.EqualError(t, f.Err, "exit status 3") // NOTE: this fails in supervisorctl v4+ if there are stopped services; it is not critical because the call succeeds actual = append(actual, f.Name) continue } - assert.NoError(t, f.Err, "name = %q", f.Name) + require.NoError(t, f.Err, "name = %q", f.Name) actual = append(actual, f.Name) } diff --git a/managed/services/server/server_test.go b/managed/services/server/server_test.go index 3ebbfcb57e8..efb36e8a0cf 100644 --- a/managed/services/server/server_test.go +++ b/managed/services/server/server_test.go @@ -213,7 +213,7 @@ func TestServer(t *testing.T) { tests.AssertGRPCError(t, expected, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableUpdates: new(false), })) - assert.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ + require.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableUpdates: new(true), })) @@ -222,7 +222,7 @@ func TestServer(t *testing.T) { tests.AssertGRPCError(t, expected, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ UpdateSnoozeDuration: durationpb.New(12 * time.Hour), })) - assert.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ + require.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ UpdateSnoozeDuration: durationpb.New(24 * time.Hour), })) @@ -231,7 +231,7 @@ func TestServer(t *testing.T) { tests.AssertGRPCError(t, expected, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableTelemetry: new(false), })) - assert.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ + require.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableTelemetry: new(true), })) @@ -240,14 +240,14 @@ func TestServer(t *testing.T) { tests.AssertGRPCError(t, expected, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableInternalPgQan: new(false), })) - assert.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ + require.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableInternalPgQan: new(true), })) - assert.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ + require.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableAdvisor: new(false), })) - assert.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ + require.NoError(t, s.validateChangeSettingsRequest(ctx, &serverv1.ChangeSettingsRequest{ EnableAdvisor: new(true), })) }) diff --git a/managed/services/supervisord/devcontainer_test.go b/managed/services/supervisord/devcontainer_test.go index 714e1bf3dfa..ecc9a2fce81 100644 --- a/managed/services/supervisord/devcontainer_test.go +++ b/managed/services/supervisord/devcontainer_test.go @@ -54,11 +54,11 @@ func TestDevContainer(t *testing.T) { defer func() { for name, b := range originals { err = os.WriteFile(name, b, 0) - assert.NoError(t, err) + require.NoError(t, err) } // force update supervisor config _, err := s.supervisorctl("update") - assert.NoError(t, err) + require.NoError(t, err) }() settings := &models.Settings{ diff --git a/managed/services/telemetry/telemetry_test.go b/managed/services/telemetry/telemetry_test.go index d099757a124..293e3d60858 100644 --- a/managed/services/telemetry/telemetry_test.go +++ b/managed/services/telemetry/telemetry_test.go @@ -165,7 +165,7 @@ func TestRunTelemetryService(t *testing.T) { serviceConfig := getServiceConfig(pgHostPort, qanDSN, vmDSN) registry, err := NewDataSourceRegistry(serviceConfig, logEntry) - assert.NoError(t, err) + require.NoError(t, err) s := Service{ db: db, diff --git a/managed/services/telemetry/transform_test.go b/managed/services/telemetry/transform_test.go index bb5be072be8..cb78bda9253 100644 --- a/managed/services/telemetry/transform_test.go +++ b/managed/services/telemetry/transform_test.go @@ -20,6 +20,7 @@ import ( telemetryv1 "github.com/percona/platform/gen/telemetry/generic" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestTransformToJSON(t *testing.T) { @@ -34,7 +35,7 @@ func TestTransformToJSON(t *testing.T) { name string args args want []*telemetryv1.GenericReport_Metric - wantErr assert.ErrorAssertionFunc + wantErr require.ErrorAssertionFunc }{ { name: "nil metrics", @@ -43,7 +44,7 @@ func TestTransformToJSON(t *testing.T) { metrics: nil, }, want: nil, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "empty metrics", @@ -52,7 +53,7 @@ func TestTransformToJSON(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "no Transform in config", @@ -61,7 +62,7 @@ func TestTransformToJSON(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "no Metrics config", @@ -70,7 +71,7 @@ func TestTransformToJSON(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "no Metric Name config", @@ -79,7 +80,7 @@ func TestTransformToJSON(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "invalid seq", @@ -93,7 +94,7 @@ func TestTransformToJSON(t *testing.T) { }, }, want: nil, - wantErr: assert.Error, + wantErr: require.Error, }, { name: "correct seq", @@ -109,7 +110,7 @@ func TestTransformToJSON(t *testing.T) { want: []*telemetryv1.GenericReport_Metric{ {Key: configJSON().Transform.Metric, Value: `{"v":[{"b":"v1","my-metric":"v1"},{"b":"v1","my-metric":"v1"}]}`}, }, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "happy path", @@ -123,7 +124,7 @@ func TestTransformToJSON(t *testing.T) { want: []*telemetryv1.GenericReport_Metric{ {Key: configJSON().Transform.Metric, Value: `{"v":[{"my-metric":"v1"},{"my-metric":"v2"}]}`}, }, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "test_mysql_plugins_with_an_missing_metric", @@ -145,17 +146,14 @@ func TestTransformToJSON(t *testing.T) { want: []*telemetryv1.GenericReport_Metric{ {Key: "metric", Value: `{"v":[{"licence":"GPL","name":"INNODB_TABLES","status":"ACTIVE","type":"INFORMATION SCHEMA"}]}`}, }, - wantErr: assert.NoError, + wantErr: require.NoError, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := transformToJSON(tt.args.config, tt.args.metrics) - if !tt.wantErr(t, err) { - t.Logf("config: %v", tt.args.config) - return - } + tt.wantErr(t, err) assert.Equalf(t, tt.want, got, "transformToJSON(%v, %v)", tt.args.config, tt.args.metrics) }) } @@ -173,7 +171,7 @@ func TestTransformExportValues(t *testing.T) { name string args args want []*telemetryv1.GenericReport_Metric - wantErr assert.ErrorAssertionFunc + wantErr require.ErrorAssertionFunc }{ { name: "nil metrics", @@ -182,7 +180,7 @@ func TestTransformExportValues(t *testing.T) { metrics: nil, }, want: nil, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "empty metrics", @@ -191,7 +189,7 @@ func TestTransformExportValues(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "no Transform in config", @@ -200,7 +198,7 @@ func TestTransformExportValues(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "no Metrics config", @@ -209,7 +207,7 @@ func TestTransformExportValues(t *testing.T) { metrics: noMetrics, }, want: noMetrics, - wantErr: assert.NoError, + wantErr: require.NoError, }, { name: "invalid data source", @@ -221,7 +219,7 @@ func TestTransformExportValues(t *testing.T) { }, }, want: nil, - wantErr: assert.Error, + wantErr: require.Error, }, { name: "happy path", @@ -236,17 +234,14 @@ func TestTransformExportValues(t *testing.T) { {Key: "metric-a", Value: "1"}, {Key: "metric-b", Value: "1"}, }, - wantErr: assert.NoError, + wantErr: require.NoError, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := transformExportValues(tt.args.config, tt.args.metrics) - if !tt.wantErr(t, err) { - t.Logf("config: %v", tt.args.config) - return - } + tt.wantErr(t, err) assert.Equalf(t, tt.want, got, "transformExportValues(%v, %v)", tt.args.config, tt.args.metrics) }) } diff --git a/managed/services/versioncache/versioncache_test.go b/managed/services/versioncache/versioncache_test.go index b46a2acb30d..60c5ffd4592 100644 --- a/managed/services/versioncache/versioncache_test.go +++ b/managed/services/versioncache/versioncache_test.go @@ -81,10 +81,10 @@ func TestVersionCache(t *testing.T) { require.NoError(t, db.Insert(str)) } t.Cleanup(func() { - assert.NoError(t, db.Delete(&models.Agent{AgentID: agentID2})) - assert.NoError(t, db.Delete(&models.Agent{AgentID: agentID1})) - assert.NoError(t, db.Delete(&models.Service{ServiceID: serviceID1})) - assert.NoError(t, db.Delete(&models.Node{NodeID: nodeID1})) + require.NoError(t, db.Delete(&models.Agent{AgentID: agentID2})) + require.NoError(t, db.Delete(&models.Agent{AgentID: agentID1})) + require.NoError(t, db.Delete(&models.Service{ServiceID: serviceID1})) + require.NoError(t, db.Delete(&models.Node{NodeID: nodeID1})) }) softwares := agents.GetRequiredBackupSoftwareList(models.MySQLServiceType) @@ -210,16 +210,16 @@ func TestVersionCache(t *testing.T) { require.NoError(t, db.Insert(str)) } t.Cleanup(func() { - assert.NoError(t, db.Delete(&models.Agent{AgentID: agentID2})) - assert.NoError(t, db.Delete(&models.Agent{AgentID: agentID1})) - assert.NoError(t, db.Delete(&models.Service{ServiceID: serviceID1})) - assert.NoError(t, db.Delete(&models.Node{NodeID: nodeID1})) + require.NoError(t, db.Delete(&models.Agent{AgentID: agentID2})) + require.NoError(t, db.Delete(&models.Agent{AgentID: agentID1})) + require.NoError(t, db.Delete(&models.Service{ServiceID: serviceID1})) + require.NoError(t, db.Delete(&models.Node{NodeID: nodeID1})) }) versionerMock := &MockVersioner{} cache := New(db, versionerMock) nextCheck, err := cache.updateVersionsForNextService() - assert.ErrorIs(t, err, ErrInvalidArgument) + require.ErrorIs(t, err, ErrInvalidArgument) assert.Equal(t, minCheckInterval, nextCheck) versionerMock.AssertNotCalled(t, "GetVersions") diff --git a/managed/services/victoriametrics/victoriametrics_test.go b/managed/services/victoriametrics/victoriametrics_test.go index f21ccdf75fc..cdd4a4e146e 100644 --- a/managed/services/victoriametrics/victoriametrics_test.go +++ b/managed/services/victoriametrics/victoriametrics_test.go @@ -869,12 +869,12 @@ scrape_configs: labels: instance: pmm-server follow_redirects: false`))) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("Bad scrape config file", func(t *testing.T) { err := svc.configAndReload(context.TODO(), []byte(`unexpected input`)) - assert.Errorf(t, err, "error when checking Prometheus config") + require.Errorf(t, err, "error when checking Prometheus config") }) t.Run("Scrape config file with unknown params", func(t *testing.T) { @@ -988,6 +988,6 @@ scrape_configs: follow_redirects: false `) + "\n" newcfg, err := svc.marshalConfig(svc.loadBaseConfig()) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, expected, string(newcfg), "actual:\n%s", newcfg) } diff --git a/managed/utils/clean/clean_test.go b/managed/utils/clean/clean_test.go index ba9986c99b8..b5eea559dce 100644 --- a/managed/utils/clean/clean_test.go +++ b/managed/utils/clean/clean_test.go @@ -73,7 +73,7 @@ func TestCleaner(t *testing.T) { teardown := func(t *testing.T) { t.Helper() - assert.NoError(t, models.CleanupOldActionResults(db.Querier, models.Now())) + require.NoError(t, models.CleanupOldActionResults(db.Querier, models.Now())) } return db, q, teardown } @@ -93,16 +93,16 @@ func TestCleaner(t *testing.T) { time.Sleep(100 * time.Millisecond) _, err := models.FindActionResultByID(q, "A1") - assert.Error(t, err) + require.Error(t, err) _, err = models.FindActionResultByID(q, "A2") - assert.Error(t, err) + require.Error(t, err) _, err = models.FindActionResultByID(q, "A3") - assert.Error(t, err) + require.Error(t, err) a, err := models.FindActionResultByID(q, "A4") - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, a.ID) }) } diff --git a/managed/utils/dir/dir_test.go b/managed/utils/dir/dir_test.go index 26993063048..aa9fbe64837 100644 --- a/managed/utils/dir/dir_test.go +++ b/managed/utils/dir/dir_test.go @@ -50,11 +50,11 @@ func TestCreateDataDir(t *testing.T) { err := CreateDataDir(tc.path, tc.perm) if tc.err != "" { - assert.EqualError(t, err, tc.err) + require.EqualError(t, err, tc.err) return } - assert.NoError(t, err) + require.NoError(t, err) stat, err := os.Stat(tc.path) require.NoError(t, err) assert.True(t, stat.IsDir()) @@ -114,7 +114,7 @@ func TestFindFilesWithExtensions(t *testing.T) { t.Parallel() files, err := FindFilesWithExtensions(tmpDir, tc.extensions...) - assert.NoError(t, err) + require.NoError(t, err) assert.Len(t, files, tc.expected) }) } diff --git a/managed/utils/distribution/distribution_util_test.go b/managed/utils/distribution/distribution_util_test.go index c5ff717d38f..9882a44188e 100644 --- a/managed/utils/distribution/distribution_util_test.go +++ b/managed/utils/distribution/distribution_util_test.go @@ -127,7 +127,7 @@ func Test_distributionUtilServiceImpl_getDistributionMethodAndOS(t *testing.T) { require.NoError(t, err) if tt.dockerVersion != "" { f2, err := writeToTmpFile(t, "", tt.dockerVersion) - assert.NoError(t, err) + require.NoError(t, err) tmpOsInfoFilePath = f2.Name() } @@ -154,7 +154,7 @@ func writeToTmpFile(t *testing.T, tmpDistributionFile string, s string) (*os.Fil t.Cleanup(func() { err := os.Remove(f.Name()) - assert.NoError(t, err) + require.NoError(t, err) }) return f, nil } diff --git a/managed/utils/encryption/encryption_test.go b/managed/utils/encryption/encryption_test.go index 21ebff0adca..33507bd5216 100644 --- a/managed/utils/encryption/encryption_test.go +++ b/managed/utils/encryption/encryption_test.go @@ -33,7 +33,7 @@ func TestEncryptionGenerateKey(t *testing.T) { // Verify it's valid base64 _, err = base64.StdEncoding.DecodeString(key1) - assert.NoError(t, err) + require.NoError(t, err) // Generate another key and ensure they are different key2, err := e.GenerateKey() @@ -43,7 +43,7 @@ func TestEncryptionGenerateKey(t *testing.T) { // Verify second key is also valid base64 _, err = base64.StdEncoding.DecodeString(key2) - assert.NoError(t, err) + require.NoError(t, err) } func TestEncryptionGenerateAndPersistKey(t *testing.T) { @@ -51,7 +51,7 @@ func TestEncryptionGenerateAndPersistKey(t *testing.T) { tempFile, err := os.CreateTemp(t.TempDir(), "encryption_test_*.key") require.NoError(t, err) err = tempFile.Close() - assert.NoError(t, err) + require.NoError(t, err) t.Cleanup(func() { _ = os.Remove(tempFile.Name()) @@ -60,15 +60,15 @@ func TestEncryptionGenerateAndPersistKey(t *testing.T) { e := &Encryption{Path: tempFile.Name()} err = e.generateAndPersistKey() - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, e.Key) // Verify the file was written with the correct content content, err := os.ReadFile(tempFile.Name()) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, e.Key, string(content)) // Verify it's valid base64 _, err = base64.StdEncoding.DecodeString(e.Key) - assert.NoError(t, err) + require.NoError(t, err) } diff --git a/managed/utils/pprof/pprof_test.go b/managed/utils/pprof/pprof_test.go index 5cd5da75f1f..dd52066c38a 100644 --- a/managed/utils/pprof/pprof_test.go +++ b/managed/utils/pprof/pprof_test.go @@ -51,16 +51,16 @@ func TestProfile(t *testing.T) { ctx := t.Context() profileBytes, err := Profile(ctx, 1*time.Second) - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, profileBytes) // read gzip reader, err := gzip.NewReader(bytes.NewBuffer(profileBytes)) - assert.NoError(t, err) + require.NoError(t, err) var resB bytes.Buffer _, err = resB.ReadFrom(reader) - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, resB.Bytes()) }) @@ -88,7 +88,7 @@ func TestTrace(t *testing.T) { ctx := t.Context() traceBytes, err := Trace(ctx, 1*time.Second) - assert.NoError(t, err) + require.NoError(t, err) assert.NotEmpty(t, traceBytes) }) diff --git a/managed/utils/signatures/signatures_test.go b/managed/utils/signatures/signatures_test.go index 9e8935421eb..b001c495357 100644 --- a/managed/utils/signatures/signatures_test.go +++ b/managed/utils/signatures/signatures_test.go @@ -21,7 +21,7 @@ import ( "testing" "github.com/sirupsen/logrus" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestVerifySignatures(t *testing.T) { @@ -51,7 +51,7 @@ uEF33ScMPYpvHvBKv8+yBkJ9k4+DCfV4nDs6kKYwGhalvkkqwWkyfJffO+KW7a1m3y42WHpOnzBxLJ+I `) err := Verify(l, "random data", []string{invalidSign, validSign}, publicKeys) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("empty signatures", func(t *testing.T) { @@ -60,6 +60,6 @@ uEF33ScMPYpvHvBKv8+yBkJ9k4+DCfV4nDs6kKYwGhalvkkqwWkyfJffO+KW7a1m3y42WHpOnzBxLJ+I publicKeys := []string{"RWSdGihBPffV2c4IysqHAIxc5c5PLfmQStbRPkuLXDr3igJOqFWt7aml"} err := Verify(l, "random data", []string{}, publicKeys) - assert.EqualError(t, err, "zero signatures received") + require.EqualError(t, err, "zero signatures received") }) } diff --git a/managed/utils/tests/asserts.go b/managed/utils/tests/asserts.go index a78cd8483ef..681a65831ae 100644 --- a/managed/utils/tests/asserts.go +++ b/managed/utils/tests/asserts.go @@ -20,6 +20,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -33,9 +34,7 @@ func AssertGRPCError(tb testing.TB, expected *status.Status, actual error) { return } err := s.Err() - if !assert.Error(tb, err) { //nolint:testifylint - return - } + require.NoError(tb, err) assert.Equal(tb, expected.Err().Error(), err.Error()) // gives the best error message } diff --git a/managed/utils/validators/alerting_rules_test.go b/managed/utils/validators/alerting_rules_test.go index 6d46611d5b5..42822c80e4f 100644 --- a/managed/utils/validators/alerting_rules_test.go +++ b/managed/utils/validators/alerting_rules_test.go @@ -20,6 +20,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestValidateAlertingRules(t *testing.T) { @@ -43,7 +44,7 @@ groups: summary: High request latency `) + "\n" err := ValidateAlertingRules(ctx, rules) - assert.NoError(t, err) + require.NoError(t, err) }) t.Run("Invalid", func(t *testing.T) { diff --git a/qan-api2/services/analytics/object_details_test.go b/qan-api2/services/analytics/object_details_test.go index adf2467ad7b..f0fe44ad16e 100644 --- a/qan-api2/services/analytics/object_details_test.go +++ b/qan-api2/services/analytics/object_details_test.go @@ -129,7 +129,7 @@ func TestService_GetQueryExample(t *testing.T) { } got, err := s.GetQueryExample(context.TODO(), tt.in) if (err != nil) != tt.wantErr { - assert.Errorf(t, err, "Service.GetQueryExample() error = %v, wantErr %v", err, tt.wantErr) + require.Errorf(t, err, "Service.GetQueryExample() error = %v, wantErr %v", err, tt.wantErr) } if tt.want == nil { assert.Nil(t, got, "Service.GetQueryExample() returned not nil") @@ -263,7 +263,7 @@ func TestService_GetMetricsError(t *testing.T) { } _, err := s.GetMetrics(context.TODO(), tt.in) if (err != nil) != tt.wantErr { - assert.Errorf(t, err, "Service.GetMetrics() error = %v, wantErr %v", err, tt.wantErr) + require.Errorf(t, err, "Service.GetMetrics() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -288,7 +288,7 @@ func TestService_GetMetrics(t *testing.T) { FilterBy: "B305F6354FA21F2A", } got, err := s.GetMetrics(context.TODO(), in) - assert.NoError(t, err, "Unexpected error in Service.GetMetrics()") + require.NoError(t, err, "Unexpected error in Service.GetMetrics()") expectedJSON := getExpectedJSON(t, got, "../../test_data/GetMetrics_group_by_queryid.json") marshaler := protojson.MarshalOptions{Indent: "\t"} @@ -312,7 +312,7 @@ func TestService_GetMetrics(t *testing.T) { FilterBy: "B305F6354FA21F2A", } got, err := s.GetMetrics(context.TODO(), in) - assert.NoError(t, err, "Unexpected error in Service.GetMetrics()") + require.NoError(t, err, "Unexpected error in Service.GetMetrics()") expectedJSON := getExpectedJSON(t, got, "../../test_data/GetMetrics_sparklines_90_points.json") marshaler := protojson.MarshalOptions{Indent: "\t"} @@ -336,7 +336,7 @@ func TestService_GetMetrics(t *testing.T) { Totals: true, } got, err := s.GetMetrics(context.TODO(), in) - assert.NoError(t, err, "Unexpected error in Service.GetMetrics()") + require.NoError(t, err, "Unexpected error in Service.GetMetrics()") expectedJSON := getExpectedJSON(t, got, "../../test_data/GetMetrics_total.json") marshaler := protojson.MarshalOptions{Indent: "\t"} diff --git a/qan-api2/services/analytics/profile_test.go b/qan-api2/services/analytics/profile_test.go index d3bcc0cff0b..31be418036e 100644 --- a/qan-api2/services/analytics/profile_test.go +++ b/qan-api2/services/analytics/profile_test.go @@ -26,6 +26,7 @@ import ( "github.com/jmoiron/sqlx" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "google.golang.org/grpc/metadata" jsonpb "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" @@ -334,7 +335,7 @@ func TestService_GetReport_Groups(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Groups_group_by_queryid.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -372,7 +373,7 @@ func TestService_GetReport_Groups(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Groups_group_by_service_name.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -410,7 +411,7 @@ func TestService_GetReport_Groups(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Groups_group_by_database.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -448,7 +449,7 @@ func TestService_GetReport_Groups(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Groups_group_by_schema.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -486,7 +487,7 @@ func TestService_GetReport_Groups(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Groups_group_by_username.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -524,7 +525,7 @@ func TestService_GetReport_Groups(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Groups_group_by_client_host.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -685,7 +686,7 @@ func TestService_GetReport_Sparklines(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_sparklines_60_points.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -724,7 +725,7 @@ func TestService_GetReport_Sparklines(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_sparklines_90_points.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -763,7 +764,7 @@ func TestService_GetReport_Search(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Search_search_queryid.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -794,7 +795,7 @@ func TestService_GetReport_Search(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Search_search_fingerprint.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -825,7 +826,7 @@ func TestService_GetReport_Search(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestService_GetReport_Search_search_service_name.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} @@ -863,7 +864,7 @@ func TestServiceGetReportSpecialMetrics(t *testing.T) { } got, err := s.GetReport(makeContext(t), &in) - assert.NoError(t, err, "Unexpected error in Service.GetReport()") + require.NoError(t, err, "Unexpected error in Service.GetReport()") expectedJSON := getExpectedJSON(t, got, "../../test_data/TestServiceGetReportSpecialMetrics_num_queries_with_errors.json") marshaler := jsonpb.MarshalOptions{Indent: "\t"} diff --git a/qan-api2/utils/templatefs/templatefs_test.go b/qan-api2/utils/templatefs/templatefs_test.go index 61575026d08..3d51e628dbd 100644 --- a/qan-api2/utils/templatefs/templatefs_test.go +++ b/qan-api2/utils/templatefs/templatefs_test.go @@ -85,7 +85,7 @@ func TestTemplateFS_ReadFile_InvalidTemplate(t *testing.T) { func TestTemplateFS_ReadFile_NonexistentFile(t *testing.T) { tfs := NewTemplateFS(testFS, nil, "") _, err := tfs.ReadFile("nonexistent.sql") - assert.Error(t, err) + require.Error(t, err) } func TestTemplateFS_ReadDir(t *testing.T) { @@ -100,7 +100,7 @@ func TestTemplateFS_ReadDir(t *testing.T) { func TestTemplateFS_ReadDir_NonexistentDir(t *testing.T) { tfs := NewTemplateFS(testFS, nil, "nonexistent") _, err := tfs.Names() - assert.Error(t, err) + require.Error(t, err) } func TestTemplateFS_FilenameExtraction(t *testing.T) { From 60484a25bb4eccda91c6a59d79f8b9889f596623 Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Tue, 19 May 2026 10:41:51 +0300 Subject: [PATCH 4/7] fix --- managed/services/grafana/client_test.go | 1 - managed/utils/tests/asserts.go | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/managed/services/grafana/client_test.go b/managed/services/grafana/client_test.go index d84f67340f9..cdd7ce1f8fd 100644 --- a/managed/services/grafana/client_test.go +++ b/managed/services/grafana/client_test.go @@ -478,7 +478,6 @@ func TestCurrentUserHTTPResponse(t *testing.T) { } func TestClient(t *testing.T) { - logrus.SetLevel(logrus.TraceLevel) l := logrus.WithField("test", t.Name()) ctx := t.Context() diff --git a/managed/utils/tests/asserts.go b/managed/utils/tests/asserts.go index 681a65831ae..12b68f186f8 100644 --- a/managed/utils/tests/asserts.go +++ b/managed/utils/tests/asserts.go @@ -34,7 +34,7 @@ func AssertGRPCError(tb testing.TB, expected *status.Status, actual error) { return } err := s.Err() - require.NoError(tb, err) + require.Error(tb, err) assert.Equal(tb, expected.Err().Error(), err.Error()) // gives the best error message } From cdec538f83a5c7ddcc3322b1f172a9f1f589d9be Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Tue, 19 May 2026 11:05:43 +0300 Subject: [PATCH 5/7] fix --- .../mongodb/mongolog/internal/monitor_test.go | 5 ----- .../internal/collector/collector_test.go | 3 --- .../profiler/internal/parser/parser_test.go | 2 +- .../profiler/internal/profiler_test.go | 19 ++++++++----------- .../pgstatmonitor/pgstatmonitor_test.go | 2 +- .../pgstatstatements/pgstatstatements_test.go | 6 +++--- .../mongodb_query_admincommand_action_test.go | 10 +++++----- .../actions/mysql_explain_action_test.go | 6 +++--- .../mysql_show_table_status_action_test.go | 6 +++--- api-tests/alerting/alerting_test.go | 4 ++-- managed/models/postgresql_version_test.go | 2 +- 11 files changed, 27 insertions(+), 38 deletions(-) diff --git a/agent/agents/mongodb/mongolog/internal/monitor_test.go b/agent/agents/mongodb/mongolog/internal/monitor_test.go index f1ab0bf470c..1fe64e188be 100644 --- a/agent/agents/mongodb/mongolog/internal/monitor_test.go +++ b/agent/agents/mongodb/mongolog/internal/monitor_test.go @@ -47,11 +47,6 @@ const ( func TestCollector(t *testing.T) { t.Parallel() - logrus.SetLevel(logrus.TraceLevel) - t.Cleanup(func() { - logrus.SetLevel(logrus.InfoLevel) - }) - tests, err := testFileNames(t) require.NoError(t, err) for _, test := range tests { diff --git a/agent/agents/mongodb/profiler/internal/collector/collector_test.go b/agent/agents/mongodb/profiler/internal/collector/collector_test.go index dee034baaec..6c3584e00f2 100644 --- a/agent/agents/mongodb/profiler/internal/collector/collector_test.go +++ b/agent/agents/mongodb/profiler/internal/collector/collector_test.go @@ -120,9 +120,6 @@ func TestCollector(t *testing.T) { // cursorTimeout*time.Duration(maxLoops*2): Wait time between loops to produce iter.TryNext to return a false timeout := time.Millisecond*time.Duration(maxDocs*maxLoops) + cursorTimeout*time.Duration(maxLoops*2) + 5*time.Second - logrus.SetLevel(logrus.TraceLevel) - defer logrus.SetLevel(logrus.InfoLevel) - ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() diff --git a/agent/agents/mongodb/profiler/internal/parser/parser_test.go b/agent/agents/mongodb/profiler/internal/parser/parser_test.go index c6c8dd00c2c..349a497a749 100644 --- a/agent/agents/mongodb/profiler/internal/parser/parser_test.go +++ b/agent/agents/mongodb/profiler/internal/parser/parser_test.go @@ -136,7 +136,7 @@ func TestParserRunning(t *testing.T) { assert.Equal(t, expected.StartTS, actual.StartTS) assert.Equal(t, expected.EndTS, actual.EndTS) assert.Len(t, actual.Buckets, 1) - assert.InEpsilon(t, 1, actual.Buckets[0].Common.NumQueries, 0.001) + assert.InDelta(t, 1, actual.Buckets[0].Common.NumQueries, 0.001) case <-time.After(d + 5*time.Second): t.Error("test timeout") diff --git a/agent/agents/mongodb/profiler/internal/profiler_test.go b/agent/agents/mongodb/profiler/internal/profiler_test.go index ae5c00aaf4c..1c0a3b9e873 100644 --- a/agent/agents/mongodb/profiler/internal/profiler_test.go +++ b/agent/agents/mongodb/profiler/internal/profiler_test.go @@ -59,9 +59,6 @@ func TestProfiler(t *testing.T) { aggregator.DefaultInterval = time.Second defer func() { aggregator.DefaultInterval = defaultInterval }() - logrus.SetLevel(logrus.TraceLevel) - defer logrus.SetLevel(logrus.InfoLevel) - sslDSNTemplate, files := tests.GetTestMongoDBWithSSLDSN(t, "../../../../") tempDir := t.TempDir() sslDSN, err := templates.RenderDSN(sslDSNTemplate, files, tempDir) @@ -186,17 +183,17 @@ func testProfiler(t *testing.T, url string) { MResponseLengthP99: responseLength, } // TODO: fix protobuf equality https://jira.percona.com/browse/PMM-6743 - assert.InEpsilonf(t, expected.MDocsReturnedCnt, bucket.Mongodb.MDocsReturnedCnt, 0.0001, "wrong metrics MDocsReturnedCnt for db %s", bucket.Common.Database) - assert.InEpsilonf(t, expected.MResponseLengthCnt, bucket.Mongodb.MResponseLengthCnt, 0.0001, "wrong metrics MResponseLengthCnt for db %s", bucket.Common.Database) - assert.InEpsilonf(t, expected.MResponseLengthSum, bucket.Mongodb.MResponseLengthSum, 0.0001, "wrong metrics MResponseLengthSum for db %s", bucket.Common.Database) - assert.InEpsilonf(t, expected.MResponseLengthMin, bucket.Mongodb.MResponseLengthMin, 0.0001, "wrong metrics MResponseLengthMin for db %s", bucket.Common.Database) - assert.InEpsilonf(t, expected.MResponseLengthMax, bucket.Mongodb.MResponseLengthMax, 0.0001, "wrong metrics MResponseLengthMax for db %s", bucket.Common.Database) - assert.InEpsilonf(t, expected.MResponseLengthP99, bucket.Mongodb.MResponseLengthP99, 0.0001, "wrong metrics MResponseLengthP99 for db %s", bucket.Common.Database) - assert.InEpsilonf(t, expected.MDocsExaminedCnt, bucket.Mongodb.MDocsExaminedCnt, 0.0001, "wrong metrics MDocsExaminedCnt for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MDocsReturnedCnt, bucket.Mongodb.MDocsReturnedCnt, 0.0001, "wrong metrics MDocsReturnedCnt for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MResponseLengthCnt, bucket.Mongodb.MResponseLengthCnt, 0.0001, "wrong metrics MResponseLengthCnt for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MResponseLengthSum, bucket.Mongodb.MResponseLengthSum, 0.0001, "wrong metrics MResponseLengthSum for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MResponseLengthMin, bucket.Mongodb.MResponseLengthMin, 0.0001, "wrong metrics MResponseLengthMin for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MResponseLengthMax, bucket.Mongodb.MResponseLengthMax, 0.0001, "wrong metrics MResponseLengthMax for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MResponseLengthP99, bucket.Mongodb.MResponseLengthP99, 0.0001, "wrong metrics MResponseLengthP99 for db %s", bucket.Common.Database) + assert.InDeltaf(t, expected.MDocsExaminedCnt, bucket.Mongodb.MDocsExaminedCnt, 0.0001, "wrong metrics MDocsExaminedCnt for db %s", bucket.Common.Database) } require.NotNil(t, findBucket) assert.Equal(t, `db.people.find({"name_00\ufffd":"?"})`, findBucket.Common.Fingerprint) - assert.InEpsilon(t, docsCount, findBucket.Mongodb.MDocsReturnedSum, 0.0001) + assert.InDelta(t, docsCount, findBucket.Mongodb.MDocsReturnedSum, 0.0001) } func cleanUpDBs(t *testing.T, sess *mongo.Client) { diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go index 7271f3b2101..c830b7ed1b4 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go @@ -224,7 +224,7 @@ func TestPGStatMonitorSchema(t *testing.T) { actual := buckets[0] actual.Common.Username = strings.ReplaceAll(actual.Common.Username, `"`, "") assert.InDelta(t, 0, actual.Common.MQueryTimeSum, 0.09) - assert.InEpsilon(t, float32(5), actual.Postgresql.MSharedBlksHitSum+actual.Postgresql.MSharedBlksReadSum, 0.0001) + assert.InDelta(t, float32(5), actual.Postgresql.MSharedBlksHitSum+actual.Postgresql.MSharedBlksReadSum, 0.0001) assert.InDelta(t, 1.5, actual.Postgresql.MSharedBlksHitCnt+actual.Postgresql.MSharedBlksReadCnt, 0.5) example := "" diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go index be0cd9f1d28..c3d9db40336 100644 --- a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go +++ b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go @@ -204,7 +204,7 @@ func TestPGStatStatementsQAN(t *testing.T) { actual := buckets[0] assert.InDelta(t, 0, actual.Common.MQueryTimeSum, 0.09) - assert.InEpsilon(t, mSharedBlksHitSum, actual.Postgresql.MSharedBlksHitSum+actual.Postgresql.MSharedBlksReadSum, 0.0001) + assert.InDelta(t, mSharedBlksHitSum, actual.Postgresql.MSharedBlksHitSum+actual.Postgresql.MSharedBlksReadSum, 0.0001) assert.InDelta(t, 1.5, actual.Postgresql.MSharedBlksHitCnt+actual.Postgresql.MSharedBlksReadCnt, 0.5) expected := &agentv1.MetricsBucket{ Common: &agentv1.MetricsBucket_Common{ @@ -437,7 +437,7 @@ func TestPGStatStatementsQAN(t *testing.T) { actual := buckets[0] assert.NotZero(t, actual.Postgresql.MSharedBlkReadTimeSum+actual.Postgresql.MSharedBlkWriteTimeSum) - assert.InEpsilon(t, float32(n), actual.Postgresql.MSharedBlkReadTimeCnt+actual.Postgresql.MSharedBlkWriteTimeCnt, 0.0001) + assert.InDelta(t, float32(n), actual.Postgresql.MSharedBlkReadTimeCnt+actual.Postgresql.MSharedBlkWriteTimeCnt, 0.0001) expected := &agentv1.MetricsBucket{ Common: &agentv1.MetricsBucket_Common{ Queryid: actual.Common.Queryid, @@ -536,7 +536,7 @@ func TestPGStatStatementsQPS(t *testing.T) { insertBuckets := filterInsertQueries(t, buckets) mismatchedCount := 0 for _, b := range insertBuckets { - assert.InEpsilon(t, float32(1), b.Common.NumQueries, 0.0001) + assert.InDelta(t, float32(1), b.Common.NumQueries, 0.0001) if b.Common.NumQueries != 1 { mismatchedCount++ } diff --git a/agent/runner/actions/mongodb_query_admincommand_action_test.go b/agent/runner/actions/mongodb_query_admincommand_action_test.go index a5352401ec6..2db62492d88 100644 --- a/agent/runner/actions/mongodb_query_admincommand_action_test.go +++ b/agent/runner/actions/mongodb_query_admincommand_action_test.go @@ -195,14 +195,14 @@ func convertToObjxMap(t *testing.T, b []byte) objx.Map { func getParameterAssertions(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 5000, len(b)) objxM := convertToObjxMap(t, b) - assert.InEpsilon(t, 1.0, objxM.Get("ok").Data(), 0.0001) + assert.InDelta(t, 1.0, objxM.Get("ok").Data(), 0.0001) assert.Contains(t, objxM.Get("authenticationMechanisms").Data(), "SCRAM-SHA-1") } func buildInfoAssertions(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 1000, len(b)) objxM := convertToObjxMap(t, b) - assert.InEpsilon(t, 1.0, objxM.Get("ok").Data(), 0.0001) + assert.InDelta(t, 1.0, objxM.Get("ok").Data(), 0.0001) assert.Equal(t, "mozjs", objxM.Get("javascriptEngine").Data()) assert.Equal(t, "x86_64", objxM.Get("buildEnvironment.distarch").Data()) } @@ -210,15 +210,15 @@ func buildInfoAssertions(t *testing.T, b []byte) { //nolint:thelper func getDiagnosticDataAssertions(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 25000, len(b)) objxM := convertToObjxMap(t, b) - assert.InEpsilon(t, 1.0, objxM.Get("ok").Data(), 0.0001) - assert.InEpsilon(t, 1.0, objxM.Get("data.serverStatus.ok").Data(), 0.0001) + assert.InDelta(t, 1.0, objxM.Get("ok").Data(), 0.0001) + assert.InDelta(t, 1.0, objxM.Get("data.serverStatus.ok").Data(), 0.0001) assert.Equal(t, "mongod", objxM.Get("data.serverStatus.process").Data()) } func replSetGetStatusAssertionsReplicated(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 1000, len(b)) objxM := convertToObjxMap(t, b) - assert.InEpsilon(t, 1.0, objxM.Get("ok").Data(), 0.0001) + assert.InDelta(t, 1.0, objxM.Get("ok").Data(), 0.0001) assert.Len(t, objxM.Get("members").Data(), 2) } diff --git a/agent/runner/actions/mysql_explain_action_test.go b/agent/runner/actions/mysql_explain_action_test.go index d0fb4b51bb9..2e314a27663 100644 --- a/agent/runner/actions/mysql_explain_action_test.go +++ b/agent/runner/actions/mysql_explain_action_test.go @@ -182,9 +182,9 @@ func TestMySQLExplain(t *testing.T) { assert.Contains(t, actual[0], "Extra") // Checks some stable values - assert.InEpsilon(t, float64(1), actual[1][0], 0.0001) // id - assert.Equal(t, "SIMPLE", actual[1][1]) // select_type - assert.Equal(t, "city", actual[1][2]) // table + assert.InDelta(t, float64(1), actual[1][0], 0.0001) // id + assert.Equal(t, "SIMPLE", actual[1][1]) // select_type + assert.Equal(t, "city", actual[1][2]) // table } }) diff --git a/agent/runner/actions/mysql_show_table_status_action_test.go b/agent/runner/actions/mysql_show_table_status_action_test.go index 7716ef76da6..401d5272dbf 100644 --- a/agent/runner/actions/mysql_show_table_status_action_test.go +++ b/agent/runner/actions/mysql_show_table_status_action_test.go @@ -74,9 +74,9 @@ func TestShowTableStatus(t *testing.T) { assert.Contains(t, actual[0], "Comment") // Checks some stable values - assert.Equal(t, "city", actual[1][0]) // Name - assert.Equal(t, "InnoDB", actual[1][1]) // Engine - assert.InEpsilon(t, 10.0, actual[1][2], 0.0001) // Version + assert.Equal(t, "city", actual[1][0]) // Name + assert.Equal(t, "InnoDB", actual[1][1]) // Engine + assert.InDelta(t, 10.0, actual[1][2], 0.0001) // Version }) t.Run("Error", func(t *testing.T) { diff --git a/api-tests/alerting/alerting_test.go b/api-tests/alerting/alerting_test.go index a22db9c7a6e..f062e72d17b 100644 --- a/api-tests/alerting/alerting_test.go +++ b/api-tests/alerting/alerting_test.go @@ -569,14 +569,14 @@ func assertTemplate(t *testing.T, expectedTemplate alert.Template, listTemplates require.NotNil(t, param.Float) value, err := expectedParam.GetValueForFloat() require.NoError(t, err) - assert.InEpsilon(t, value, *param.Float.Default, 0.0001) + assert.InDelta(t, value, *param.Float.Default, 0.0001) } if len(expectedParam.Range) != 0 { minR, maxR, err := expectedParam.GetRangeForFloat() require.NoError(t, err) assert.InDelta(t, minR, *param.Float.Min, 0.0001) - assert.InEpsilon(t, maxR, *param.Float.Max, 0.0001) + assert.InDelta(t, maxR, *param.Float.Max, 0.0001) } assert.Nil(t, param.Bool) diff --git a/managed/models/postgresql_version_test.go b/managed/models/postgresql_version_test.go index 300a3ff8d05..505d57d8e76 100644 --- a/managed/models/postgresql_version_test.go +++ b/managed/models/postgresql_version_test.go @@ -88,7 +88,7 @@ func TestGetPostgreSQLVersion(t *testing.T) { if tc.wantError { require.Error(t, err) } else { - assert.InEpsilon(t, tc.wantVersion.Float(), version.Float(), 0.0001) + assert.InDelta(t, tc.wantVersion.Float(), version.Float(), 0.0001) assert.Equal(t, tc.wantVersion.String(), version.String()) require.NoError(t, err) } From c2b14ed8745f3ea03be82f74fe003c533386aff8 Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Tue, 19 May 2026 11:17:54 +0300 Subject: [PATCH 6/7] fix --- agent/runner/actions/mongodb_query_admincommand_action_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/runner/actions/mongodb_query_admincommand_action_test.go b/agent/runner/actions/mongodb_query_admincommand_action_test.go index 2db62492d88..e58aa51573a 100644 --- a/agent/runner/actions/mongodb_query_admincommand_action_test.go +++ b/agent/runner/actions/mongodb_query_admincommand_action_test.go @@ -230,7 +230,7 @@ func replSetGetStatusAssertionsStandalone(t *testing.T, id string, timeout time. defer cancel() b, err := a.Run(ctx) require.Nil(t, b) - var targetErr *mongo.CommandError + var targetErr mongo.CommandError require.ErrorAs(t, err, &targetErr) require.Equal(t, "(NoReplicationEnabled) not running with --replSet", err.Error()) } From 5c8289c5631fc652868a283e2ede34dd05f63caa Mon Sep 17 00:00:00 2001 From: Maxim Kondratenko Date: Tue, 19 May 2026 14:13:04 +0300 Subject: [PATCH 7/7] fix --- admin/commands/management/add_mysql_test.go | 2 +- agent/runner/actions/mysql_show_index_action_test.go | 2 +- managed/services/checks/funcs_test.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/admin/commands/management/add_mysql_test.go b/admin/commands/management/add_mysql_test.go index c0b61008c49..a38b3d901ec 100644 --- a/admin/commands/management/add_mysql_test.go +++ b/admin/commands/management/add_mysql_test.go @@ -156,6 +156,6 @@ func TestRun(t *testing.T) { _, err := cmd.RunCmd() expected := "Unrecognized option. To create a user, see https://docs.percona.com/percona-monitoring-and-management/3/install-pmm/install-pmm-client/connect-database/mysql/mysql.html#create-a-database-account-for-pmm" - require.Error(t, err, expected) + require.EqualError(t, err, expected) }) } diff --git a/agent/runner/actions/mysql_show_index_action_test.go b/agent/runner/actions/mysql_show_index_action_test.go index bfd3432fd4f..8f01f0033ae 100644 --- a/agent/runner/actions/mysql_show_index_action_test.go +++ b/agent/runner/actions/mysql_show_index_action_test.go @@ -125,7 +125,7 @@ func TestMySQLShowIndex(t *testing.T) { _, err := a.Run(ctx) expected := "Error 1146 (42S02): Table 'world.city; DROP TABLE city; --' doesn't exist" - require.Equal(t, expected, err.Error()) + require.EqualError(t, err, expected) var count int err = q.QueryRow("SELECT COUNT(*) FROM city").Scan(&count) diff --git a/managed/services/checks/funcs_test.go b/managed/services/checks/funcs_test.go index 1f623bff6c4..0ed4ffb50c4 100644 --- a/managed/services/checks/funcs_test.go +++ b/managed/services/checks/funcs_test.go @@ -63,7 +63,7 @@ Traceback (most recent call last): TestVersion:2:22: in check_context : in parse_version `) + "\n" - require.Error(t, err, expectedErr) + require.EqualError(t, err, expectedErr) assert.Empty(t, res) input = []map[string]interface{}{