Skip to content

Commit

Permalink
chore(tests): assert.Error->require.Error (cmd directory)
Browse files Browse the repository at this point in the history
This is part of a series of test tidies started by #13365.

The aim is to enable the testifylint golangci-lint checker.

This commit converts assert.Error checks into require.Error for the
part of the codebase, as per #13270 (comment)

In some places checks have been coaleced - in particular the pattern

```go
if assert.Error() {
    assert.Contains(..., "message")
}
```

is now
```go
require.ErrorContains(..., "message")
```

Getting this wrong and missing the Contains is still valid go, so
that's a mistake I may have made.

Signed-off-by: Alan Clucas <alan@clucas.org>
  • Loading branch information
Joibel committed Jul 27, 2024
1 parent 5d8ee22 commit bbdbbb4
Show file tree
Hide file tree
Showing 10 changed files with 119 additions and 127 deletions.
6 changes: 3 additions & 3 deletions cmd/argo/commands/clustertemplate/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

const cwfts = `
Expand Down Expand Up @@ -40,7 +41,6 @@ spec:

func TestUnmarshalCWFT(t *testing.T) {
clusterwfts, err := unmarshalClusterWorkflowTemplates([]byte(cwfts), false)
if assert.NoError(t, err) {
assert.Len(t, clusterwfts, 2)
}
require.NoError(t, err)
assert.Len(t, clusterwfts, 2)
}
3 changes: 2 additions & 1 deletion cmd/argo/commands/common/get_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"time"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

Expand Down Expand Up @@ -41,7 +42,7 @@ func testPrintNodeImpl(t *testing.T, expected string, node wfv1.NodeStatus, getA
printNode(w, node, workflowName, "", getArgs, util.GetPodNameVersion())
}
err := w.Flush()
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expected, result.String())
}

Expand Down
15 changes: 7 additions & 8 deletions cmd/argo/commands/cron/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"time"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"

"github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
)
Expand Down Expand Up @@ -62,10 +63,9 @@ func TestPrintCronWorkflow(t *testing.T) {
func TestNextRuntime(t *testing.T) {
var cronWf = v1alpha1.MustUnmarshalCronWorkflow(invalidCwf)
next, err := GetNextRuntime(cronWf)
if assert.NoError(t, err) {
assert.LessOrEqual(t, next.Unix(), time.Now().Add(1*time.Minute).Unix())
assert.Greater(t, next.Unix(), time.Now().Unix())
}
require.NoError(t, err)
assert.LessOrEqual(t, next.Unix(), time.Now().Add(1*time.Minute).Unix())
assert.Greater(t, next.Unix(), time.Now().Unix())
}

var cronMultipleSchedules = `
Expand Down Expand Up @@ -95,8 +95,7 @@ spec:
func TestNextRuntimeWithMultipleSchedules(t *testing.T) {
var cronWf = v1alpha1.MustUnmarshalCronWorkflow(cronMultipleSchedules)
next, err := GetNextRuntime(cronWf)
if assert.NoError(t, err) {
assert.LessOrEqual(t, next.Unix(), time.Now().Add(1*time.Minute).Unix())
assert.Greater(t, next.Unix(), time.Now().Unix())
}
require.NoError(t, err)
assert.LessOrEqual(t, next.Unix(), time.Now().Add(1*time.Minute).Unix())
assert.Greater(t, next.Unix(), time.Now().Unix())
}
64 changes: 27 additions & 37 deletions cmd/argo/commands/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflow"
Expand All @@ -18,73 +19,62 @@ import (
func Test_listWorkflows(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
workflows, err := listEmpty(&metav1.ListOptions{}, listFlags{})
if assert.NoError(t, err) {
assert.Empty(t, workflows)
}
require.NoError(t, err)
assert.Empty(t, workflows)
})
t.Run("Nothing", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{}, listFlags{})
if assert.NoError(t, err) {
assert.NotNil(t, workflows)
}
require.NoError(t, err)
assert.NotNil(t, workflows)
})
t.Run("Status", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{LabelSelector: "workflows.argoproj.io/phase in (Pending,Running)"}, listFlags{status: []string{"Running", "Pending"}})
if assert.NoError(t, err) {
assert.NotNil(t, workflows)
}
require.NoError(t, err)
assert.NotNil(t, workflows)
})
t.Run("Completed", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{LabelSelector: "workflows.argoproj.io/completed=true"}, listFlags{completed: true})
if assert.NoError(t, err) {
assert.NotNil(t, workflows)
}
require.NoError(t, err)
assert.NotNil(t, workflows)
})
t.Run("Running", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{LabelSelector: "workflows.argoproj.io/completed!=true"}, listFlags{running: true})
if assert.NoError(t, err) {
assert.NotNil(t, workflows)
}
require.NoError(t, err)
assert.NotNil(t, workflows)
})
t.Run("Resubmitted", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{LabelSelector: common.LabelKeyPreviousWorkflowName}, listFlags{resubmitted: true})
if assert.NoError(t, err) {
assert.NotNil(t, workflows)
}
require.NoError(t, err)
assert.NotNil(t, workflows)
})
t.Run("Labels", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{LabelSelector: "foo"}, listFlags{labels: "foo"})
if assert.NoError(t, err) {
assert.NotNil(t, workflows)
}
require.NoError(t, err)
assert.NotNil(t, workflows)
})
t.Run("Prefix", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{}, listFlags{prefix: "foo-"})
if assert.NoError(t, err) {
assert.Len(t, workflows, 1)
}
require.NoError(t, err)
assert.Len(t, workflows, 1)
})
t.Run("Since", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{}, listFlags{createdSince: "1h"})
if assert.NoError(t, err) {
assert.Len(t, workflows, 1)
}
require.NoError(t, err)
assert.Len(t, workflows, 1)
})
t.Run("Older", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{}, listFlags{finishedBefore: "1h"})
if assert.NoError(t, err) {
assert.Len(t, workflows, 1)
}
require.NoError(t, err)
assert.Len(t, workflows, 1)
})
t.Run("Names", func(t *testing.T) {
workflows, err := list(&metav1.ListOptions{FieldSelector: nameFields}, listFlags{fields: nameFields})
if assert.NoError(t, err) {
assert.Len(t, workflows, 3)
// most recent workflow will be shown first
assert.Equal(t, "bar-", workflows[0].Name)
assert.Equal(t, "baz-", workflows[1].Name)
assert.Equal(t, "foo-", workflows[2].Name)
}
require.NoError(t, err)
assert.Len(t, workflows, 3)
// most recent workflow will be shown first
assert.Equal(t, "bar-", workflows[0].Name)
assert.Equal(t, "baz-", workflows[1].Name)
assert.Equal(t, "foo-", workflows[2].Name)
})
}

Expand Down
14 changes: 7 additions & 7 deletions cmd/argo/commands/resubmit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"fmt"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
Expand All @@ -28,7 +28,7 @@ func Test_resubmitWorkflows(t *testing.T) {
err := resubmitWorkflows(context.Background(), c, resubmitOpts, cliSubmitOpts, []string{"foo", "bar"})
c.AssertNumberOfCalls(t, "ResubmitWorkflow", 2)

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Resubmit workflow with memoization", func(t *testing.T) {
Expand All @@ -49,7 +49,7 @@ func Test_resubmitWorkflows(t *testing.T) {
Memoized: true,
})

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Resubmit workflow by selector", func(t *testing.T) {
Expand Down Expand Up @@ -89,7 +89,7 @@ func Test_resubmitWorkflows(t *testing.T) {
c.AssertCalled(t, "ResubmitWorkflow", mock.Anything, resubmitReq)
}

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Resubmit workflow by selector and name", func(t *testing.T) {
Expand Down Expand Up @@ -139,7 +139,7 @@ func Test_resubmitWorkflows(t *testing.T) {
Memoized: false,
})

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Resubmit workflow list error", func(t *testing.T) {
Expand All @@ -151,7 +151,7 @@ func Test_resubmitWorkflows(t *testing.T) {
cliSubmitOpts := common.CliSubmitOpts{}
c.On("ListWorkflows", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
err := resubmitWorkflows(context.Background(), c, resubmitOpts, cliSubmitOpts, []string{})
assert.Errorf(t, err, "mock error")
require.Errorf(t, err, "mock error")
})

t.Run("Resubmit workflow error", func(t *testing.T) {
Expand All @@ -162,6 +162,6 @@ func Test_resubmitWorkflows(t *testing.T) {
cliSubmitOpts := common.CliSubmitOpts{}
c.On("ResubmitWorkflow", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
err := resubmitWorkflows(context.Background(), c, resubmitOpts, cliSubmitOpts, []string{"foo"})
assert.Errorf(t, err, "mock error")
require.Errorf(t, err, "mock error")
})
}
12 changes: 6 additions & 6 deletions cmd/argo/commands/retry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"fmt"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
Expand All @@ -28,7 +28,7 @@ func Test_retryWorkflows(t *testing.T) {
err := retryWorkflows(context.Background(), c, retryOpts, cliSubmitOpts, []string{"foo", "bar"})
c.AssertNumberOfCalls(t, "RetryWorkflow", 2)

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Retry workflow by selector", func(t *testing.T) {
Expand Down Expand Up @@ -69,7 +69,7 @@ func Test_retryWorkflows(t *testing.T) {
c.AssertCalled(t, "RetryWorkflow", mock.Anything, retryReq)
}

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Retry workflow by selector and name", func(t *testing.T) {
Expand Down Expand Up @@ -121,7 +121,7 @@ func Test_retryWorkflows(t *testing.T) {
NodeFieldSelector: "",
})

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Retry workflow list error", func(t *testing.T) {
Expand All @@ -133,7 +133,7 @@ func Test_retryWorkflows(t *testing.T) {
cliSubmitOpts := common.CliSubmitOpts{}
c.On("ListWorkflows", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
err := retryWorkflows(context.Background(), c, retryOpts, cliSubmitOpts, []string{})
assert.Errorf(t, err, "mock error")
require.Errorf(t, err, "mock error")
})

t.Run("Retry workflow error", func(t *testing.T) {
Expand All @@ -144,6 +144,6 @@ func Test_retryWorkflows(t *testing.T) {
cliSubmitOpts := common.CliSubmitOpts{}
c.On("RetryWorkflow", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
err := retryWorkflows(context.Background(), c, retryOpts, cliSubmitOpts, []string{"foo"})
assert.Errorf(t, err, "mock error")
require.Errorf(t, err, "mock error")
})
}
14 changes: 7 additions & 7 deletions cmd/argo/commands/stop_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"fmt"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

workflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflow"
Expand All @@ -24,7 +24,7 @@ func Test_stopWorkflows(t *testing.T) {
err := stopWorkflows(context.Background(), c, stopArgs, []string{"foo", "bar"})
c.AssertNotCalled(t, "StopWorkflow")

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Stop workflow by names", func(t *testing.T) {
Expand All @@ -38,7 +38,7 @@ func Test_stopWorkflows(t *testing.T) {
err := stopWorkflows(context.Background(), c, stopArgs, []string{"foo", "bar"})
c.AssertNumberOfCalls(t, "StopWorkflow", 2)

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Stop workflow by selector", func(t *testing.T) {
Expand Down Expand Up @@ -67,7 +67,7 @@ func Test_stopWorkflows(t *testing.T) {
err := stopWorkflows(context.Background(), c, stopArgs, []string{})
c.AssertNumberOfCalls(t, "StopWorkflow", 3)

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Stop workflow by selector and name", func(t *testing.T) {
Expand Down Expand Up @@ -97,7 +97,7 @@ func Test_stopWorkflows(t *testing.T) {
// after de-duplication, there will be 4 workflows to stop
c.AssertNumberOfCalls(t, "StopWorkflow", 4)

assert.NoError(t, err)
require.NoError(t, err)
})

t.Run("Stop workflow list error", func(t *testing.T) {
Expand All @@ -108,7 +108,7 @@ func Test_stopWorkflows(t *testing.T) {
}
c.On("ListWorkflows", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
err := stopWorkflows(context.Background(), c, stopArgs, []string{})
assert.Errorf(t, err, "mock error")
require.Errorf(t, err, "mock error")
})

t.Run("Stop workflow error", func(t *testing.T) {
Expand All @@ -118,6 +118,6 @@ func Test_stopWorkflows(t *testing.T) {
}
c.On("StopWorkflow", mock.Anything, mock.Anything).Return(nil, fmt.Errorf("mock error"))
err := stopWorkflows(context.Background(), c, stopArgs, []string{"foo"})
assert.Errorf(t, err, "mock error")
require.Errorf(t, err, "mock error")
})
}
Loading

0 comments on commit bbdbbb4

Please sign in to comment.