This commit is contained in:
Christopher Homberger
2026-02-22 21:12:25 +01:00
parent a27473e6a8
commit bffc600775
17 changed files with 38 additions and 38 deletions

View File

@@ -6,7 +6,7 @@ package cmd
import ( import (
"testing" "testing"
"gotest.tools/v3/assert" "github.com/stretchr/testify/require"
) )
func TestRegisterNonInteractiveReturnsLabelValidationError(t *testing.T) { func TestRegisterNonInteractiveReturnsLabelValidationError(t *testing.T) {
@@ -15,5 +15,5 @@ func TestRegisterNonInteractiveReturnsLabelValidationError(t *testing.T) {
Token: "token", Token: "token",
InstanceAddr: "http://localhost:3000", InstanceAddr: "http://localhost:3000",
}) })
assert.Error(t, err, "unsupported schema: invalid") require.Error(t, err, "unsupported schema: invalid")
} }

View File

@@ -74,14 +74,14 @@ func TestRewriteSubExpression_ForceFormatMultiple(t *testing.T) {
func TestRewriteSubExpression_UnclosedExpression(t *testing.T) { func TestRewriteSubExpression_UnclosedExpression(t *testing.T) {
in := "Hello ${{ 'world' " // missing closing }} in := "Hello ${{ 'world' " // missing closing }}
_, _, err := rewriteSubExpression(in, false) _, _, err := rewriteSubExpression(in, false)
assert.Error(t, err) require.Error(t, err)
assert.Contains(t, err.Error(), "unclosed expression") assert.Contains(t, err.Error(), "unclosed expression")
} }
func TestRewriteSubExpression_UnclosedString(t *testing.T) { func TestRewriteSubExpression_UnclosedString(t *testing.T) {
in := "Hello ${{ 'world }}, you are ${{ 'awesome' }}" in := "Hello ${{ 'world }}, you are ${{ 'awesome' }}"
_, _, err := rewriteSubExpression(in, false) _, _, err := rewriteSubExpression(in, false)
assert.Error(t, err) require.Error(t, err)
assert.Contains(t, err.Error(), "unclosed string") assert.Contains(t, err.Error(), "unclosed string")
} }

View File

@@ -42,7 +42,7 @@ func TestHandler(t *testing.T) {
assert.Nil(t, handler.server) assert.Nil(t, handler.server)
assert.Nil(t, handler.listener) assert.Nil(t, handler.listener)
_, err := http.Post(fmt.Sprintf("%s/caches/%d", base, 1), "", nil) _, err := http.Post(fmt.Sprintf("%s/caches/%d", base, 1), "", nil)
assert.Error(t, err) require.Error(t, err)
}) })
}() }()

View File

@@ -311,7 +311,7 @@ func runTestJobFile(ctx context.Context, t *testing.T, tjfi TestJobFileInfo) {
if tjfi.errorMessage == "" { if tjfi.errorMessage == "" {
require.NoError(t, err, fullWorkflowPath) require.NoError(t, err, fullWorkflowPath)
} else { } else {
assert.Error(t, err, tjfi.errorMessage) require.Error(t, err, tjfi.errorMessage)
} }
} else { } else {
assert.Nil(t, plan) assert.Nil(t, plan)

View File

@@ -21,7 +21,7 @@ func TestNewWorkflow(t *testing.T) {
// error case // error case
errorWorkflow := NewErrorExecutor(errors.New("test error")) errorWorkflow := NewErrorExecutor(errors.New("test error"))
assert.Error(errorWorkflow(ctx)) require.Error(t, errorWorkflow(ctx))
// multiple success case // multiple success case
runcount := 0 runcount := 0

View File

@@ -213,7 +213,7 @@ func TestGitCloneExecutor(t *testing.T) {
err := clone(context.Background()) err := clone(context.Background())
if tt.Err != nil { if tt.Err != nil {
assert.Error(t, err) require.Error(t, err)
assert.Equal(t, tt.Err, err) assert.Equal(t, tt.Err, err)
} else { } else {
require.NoError(t, err) require.NoError(t, err)

View File

@@ -23,6 +23,7 @@ import (
"github.com/docker/go-connections/nat" "github.com/docker/go-connections/nat"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/pflag" "github.com/spf13/pflag"
"github.com/stretchr/testify/require"
"gotest.tools/v3/assert" "gotest.tools/v3/assert"
is "gotest.tools/v3/assert/cmp" is "gotest.tools/v3/assert/cmp"
"gotest.tools/v3/skip" "gotest.tools/v3/skip"
@@ -185,7 +186,7 @@ func TestParseRunWithInvalidArgs(t *testing.T) {
flags, _ := setupRunFlags() flags, _ := setupRunFlags()
for _, tc := range tests { for _, tc := range tests {
t.Run(strings.Join(tc.args, " "), func(t *testing.T) { t.Run(strings.Join(tc.args, " "), func(t *testing.T) {
assert.Error(t, flags.Parse(tc.args), tc.error) require.Error(t, flags.Parse(tc.args), tc.error)
}) })
} }
} }
@@ -606,7 +607,7 @@ func TestParseNetworkConfig(t *testing.T) {
_, hConfig, nwConfig, err := parseRun(tc.flags) _, hConfig, nwConfig, err := parseRun(tc.flags)
if tc.expectedErr != "" { if tc.expectedErr != "" {
assert.Error(t, err, tc.expectedErr) require.Error(t, err, tc.expectedErr)
return return
} }

View File

@@ -184,7 +184,7 @@ func TestDockerExecFailure(t *testing.T) {
} }
err := cr.execExt([]string{""}, map[string]string{}, "user", "workdir")(ctx) err := cr.execExt([]string{""}, map[string]string{}, "user", "workdir")(ctx)
assert.Error(t, err, "exit with `FAILURE`: 1") require.Error(t, err, "exit with `FAILURE`: 1")
conn.AssertExpectations(t) conn.AssertExpectations(t)
client.AssertExpectations(t) client.AssertExpectations(t)

View File

@@ -128,7 +128,7 @@ func TestGetSocketAndHostNoHostInvalidSocket(t *testing.T) {
assert.False(t, found, "Expected no default socket to be found") assert.False(t, found, "Expected no default socket to be found")
assert.Empty(t, defaultSocket, "Expected no default socket to be found") assert.Empty(t, defaultSocket, "Expected no default socket to be found")
assert.Equal(t, SocketAndHost{}, ret, "Expected to match default socket location") assert.Equal(t, SocketAndHost{}, ret, "Expected to match default socket location")
assert.Error(t, err, "Expected an error in invalid state") require.Error(t, err, "Expected an error in invalid state")
} }
func TestGetSocketAndHostOnlySocketValidButUnusualLocation(t *testing.T) { func TestGetSocketAndHostOnlySocketValidButUnusualLocation(t *testing.T) {

View File

@@ -103,7 +103,7 @@ func TestOperators(t *testing.T) {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
output, err := NewInterpeter(env, Config{}).Evaluate(tt.input, DefaultStatusCheckNone) output, err := NewInterpeter(env, Config{}).Evaluate(tt.input, DefaultStatusCheckNone)
if tt.error != "" { if tt.error != "" {
assert.Error(t, err) require.Error(t, err)
assert.Equal(t, tt.error, err.Error()) assert.Equal(t, tt.error, err.Error())
} else { } else {
require.NoError(t, err) require.NoError(t, err)

View File

@@ -3,7 +3,6 @@ package model
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
) )
@@ -20,7 +19,7 @@ test:
} }
require.NoError(t, err) require.NoError(t, err)
err = resolveAliases(&node) err = resolveAliases(&node)
assert.Error(t, err) require.Error(t, err)
} }
func TestVerifyNoRecursion(t *testing.T) { func TestVerifyNoRecursion(t *testing.T) {
@@ -100,13 +99,13 @@ c: *a
var node yaml.Node var node yaml.Node
err := yaml.Unmarshal([]byte(tt.yaml), &node) err := yaml.Unmarshal([]byte(tt.yaml), &node)
if tt.yamlErr { if tt.yamlErr {
assert.Error(t, err) require.Error(t, err)
return return
} }
require.NoError(t, err) require.NoError(t, err)
err = resolveAliases(&node) err = resolveAliases(&node)
if tt.anchorErr { if tt.anchorErr {
assert.Error(t, err) require.Error(t, err)
} else { } else {
require.NoError(t, err) require.NoError(t, err)
} }

View File

@@ -246,19 +246,19 @@ jobs:
jobType, err := workflow.Jobs["remote-reusable-workflow-missing-version"].Type() jobType, err := workflow.Jobs["remote-reusable-workflow-missing-version"].Type()
assert.Equal(t, JobTypeInvalid, jobType) assert.Equal(t, JobTypeInvalid, jobType)
assert.Error(t, err) require.Error(t, err)
jobType, err = workflow.Jobs["remote-reusable-workflow-bad-extension"].Type() jobType, err = workflow.Jobs["remote-reusable-workflow-bad-extension"].Type()
assert.Equal(t, JobTypeInvalid, jobType) assert.Equal(t, JobTypeInvalid, jobType)
assert.Error(t, err) require.Error(t, err)
jobType, err = workflow.Jobs["local-reusable-workflow-bad-extension"].Type() jobType, err = workflow.Jobs["local-reusable-workflow-bad-extension"].Type()
assert.Equal(t, JobTypeInvalid, jobType) assert.Equal(t, JobTypeInvalid, jobType)
assert.Error(t, err) require.Error(t, err)
jobType, err = workflow.Jobs["local-reusable-workflow-bad-path"].Type() jobType, err = workflow.Jobs["local-reusable-workflow-bad-path"].Type()
assert.Equal(t, JobTypeInvalid, jobType) assert.Equal(t, JobTypeInvalid, jobType)
assert.Error(t, err) require.Error(t, err)
} }
func TestReadWorkflow_StepsTypes(t *testing.T) { func TestReadWorkflow_StepsTypes(t *testing.T) {
@@ -283,7 +283,7 @@ jobs:
` `
_, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) _, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.Error(t, err, "read workflow should fail") require.Error(t, err, "read workflow should fail")
} }
// See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs // See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs
@@ -582,7 +582,7 @@ jobs:
` `
_, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{Strict: true}) _, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{Strict: true})
assert.Error(t, err, "read workflow should succeed") require.Error(t, err, "read workflow should succeed")
} }
func TestReadWorkflow_AnchorStrict(t *testing.T) { func TestReadWorkflow_AnchorStrict(t *testing.T) {

View File

@@ -144,7 +144,7 @@ func TestEvaluateRunContext(t *testing.T) {
assertObject := assert.New(t) assertObject := assert.New(t)
out, err := ee.evaluate(context.Background(), table.in, exprparser.DefaultStatusCheckNone) out, err := ee.evaluate(context.Background(), table.in, exprparser.DefaultStatusCheckNone)
if table.errMesg == "" { if table.errMesg == "" {
assertObject.NoError(err, table.in) require.NoError(t, err, table.in)
if i, ok := table.out.(int); ok { if i, ok := table.out.(int); ok {
table.out = float64(i) table.out = float64(i)
} }
@@ -186,7 +186,7 @@ func TestEvaluateStep(t *testing.T) {
assertObject := assert.New(t) assertObject := assert.New(t)
out, err := ee.evaluate(context.Background(), table.in, exprparser.DefaultStatusCheckNone) out, err := ee.evaluate(context.Background(), table.in, exprparser.DefaultStatusCheckNone)
if table.errMesg == "" { if table.errMesg == "" {
assertObject.NoError(err, table.in) require.NoError(t, err, table.in)
assertObject.Equal(table.out, out, table.in) assertObject.Equal(table.out, out, table.in)
} else { } else {
assertObject.Error(err, table.in) assertObject.Error(err, table.in)

View File

@@ -134,7 +134,7 @@ func TestGraphWithSomeMissing(t *testing.T) {
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
plan, err := planner.PlanAll() plan, err := planner.PlanAll()
assert.Error(t, err, "unable to build dependency graph for no first (no-first.yml)") require.Error(t, err, "unable to build dependency graph for no first (no-first.yml)")
assert.NotNil(t, plan) assert.NotNil(t, plan)
assert.Len(t, plan.Stages, 1) assert.Len(t, plan.Stages, 1)
assert.Contains(t, buf.String(), "unable to build dependency graph for missing (missing.yml)") assert.Contains(t, buf.String(), "unable to build dependency graph for missing (missing.yml)")
@@ -204,7 +204,7 @@ func (j *TestJobFileInfo) runTest(ctx context.Context, t *testing.T, cfg *Config
planner, err := model.NewWorkflowPlanner(fullWorkflowPath, model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner(fullWorkflowPath, model.PlannerConfig{})
if j.errorMessage != "" && err != nil { if j.errorMessage != "" && err != nil {
assert.Error(t, err, j.errorMessage) require.Error(t, err, j.errorMessage)
} else if assert.NoError(t, err, fullWorkflowPath) { } else if assert.NoError(t, err, fullWorkflowPath) {
plan, err := planner.PlanEvent(j.eventName) plan, err := planner.PlanEvent(j.eventName)
assert.NotEqual(t, (err == nil), (plan == nil), "PlanEvent should return either a plan or an error") assert.NotEqual(t, (err == nil), (plan == nil), "PlanEvent should return either a plan or an error")
@@ -213,7 +213,7 @@ func (j *TestJobFileInfo) runTest(ctx context.Context, t *testing.T, cfg *Config
if j.errorMessage == "" { if j.errorMessage == "" {
require.NoError(t, err, fullWorkflowPath) require.NoError(t, err, fullWorkflowPath)
} else { } else {
assert.Error(t, err, j.errorMessage) require.Error(t, err, j.errorMessage)
} }
} }
} }

View File

@@ -78,5 +78,5 @@ func TestStepFactoryInvalidStep(t *testing.T) {
_, err := sf.newStep(model, &RunContext{}) _, err := sf.newStep(model, &RunContext{})
assert.Error(t, err) require.Error(t, err)
} }

View File

@@ -314,31 +314,31 @@ func TestIsContinueOnError(t *testing.T) {
step := createTestStep(t, "name: test") step := createTestStep(t, "name: test")
continueOnError, err := isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain) continueOnError, err := isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain)
assertObject.False(continueOnError) assertObject.False(continueOnError)
assertObject.NoError(err) require.NoError(t, err)
// explicit true // explicit true
step = createTestStep(t, "continue-on-error: true") step = createTestStep(t, "continue-on-error: true")
continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain) continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain)
assertObject.True(continueOnError) assertObject.True(continueOnError)
assertObject.NoError(err) require.NoError(t, err)
// explicit false // explicit false
step = createTestStep(t, "continue-on-error: false") step = createTestStep(t, "continue-on-error: false")
continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain) continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain)
assertObject.False(continueOnError) assertObject.False(continueOnError)
assertObject.NoError(err) require.NoError(t, err)
// expression true // expression true
step = createTestStep(t, "continue-on-error: ${{ 'test' == 'test' }}") step = createTestStep(t, "continue-on-error: ${{ 'test' == 'test' }}")
continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain) continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain)
assertObject.True(continueOnError) assertObject.True(continueOnError)
assertObject.NoError(err) require.NoError(t, err)
// expression false // expression false
step = createTestStep(t, "continue-on-error: ${{ 'test' != 'test' }}") step = createTestStep(t, "continue-on-error: ${{ 'test' != 'test' }}")
continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain) continueOnError, err = isContinueOnError(context.Background(), step.getStepModel().RawContinueOnError, step, stepStageMain)
assertObject.False(continueOnError) assertObject.False(continueOnError)
assertObject.NoError(err) require.NoError(t, err)
// expression parse error // expression parse error
step = createTestStep(t, "continue-on-error: ${{ 'test' != test }}") step = createTestStep(t, "continue-on-error: ${{ 'test' != test }}")
@@ -368,7 +368,7 @@ func TestSymlinkJoin(t *testing.T) {
if entry.err == "" { if entry.err == "" {
require.NoError(t, err) require.NoError(t, err)
} else { } else {
assert.Error(t, err, entry.err) require.Error(t, err, entry.err)
} }
assert.Equal(t, entry.result, result) assert.Equal(t, entry.result, result)
} }

View File

@@ -43,7 +43,7 @@ jobs:
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.Error(t, err) require.Error(t, err)
} }
func TestAdditionalFunctionsSteps(t *testing.T) { func TestAdditionalFunctionsSteps(t *testing.T) {
@@ -98,7 +98,7 @@ jobs:
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.Error(t, err) require.Error(t, err)
} }
func TestFailure2(t *testing.T) { func TestFailure2(t *testing.T) {
@@ -115,7 +115,7 @@ jobs:
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.Error(t, err) require.Error(t, err)
} }
func TestEscape(t *testing.T) { func TestEscape(t *testing.T) {