Skip to content

Commit

Permalink
[chore]: use ErrorContains and EqualError
Browse files Browse the repository at this point in the history
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
  • Loading branch information
mmorel-35 committed Sep 28, 2024
1 parent d128618 commit 732bb6d
Show file tree
Hide file tree
Showing 14 changed files with 27 additions and 45 deletions.
3 changes: 1 addition & 2 deletions cmd/builder/internal/builder/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,7 @@ func TestGenerateInvalidOutputPath(t *testing.T) {
cfg := newInitializedConfig(t)
cfg.Distribution.OutputPath = ":/invalid"
err := Generate(cfg)
require.Error(t, err)
require.Contains(t, err.Error(), "failed to create output path")
require.ErrorContains(t, err, "failed to create output path")
}

func TestVersioning(t *testing.T) {
Expand Down
3 changes: 1 addition & 2 deletions config/configtls/configtls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,7 @@ func TestOptionsToConfig(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
cfg, err := test.options.loadTLSConfig()
if test.expectError != "" {
require.Error(t, err)
assert.Contains(t, err.Error(), test.expectError)
assert.ErrorContains(t, err, test.expectError)
} else {
require.NoError(t, err)
assert.NotNil(t, cfg)
Expand Down
3 changes: 1 addition & 2 deletions confmap/confmap_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,7 @@ func TestUintUnmarshalerFailure(t *testing.T) {
cfg := &UintConfig{}
err := conf.Unmarshal(cfg)

require.Error(t, err)
assert.Contains(t, err.Error(), fmt.Sprintf("decoding failed due to the following error(s):\n\ncannot parse 'uint_test', %d overflows uint", testValue))
assert.ErrorContains(t, err, fmt.Sprintf("decoding failed due to the following error(s):\n\ncannot parse 'uint_test', %d overflows uint", testValue))
}

func TestMapKeyStringToMapKeyTextUnmarshalerHookFuncDuplicateID(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion confmap/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ func TestBackwardsCompatibilityForFilePath(t *testing.T) {
}
require.NoError(t, err)
_, err = resolver.Resolve(context.Background())
assert.Contains(t, err.Error(), tt.errMessage, tt.name)
assert.ErrorContains(t, err, tt.errMessage, tt.name)
})
}
}
Expand Down
6 changes: 3 additions & 3 deletions consumer/consumererror/signalerrors_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func TestTraces(t *testing.T) {
td := testdata.GenerateTraces(1)
err := errors.New("some error")
traceErr := NewTraces(err, td)
assert.Equal(t, err.Error(), traceErr.Error())
require.EqualError(t, err, traceErr.Error())
var target Traces
assert.False(t, errors.As(nil, &target))
assert.False(t, errors.As(err, &target))
Expand All @@ -41,7 +41,7 @@ func TestLogs(t *testing.T) {
td := testdata.GenerateLogs(1)
err := errors.New("some error")
logsErr := NewLogs(err, td)
assert.Equal(t, err.Error(), logsErr.Error())
require.EqualError(t, err, logsErr.Error())
var target Logs
assert.False(t, errors.As(nil, &target))
assert.False(t, errors.As(err, &target))
Expand All @@ -65,7 +65,7 @@ func TestMetrics(t *testing.T) {
td := testdata.GenerateMetrics(1)
err := errors.New("some error")
metricErr := NewMetrics(err, td)
assert.Equal(t, err.Error(), metricErr.Error())
require.EqualError(t, err, metricErr.Error())
var target Metrics
assert.False(t, errors.As(nil, &target))
assert.False(t, errors.As(err, &target))
Expand Down
2 changes: 1 addition & 1 deletion exporter/exporterhelper/internal/base_exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ func WithBatchFuncs(mf exporterbatcher.BatchMergeFunc[internal.Request], msf exp
func CheckStatus(t *testing.T, sd sdktrace.ReadOnlySpan, err error) {
if err != nil {
require.Equal(t, codes.Error, sd.Status().Code, "SpanData %v", sd)
require.Equal(t, err.Error(), sd.Status().Description, "SpanData %v", sd)
require.EqualError(t, err, sd.Status().Description, "SpanData %v", sd)
} else {
require.Equal(t, codes.Unset, sd.Status().Code, "SpanData %v", sd)
}
Expand Down
18 changes: 6 additions & 12 deletions exporter/exportertest/mock_consumer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,15 @@ func TestIDFromMetrics(t *testing.T) {
invalidData := pmetric.NewMetrics() // Create an invalid pmetric.Metrics object with missing attribute
invalidData.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics().AppendEmpty().SetEmptyHistogram().DataPoints().AppendEmpty().Attributes()
_, err = idFromMetrics(invalidData)
require.Error(t, err)
assert.Equal(t, err.Error(), fmt.Sprintf("invalid data element, attribute %q is missing", uniqueIDAttrName))
require.EqualError(t, err, fmt.Sprintf("invalid data element, attribute %q is missing", uniqueIDAttrName))

// Test case 3: Wrong attribute type
var intID int64 = 12
wrongAttribute := pmetric.NewMetrics() // Create a valid pmetric.Metrics object
wrongAttribute.ResourceMetrics().AppendEmpty().ScopeMetrics().AppendEmpty().Metrics().AppendEmpty().
SetEmptyHistogram().DataPoints().AppendEmpty().Attributes().PutInt(uniqueIDAttrName, intID)
_, err = idFromMetrics(wrongAttribute)
require.Error(t, err)
assert.Equal(t, err.Error(), fmt.Sprintf("invalid data element, attribute %q is wrong type Int", uniqueIDAttrName))
assert.EqualError(t, err, fmt.Sprintf("invalid data element, attribute %q is wrong type Int", uniqueIDAttrName))
}

func TestIDFromTraces(t *testing.T) {
Expand All @@ -78,17 +76,15 @@ func TestIDFromTraces(t *testing.T) {
invalidData := ptrace.NewTraces()
invalidData.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty().Attributes()
_, err = idFromTraces(invalidData)
require.Error(t, err)
assert.Equal(t, err.Error(), fmt.Sprintf("invalid data element, attribute %q is missing", uniqueIDAttrName))
require.EqualError(t, err, fmt.Sprintf("invalid data element, attribute %q is missing", uniqueIDAttrName))

// Test case 3: Wrong attribute type
var intID int64 = 12
wrongAttribute := ptrace.NewTraces()
wrongAttribute.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty().Attributes().
PutInt(uniqueIDAttrName, intID)
_, err = idFromTraces(wrongAttribute)
require.Error(t, err)
assert.Equal(t, err.Error(), fmt.Sprintf("invalid data element, attribute %q is wrong type Int", uniqueIDAttrName))
assert.EqualError(t, err, fmt.Sprintf("invalid data element, attribute %q is wrong type Int", uniqueIDAttrName))
}

func TestIDFromLogs(t *testing.T) {
Expand All @@ -103,17 +99,15 @@ func TestIDFromLogs(t *testing.T) {
invalidData := plog.NewLogs()
invalidData.ResourceLogs().AppendEmpty().ScopeLogs().AppendEmpty().LogRecords().AppendEmpty().Attributes()
_, err = idFromLogs(invalidData)
require.Error(t, err)
assert.Equal(t, err.Error(), fmt.Sprintf("invalid data element, attribute %q is missing", uniqueIDAttrName))
require.EqualError(t, err, fmt.Sprintf("invalid data element, attribute %q is missing", uniqueIDAttrName))

// Test case 3: Wrong attribute type
var intID int64 = 12
wrongAttribute := plog.NewLogs() // Create a valid plog.Metrics object
wrongAttribute.ResourceLogs().AppendEmpty().ScopeLogs().AppendEmpty().LogRecords().AppendEmpty().Attributes().
PutInt(uniqueIDAttrName, intID)
_, err = idFromLogs(wrongAttribute)
require.Error(t, err)
assert.Equal(t, err.Error(), fmt.Sprintf("invalid data element, attribute %q is wrong type Int", uniqueIDAttrName))
assert.EqualError(t, err, fmt.Sprintf("invalid data element, attribute %q is wrong type Int", uniqueIDAttrName))
}

func returnNonPermanentError() error {
Expand Down
5 changes: 2 additions & 3 deletions internal/memorylimiter/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ func TestUnmarshalInvalidConfig(t *testing.T) {
require.NoError(t, err)
cfg := &Config{}
err = cm.Unmarshal(&cfg)
require.Error(t, err)
require.Contains(t, err.Error(), "cannot parse 'limit_mib', -2000 overflows uint")
require.Contains(t, err.Error(), "cannot parse 'spike_limit_mib', -2300 overflows uint")
require.ErrorContains(t, err, "cannot parse 'limit_mib', -2000 overflows uint")
require.ErrorContains(t, err, "cannot parse 'spike_limit_mib', -2300 overflows uint")
}
6 changes: 2 additions & 4 deletions otelcol/command_validate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ import (
func TestValidateSubCommandNoConfig(t *testing.T) {
cmd := newValidateSubCommand(CollectorSettings{Factories: nopFactories}, flags(featuregate.GlobalRegistry()))
err := cmd.Execute()
require.Error(t, err)
require.Contains(t, err.Error(), "at least one config flag must be provided")
require.ErrorContains(t, err, "at least one config flag must be provided")
}

func TestValidateSubCommandInvalidComponents(t *testing.T) {
Expand All @@ -34,6 +33,5 @@ func TestValidateSubCommandInvalidComponents(t *testing.T) {
},
}}, flags(featuregate.GlobalRegistry()))
err := cmd.Execute()
require.Error(t, err)
require.Contains(t, err.Error(), "unknown type: \"nosuchprocessor\"")
require.ErrorContains(t, err, "unknown type: \"nosuchprocessor\"")
}
3 changes: 1 addition & 2 deletions otelcol/internal/configunmarshaler/configs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,7 @@ func TestUnmarshalError(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
cfgs := NewConfigs(tk.factories)
err := cfgs.Unmarshal(tt.conf)
require.Error(t, err)
assert.Contains(t, err.Error(), tt.expectedError)
assert.ErrorContains(t, err, tt.expectedError)
})
}
})
Expand Down
6 changes: 2 additions & 4 deletions otelcol/unmarshaler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ func TestUnmarshalUnknownTopLevel(t *testing.T) {
"unknown_section": nil,
})
_, err = unmarshal(conf, factories)
require.Error(t, err)
assert.Contains(t, err.Error(), "'' has invalid keys: unknown_section")
assert.ErrorContains(t, err, "'' has invalid keys: unknown_section")
}

func TestPipelineConfigUnmarshalError(t *testing.T) {
Expand Down Expand Up @@ -136,8 +135,7 @@ func TestPipelineConfigUnmarshalError(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
pips := new(pipelines.ConfigWithPipelineID)
err := tt.conf.Unmarshal(&pips)
require.Error(t, err)
assert.Contains(t, err.Error(), tt.expectError)
assert.ErrorContains(t, err, tt.expectError)
})
}
}
Expand Down
7 changes: 3 additions & 4 deletions processor/batchprocessor/batch_processor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1273,9 +1273,8 @@ func TestBatchProcessorDuplicateMetadataKeys(t *testing.T) {
cfg := createDefaultConfig().(*Config)
cfg.MetadataKeys = []string{"myTOKEN", "mytoken"}
err := cfg.Validate()
require.Error(t, err)
require.Contains(t, err.Error(), "duplicate")
require.Contains(t, err.Error(), "mytoken")
require.ErrorContains(t, err, "duplicate")
require.ErrorContains(t, err, "mytoken")
}

func TestBatchProcessorMetadataCardinalityLimit(t *testing.T) {
Expand Down Expand Up @@ -1312,7 +1311,7 @@ func TestBatchProcessorMetadataCardinalityLimit(t *testing.T) {

require.Error(t, err)
assert.True(t, consumererror.IsPermanent(err))
assert.Contains(t, err.Error(), "too many")
require.ErrorContains(t, err, "too many")

require.NoError(t, batcher.Shutdown(context.Background()))
}
Expand Down
2 changes: 1 addition & 1 deletion receiver/scrapererror/partialscrapeerror_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func TestPartialScrapeError(t *testing.T) {
failed := 2
err := errors.New("some error")
partialErr := NewPartialScrapeError(err, failed)
assert.Equal(t, err.Error(), partialErr.Error())
require.EqualError(t, err, partialErr.Error())
assert.Equal(t, failed, partialErr.Failed)
}

Expand Down
6 changes: 2 additions & 4 deletions service/internal/graph/graph_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,12 +198,10 @@ func TestGraphStartStopCycle(t *testing.T) {
pg.componentGraph.SetEdge(simple.Edge{F: c1, T: p1}) // loop back

err := pg.StartAll(context.Background(), &Host{Reporter: status.NewReporter(func(*componentstatus.InstanceID, *componentstatus.Event) {}, func(error) {})})
require.Error(t, err)
assert.Contains(t, err.Error(), `topo: no topological ordering: cyclic components`)
require.ErrorContains(t, err, `topo: no topological ordering: cyclic components`)

err = pg.ShutdownAll(context.Background(), statustest.NewNopStatusReporter())
require.Error(t, err)
assert.Contains(t, err.Error(), `topo: no topological ordering: cyclic components`)
assert.ErrorContains(t, err, `topo: no topological ordering: cyclic components`)
}

func TestGraphStartStopComponentError(t *testing.T) {
Expand Down

0 comments on commit 732bb6d

Please sign in to comment.