assert => require

This commit is contained in:
Christopher Homberger
2026-02-22 21:00:42 +01:00
parent d187ac2fc1
commit a77f10683d
35 changed files with 228 additions and 200 deletions

View File

@@ -7,6 +7,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestReadSecrets(t *testing.T) { func TestReadSecrets(t *testing.T) {
@@ -34,7 +35,7 @@ func TestListOptions(t *testing.T) {
err := newRunCommand(context.Background(), &Input{ err := newRunCommand(context.Background(), &Input{
listOptions: true, listOptions: true,
})(rootCmd, []string{}) })(rootCmd, []string{})
assert.NoError(t, err) require.NoError(t, err)
} }
func TestRun(t *testing.T) { func TestRun(t *testing.T) {
@@ -44,7 +45,7 @@ func TestRun(t *testing.T) {
workdir: "../pkg/runner/testdata/", workdir: "../pkg/runner/testdata/",
workflowsPath: "./basic/push.yml", workflowsPath: "./basic/push.yml",
})(rootCmd, []string{}) })(rootCmd, []string{})
assert.NoError(t, err) require.NoError(t, err)
} }
func TestRunPush(t *testing.T) { func TestRunPush(t *testing.T) {
@@ -54,7 +55,7 @@ func TestRunPush(t *testing.T) {
workdir: "../pkg/runner/testdata/", workdir: "../pkg/runner/testdata/",
workflowsPath: "./basic/push.yml", workflowsPath: "./basic/push.yml",
})(rootCmd, []string{"push"}) })(rootCmd, []string{"push"})
assert.NoError(t, err) require.NoError(t, err)
} }
func TestRunPushJsonLogger(t *testing.T) { func TestRunPushJsonLogger(t *testing.T) {
@@ -65,7 +66,7 @@ func TestRunPushJsonLogger(t *testing.T) {
workflowsPath: "./basic/push.yml", workflowsPath: "./basic/push.yml",
jsonLogger: true, jsonLogger: true,
})(rootCmd, []string{"push"}) })(rootCmd, []string{"push"})
assert.NoError(t, err) require.NoError(t, err)
} }
func TestFlags(t *testing.T) { func TestFlags(t *testing.T) {
@@ -73,13 +74,13 @@ func TestFlags(t *testing.T) {
t.Run("TestFlag-"+f, func(t *testing.T) { t.Run("TestFlag-"+f, func(t *testing.T) {
rootCmd := createRootCommand(context.Background(), &Input{}, "") rootCmd := createRootCommand(context.Background(), &Input{}, "")
err := rootCmd.Flags().Set(f, "true") err := rootCmd.Flags().Set(f, "true")
assert.NoError(t, err) require.NoError(t, err)
err = newRunCommand(context.Background(), &Input{ err = newRunCommand(context.Background(), &Input{
platforms: []string{"ubuntu-latest=node:16-buster-slim"}, platforms: []string{"ubuntu-latest=node:16-buster-slim"},
workdir: "../pkg/runner/testdata/", workdir: "../pkg/runner/testdata/",
workflowsPath: "./basic/push.yml", workflowsPath: "./basic/push.yml",
})(rootCmd, []string{}) })(rootCmd, []string{})
assert.NoError(t, err) require.NoError(t, err)
}) })
} }
} }
@@ -92,7 +93,7 @@ func TestWorkflowCall(t *testing.T) {
workflowsPath: "./workflow_call_inputs/workflow_call_inputs.yml", workflowsPath: "./workflow_call_inputs/workflow_call_inputs.yml",
inputs: []string{"required=required input", "boolean=true"}, inputs: []string{"required=required input", "boolean=true"},
})(rootCmd, []string{"workflow_call"}) })(rootCmd, []string{"workflow_call"})
assert.NoError(t, err) require.NoError(t, err)
} }
func TestLocalRepositories(t *testing.T) { func TestLocalRepositories(t *testing.T) {
@@ -105,5 +106,5 @@ func TestLocalRepositories(t *testing.T) {
workflowsPath: "./remote-action-composite-action-ref-partial-override/push.yml", workflowsPath: "./remote-action-composite-action-ref-partial-override/push.yml",
localRepository: []string{"needs/override@main=" + wd + "/actions-environment-and-context-tests"}, localRepository: []string{"needs/override@main=" + wd + "/actions-environment-and-context-tests"},
})(rootCmd, []string{"push"}) })(rootCmd, []string{"push"})
assert.NoError(t, err) require.NoError(t, err)
} }

View File

@@ -4,11 +4,11 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/require"
) )
func TestFormat(t *testing.T) { func TestFormat(t *testing.T) {
s, err := Format("Hello {0}, you have {1} new messages", "Alice", 5) s, err := Format("Hello {0}, you have {1} new messages", "Alice", 5)
assert.NoError(t, err) require.NoError(t, err)
fmt.Println(s) // Hello Alice, you have 5 new messages fmt.Println(s) // Hello Alice, you have 5 new messages
} }

View File

@@ -95,7 +95,7 @@ jobs:
var raw any var raw any
err = node.Content[0].Decode(&raw) err = node.Content[0].Decode(&raw)
assert.NoError(t, err) require.NoError(t, err)
ee.RestrictEval = true ee.RestrictEval = true
ee.EvaluationContext.Variables = v2.CaseInsensitiveObject[any]{ ee.EvaluationContext.Variables = v2.CaseInsensitiveObject[any]{
@@ -136,6 +136,6 @@ jobs:
} }
} }
out, err := yaml.Marshal(&myw) out, err := yaml.Marshal(&myw)
assert.NoError(t, err) require.NoError(t, err)
assert.NotEmpty(t, out) assert.NotEmpty(t, out)
} }

View File

@@ -4,12 +4,13 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestRewriteSubExpression_NoExpression(t *testing.T) { func TestRewriteSubExpression_NoExpression(t *testing.T) {
in := "Hello world" in := "Hello world"
out, ok, err := rewriteSubExpression(in, false) out, ok, err := rewriteSubExpression(in, false)
assert.NoError(t, err) require.NoError(t, err)
if ok { if ok {
t.Fatalf("expected ok=false for no expression, got true with output %q", out) t.Fatalf("expected ok=false for no expression, got true with output %q", out)
} }
@@ -21,7 +22,7 @@ func TestRewriteSubExpression_NoExpression(t *testing.T) {
func TestRewriteSubExpression_SingleExpression(t *testing.T) { func TestRewriteSubExpression_SingleExpression(t *testing.T) {
in := "Hello ${{ 'world' }}" in := "Hello ${{ 'world' }}"
out, ok, err := rewriteSubExpression(in, false) out, ok, err := rewriteSubExpression(in, false)
assert.NoError(t, err) require.NoError(t, err)
if !ok { if !ok {
t.Fatalf("expected ok=true for single expression, got false") t.Fatalf("expected ok=true for single expression, got false")
} }
@@ -34,7 +35,7 @@ func TestRewriteSubExpression_SingleExpression(t *testing.T) {
func TestRewriteSubExpression_MultipleExpressions(t *testing.T) { func TestRewriteSubExpression_MultipleExpressions(t *testing.T) {
in := "Hello ${{ 'world' }}, you are ${{ 'awesome' }}" in := "Hello ${{ 'world' }}, you are ${{ 'awesome' }}"
out, ok, err := rewriteSubExpression(in, false) out, ok, err := rewriteSubExpression(in, false)
assert.NoError(t, err) require.NoError(t, err)
if !ok { if !ok {
t.Fatalf("expected ok=true for multiple expressions, got false") t.Fatalf("expected ok=true for multiple expressions, got false")
} }
@@ -47,7 +48,7 @@ func TestRewriteSubExpression_MultipleExpressions(t *testing.T) {
func TestRewriteSubExpression_ForceFormatSingle(t *testing.T) { func TestRewriteSubExpression_ForceFormatSingle(t *testing.T) {
in := "Hello ${{ 'world' }}" in := "Hello ${{ 'world' }}"
out, ok, err := rewriteSubExpression(in, true) out, ok, err := rewriteSubExpression(in, true)
assert.NoError(t, err) require.NoError(t, err)
if !ok { if !ok {
t.Fatalf("expected ok=true when forceFormat, got false") t.Fatalf("expected ok=true when forceFormat, got false")
} }
@@ -60,7 +61,7 @@ func TestRewriteSubExpression_ForceFormatSingle(t *testing.T) {
func TestRewriteSubExpression_ForceFormatMultiple(t *testing.T) { func TestRewriteSubExpression_ForceFormatMultiple(t *testing.T) {
in := "Hello ${{ 'world' }}, you are ${{ 'awesome' }}" in := "Hello ${{ 'world' }}, you are ${{ 'awesome' }}"
out, ok, err := rewriteSubExpression(in, true) out, ok, err := rewriteSubExpression(in, true)
assert.NoError(t, err) require.NoError(t, err)
if !ok { if !ok {
t.Fatalf("expected ok=true when forceFormat, got false") t.Fatalf("expected ok=true when forceFormat, got false")
} }
@@ -88,7 +89,7 @@ func TestRewriteSubExpression_EscapedStringLiteral(t *testing.T) {
// Two single quotes represent an escaped quote inside a string // Two single quotes represent an escaped quote inside a string
in := "Hello ${{ 'It''s a test' }}" in := "Hello ${{ 'It''s a test' }}"
out, ok, err := rewriteSubExpression(in, false) out, ok, err := rewriteSubExpression(in, false)
assert.NoError(t, err) require.NoError(t, err)
assert.True(t, ok) assert.True(t, ok)
expected := "format('Hello {0}', 'It''s a test')" expected := "format('Hello {0}', 'It''s a test')"
assert.Equal(t, expected, out) assert.Equal(t, expected, out)
@@ -98,7 +99,7 @@ func TestRewriteSubExpression_ExpressionAtEnd(t *testing.T) {
// Expression ends exactly at the string end should be valid // Expression ends exactly at the string end should be valid
in := "Hello ${{ 'world' }}" in := "Hello ${{ 'world' }}"
out, ok, err := rewriteSubExpression(in, false) out, ok, err := rewriteSubExpression(in, false)
assert.NoError(t, err) require.NoError(t, err)
assert.True(t, ok) assert.True(t, ok)
expected := "format('Hello {0}', 'world')" expected := "format('Hello {0}', 'world')"
assert.Equal(t, expected, out) assert.Equal(t, expected, out)
@@ -108,7 +109,7 @@ func TestRewriteSubExpression_ExpressionNotAtEnd(t *testing.T) {
// Expression followed by additional text should still be valid // Expression followed by additional text should still be valid
in := "Hello ${{ 'world' }}, how are you?" in := "Hello ${{ 'world' }}, how are you?"
out, ok, err := rewriteSubExpression(in, false) out, ok, err := rewriteSubExpression(in, false)
assert.NoError(t, err) require.NoError(t, err)
assert.True(t, ok) assert.True(t, ok)
expected := "format('Hello {0}, how are you?', 'world')" expected := "format('Hello {0}, how are you?', 'world')"
assert.Equal(t, expected, out) assert.Equal(t, expected, out)

View File

@@ -687,7 +687,7 @@ func TestHandler_gcCache(t *testing.T) {
cache := &Cache{} cache := &Cache{}
err = db.Get(v.Cache.ID, cache) err = db.Get(v.Cache.ID, cache)
if v.Kept { if v.Kept {
assert.NoError(t, err) require.NoError(t, err)
} else { } else {
assert.ErrorIs(t, err, bolthold.ErrNotFound) assert.ErrorIs(t, err, bolthold.ErrNotFound)
} }

View File

@@ -16,6 +16,7 @@ import (
"github.com/julienschmidt/httprouter" "github.com/julienschmidt/httprouter"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"gitea.com/gitea/act_runner/pkg/runner" "gitea.com/gitea/act_runner/pkg/runner"
@@ -283,7 +284,7 @@ func runTestJobFile(ctx context.Context, t *testing.T, tjfi TestJobFileInfo) {
} }
workdir, err := filepath.Abs(tjfi.workdir) workdir, err := filepath.Abs(tjfi.workdir)
assert.NoError(t, err, workdir) require.NoError(t, err, workdir)
fullWorkflowPath := filepath.Join(workdir, tjfi.workflowPath) fullWorkflowPath := filepath.Join(workdir, tjfi.workflowPath)
runnerConfig := &runner.Config{ runnerConfig := &runner.Config{
Workdir: workdir, Workdir: workdir,
@@ -299,16 +300,16 @@ func runTestJobFile(ctx context.Context, t *testing.T, tjfi TestJobFileInfo) {
} }
runner, err := runner.New(runnerConfig) runner, err := runner.New(runnerConfig)
assert.NoError(t, err, tjfi.workflowPath) require.NoError(t, err, tjfi.workflowPath)
planner, err := model.NewWorkflowPlanner(fullWorkflowPath, model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner(fullWorkflowPath, model.PlannerConfig{})
assert.NoError(t, err, fullWorkflowPath) require.NoError(t, err, fullWorkflowPath)
plan, err := planner.PlanEvent(tjfi.eventName) plan, err := planner.PlanEvent(tjfi.eventName)
if err == nil { if err == nil {
err = runner.NewPlanExecutor(plan)(ctx) err = runner.NewPlanExecutor(plan)(ctx)
if tjfi.errorMessage == "" { if tjfi.errorMessage == "" {
assert.NoError(t, err, fullWorkflowPath) require.NoError(t, err, fullWorkflowPath)
} else { } else {
assert.Error(t, err, tjfi.errorMessage) assert.Error(t, err, tjfi.errorMessage)
} }

View File

@@ -10,18 +10,19 @@ import (
"github.com/golang-jwt/jwt/v5" "github.com/golang-jwt/jwt/v5"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestCreateAuthorizationToken(t *testing.T) { func TestCreateAuthorizationToken(t *testing.T) {
var taskID int64 = 23 var taskID int64 = 23
token, err := CreateAuthorizationToken(taskID, 1, 2) token, err := CreateAuthorizationToken(taskID, 1, 2)
assert.NoError(t, err) require.NoError(t, err)
assert.NotEmpty(t, token) assert.NotEmpty(t, token)
claims := jwt.MapClaims{} claims := jwt.MapClaims{}
_, err = jwt.ParseWithClaims(token, claims, func(_ *jwt.Token) (any, error) { _, err = jwt.ParseWithClaims(token, claims, func(_ *jwt.Token) (any, error) {
return []byte{}, nil return []byte{}, nil
}) })
assert.NoError(t, err) require.NoError(t, err)
scp, ok := claims["scp"] scp, ok := claims["scp"]
assert.True(t, ok, "Has scp claim in jwt token") assert.True(t, ok, "Has scp claim in jwt token")
assert.Contains(t, scp, "Actions.Results:1:2") assert.Contains(t, scp, "Actions.Results:1:2")
@@ -34,21 +35,21 @@ func TestCreateAuthorizationToken(t *testing.T) {
assert.True(t, ok, "ac claim is a string for buildx gha cache") assert.True(t, ok, "ac claim is a string for buildx gha cache")
scopes := []actionsCacheScope{} scopes := []actionsCacheScope{}
err = json.Unmarshal([]byte(ac), &scopes) err = json.Unmarshal([]byte(ac), &scopes)
assert.NoError(t, err, "ac claim is a json list for buildx gha cache") require.NoError(t, err, "ac claim is a json list for buildx gha cache")
assert.GreaterOrEqual(t, len(scopes), 1, "Expected at least one action cache scope for buildx gha cache") assert.GreaterOrEqual(t, len(scopes), 1, "Expected at least one action cache scope for buildx gha cache")
} }
func TestParseAuthorizationToken(t *testing.T) { func TestParseAuthorizationToken(t *testing.T) {
var taskID int64 = 23 var taskID int64 = 23
token, err := CreateAuthorizationToken(taskID, 1, 2) token, err := CreateAuthorizationToken(taskID, 1, 2)
assert.NoError(t, err) require.NoError(t, err)
assert.NotEmpty(t, token) assert.NotEmpty(t, token)
headers := http.Header{} headers := http.Header{}
headers.Set("Authorization", "Bearer "+token) headers.Set("Authorization", "Bearer "+token)
rTaskID, err := ParseAuthorizationToken(&http.Request{ rTaskID, err := ParseAuthorizationToken(&http.Request{
Header: headers, Header: headers,
}) })
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, taskID, rTaskID) assert.Equal(t, taskID, rTaskID)
} }
@@ -57,6 +58,6 @@ func TestParseAuthorizationTokenNoAuthHeader(t *testing.T) {
rTaskID, err := ParseAuthorizationToken(&http.Request{ rTaskID, err := ParseAuthorizationToken(&http.Request{
Header: headers, Header: headers,
}) })
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, int64(0), rTaskID) assert.Equal(t, int64(0), rTaskID)
} }

View File

@@ -8,6 +8,7 @@ import (
"time" "time"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestGracefulJobCancellationViaSigint(t *testing.T) { func TestGracefulJobCancellationViaSigint(t *testing.T) {
@@ -18,8 +19,8 @@ func TestGracefulJobCancellationViaSigint(t *testing.T) {
assert.NotNil(t, channel) assert.NotNil(t, channel)
cancelCtx := JobCancelContext(ctx) cancelCtx := JobCancelContext(ctx)
assert.NotNil(t, cancelCtx) assert.NotNil(t, cancelCtx)
assert.NoError(t, ctx.Err()) require.NoError(t, ctx.Err())
assert.NoError(t, cancelCtx.Err()) require.NoError(t, cancelCtx.Err())
channel <- os.Interrupt channel <- os.Interrupt
select { select {
case <-time.After(1 * time.Second): case <-time.After(1 * time.Second):
@@ -30,7 +31,7 @@ func TestGracefulJobCancellationViaSigint(t *testing.T) {
if assert.Error(t, cancelCtx.Err(), "context canceled") { if assert.Error(t, cancelCtx.Err(), "context canceled") {
assert.Equal(t, context.Canceled, cancelCtx.Err()) assert.Equal(t, context.Canceled, cancelCtx.Err())
} }
assert.NoError(t, ctx.Err()) require.NoError(t, ctx.Err())
channel <- os.Interrupt channel <- os.Interrupt
select { select {
case <-time.After(1 * time.Second): case <-time.After(1 * time.Second):
@@ -50,8 +51,8 @@ func TestForceCancellationViaSigterm(t *testing.T) {
assert.NotNil(t, channel) assert.NotNil(t, channel)
cancelCtx := JobCancelContext(ctx) cancelCtx := JobCancelContext(ctx)
assert.NotNil(t, cancelCtx) assert.NotNil(t, cancelCtx)
assert.NoError(t, ctx.Err()) require.NoError(t, ctx.Err())
assert.NoError(t, cancelCtx.Err()) require.NoError(t, cancelCtx.Err())
channel <- syscall.SIGTERM channel <- syscall.SIGTERM
select { select {
case <-time.After(1 * time.Second): case <-time.After(1 * time.Second):
@@ -78,7 +79,7 @@ func TestCreateGracefulJobCancellationContext(t *testing.T) {
assert.NotNil(t, cancel) assert.NotNil(t, cancel)
cancelCtx := JobCancelContext(ctx) cancelCtx := JobCancelContext(ctx)
assert.NotNil(t, cancelCtx) assert.NotNil(t, cancelCtx)
assert.NoError(t, cancelCtx.Err()) require.NoError(t, cancelCtx.Err())
} }
func TestCreateGracefulJobCancellationContextCancelFunc(t *testing.T) { func TestCreateGracefulJobCancellationContextCancelFunc(t *testing.T) {
@@ -87,7 +88,7 @@ func TestCreateGracefulJobCancellationContextCancelFunc(t *testing.T) {
assert.NotNil(t, cancel) assert.NotNil(t, cancel)
cancelCtx := JobCancelContext(ctx) cancelCtx := JobCancelContext(ctx)
assert.NotNil(t, cancelCtx) assert.NotNil(t, cancelCtx)
assert.NoError(t, cancelCtx.Err()) require.NoError(t, cancelCtx.Err())
cancel() cancel()
if assert.Error(t, ctx.Err(), "context canceled") { if assert.Error(t, ctx.Err(), "context canceled") {
assert.Equal(t, context.Canceled, ctx.Err()) assert.Equal(t, context.Canceled, ctx.Err())

View File

@@ -7,6 +7,7 @@ import (
"time" "time"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestNewWorkflow(t *testing.T) { func TestNewWorkflow(t *testing.T) {
@@ -16,7 +17,7 @@ func TestNewWorkflow(t *testing.T) {
// empty // empty
emptyWorkflow := NewPipelineExecutor() emptyWorkflow := NewPipelineExecutor()
assert.NoError(emptyWorkflow(ctx)) require.NoError(emptyWorkflow(ctx))
// error case // error case
errorWorkflow := NewErrorExecutor(errors.New("test error")) errorWorkflow := NewErrorExecutor(errors.New("test error"))
@@ -33,7 +34,7 @@ func TestNewWorkflow(t *testing.T) {
runcount++ runcount++
return nil return nil
}) })
assert.NoError(successWorkflow(ctx)) require.NoError(successWorkflow(ctx))
assert.Equal(2, runcount) assert.Equal(2, runcount)
} }
@@ -55,7 +56,7 @@ func TestNewConditionalExecutor(t *testing.T) {
return nil return nil
})(ctx) })(ctx)
assert.NoError(err) require.NoError(err)
assert.Equal(0, trueCount) assert.Equal(0, trueCount)
assert.Equal(1, falseCount) assert.Equal(1, falseCount)
@@ -69,7 +70,7 @@ func TestNewConditionalExecutor(t *testing.T) {
return nil return nil
})(ctx) })(ctx)
assert.NoError(err) require.NoError(err)
assert.Equal(1, trueCount) assert.Equal(1, trueCount)
assert.Equal(1, falseCount) assert.Equal(1, falseCount)
} }
@@ -99,7 +100,7 @@ func TestNewParallelExecutor(t *testing.T) {
assert.Equal(3, count, "should run all 3 executors") assert.Equal(3, count, "should run all 3 executors")
assert.Equal(2, maxCount, "should run at most 2 executors in parallel") assert.Equal(2, maxCount, "should run at most 2 executors in parallel")
assert.NoError(err) require.NoError(err)
// Reset to test running the executor with 0 parallelism // Reset to test running the executor with 0 parallelism
count = 0 count = 0
@@ -110,7 +111,7 @@ func TestNewParallelExecutor(t *testing.T) {
assert.Equal(3, count, "should run all 3 executors") assert.Equal(3, count, "should run all 3 executors")
assert.Equal(1, maxCount, "should run at most 1 executors in parallel") assert.Equal(1, maxCount, "should run at most 1 executors in parallel")
assert.NoError(errSingle) require.NoError(errSingle)
} }
func TestNewParallelExecutorFailed(t *testing.T) { func TestNewParallelExecutorFailed(t *testing.T) {

View File

@@ -40,7 +40,7 @@ func TestFindGitSlug(t *testing.T) {
for _, tt := range slugTests { for _, tt := range slugTests {
provider, slug, err := findGitSlug(tt.url, "github.com") provider, slug, err := findGitSlug(tt.url, "github.com")
assert.NoError(err) require.NoError(err)
assert.Equal(tt.provider, provider) assert.Equal(tt.provider, provider)
assert.Equal(tt.slug, slug) assert.Equal(tt.slug, slug)
} }
@@ -80,23 +80,23 @@ func TestFindGitRemoteURL(t *testing.T) {
basedir := testDir(t) basedir := testDir(t)
gitConfig() gitConfig()
err := gitCmd("init", basedir) err := gitCmd("init", basedir)
assert.NoError(err) require.NoError(err)
err = cleanGitHooks(basedir) err = cleanGitHooks(basedir)
assert.NoError(err) require.NoError(err)
remoteURL := "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-repo-name" remoteURL := "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-repo-name"
err = gitCmd("-C", basedir, "remote", "add", "origin", remoteURL) err = gitCmd("-C", basedir, "remote", "add", "origin", remoteURL)
assert.NoError(err) require.NoError(err)
u, err := findGitRemoteURL(context.Background(), basedir, "origin") u, err := findGitRemoteURL(context.Background(), basedir, "origin")
assert.NoError(err) require.NoError(err)
assert.Equal(remoteURL, u) assert.Equal(remoteURL, u)
remoteURL = "git@github.com/AwesomeOwner/MyAwesomeRepo.git" remoteURL = "git@github.com/AwesomeOwner/MyAwesomeRepo.git"
err = gitCmd("-C", basedir, "remote", "add", "upstream", remoteURL) err = gitCmd("-C", basedir, "remote", "add", "upstream", remoteURL)
assert.NoError(err) require.NoError(err)
u, err = findGitRemoteURL(context.Background(), basedir, "upstream") u, err = findGitRemoteURL(context.Background(), basedir, "upstream")
assert.NoError(err) require.NoError(err)
assert.Equal(remoteURL, u) assert.Equal(remoteURL, u)
} }
@@ -216,7 +216,7 @@ func TestGitCloneExecutor(t *testing.T) {
assert.Error(t, err) assert.Error(t, err)
assert.Equal(t, tt.Err, err) assert.Equal(t, tt.Err, err)
} else { } else {
assert.NoError(t, err) require.NoError(t, err)
} }
}) })
} }
@@ -258,7 +258,7 @@ func TestCloneIfRequired(t *testing.T) {
URL: "https://github.com/actions/checkout", URL: "https://github.com/actions/checkout",
Dir: tempDir, Dir: tempDir,
}, common.Logger(ctx)) }, common.Logger(ctx))
assert.NoError(t, err) require.NoError(t, err)
assert.NotNil(t, repo) assert.NotNil(t, repo)
}) })

View File

@@ -4,6 +4,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestLineWriter(t *testing.T) { func TestLineWriter(t *testing.T) {
@@ -18,7 +19,7 @@ func TestLineWriter(t *testing.T) {
assert := assert.New(t) assert := assert.New(t)
write := func(s string) { write := func(s string) {
n, err := lineWriter.Write([]byte(s)) n, err := lineWriter.Write([]byte(s))
assert.NoError(err) require.NoError(err)
assert.Equal(len(s), n, s) assert.Equal(len(s), n, s)
} }

View File

@@ -10,6 +10,7 @@ import (
"github.com/docker/docker/client" "github.com/docker/docker/client"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func init() { func init() {
@@ -26,17 +27,17 @@ func TestImageExistsLocally(t *testing.T) {
// Test if image exists with specific tag // Test if image exists with specific tag
invalidImageTag, err := ImageExistsLocally(ctx, "library/alpine:this-random-tag-will-never-exist", "linux/amd64") invalidImageTag, err := ImageExistsLocally(ctx, "library/alpine:this-random-tag-will-never-exist", "linux/amd64")
assert.NoError(t, err) require.NoError(t, err)
assert.False(t, invalidImageTag) assert.False(t, invalidImageTag)
// Test if image exists with specific architecture (image platform) // Test if image exists with specific architecture (image platform)
invalidImagePlatform, err := ImageExistsLocally(ctx, "alpine:latest", "windows/amd64") invalidImagePlatform, err := ImageExistsLocally(ctx, "alpine:latest", "windows/amd64")
assert.NoError(t, err) require.NoError(t, err)
assert.False(t, invalidImagePlatform) assert.False(t, invalidImagePlatform)
// pull an image // pull an image
cli, err := client.NewClientWithOpts(client.FromEnv) cli, err := client.NewClientWithOpts(client.FromEnv)
assert.NoError(t, err) require.NoError(t, err)
cli.NegotiateAPIVersion(context.Background()) cli.NegotiateAPIVersion(context.Background())
// Chose alpine latest because it's so small // Chose alpine latest because it's so small
@@ -44,13 +45,13 @@ func TestImageExistsLocally(t *testing.T) {
readerDefault, err := cli.ImagePull(ctx, "node:16-buster-slim", image.PullOptions{ readerDefault, err := cli.ImagePull(ctx, "node:16-buster-slim", image.PullOptions{
Platform: "linux/amd64", Platform: "linux/amd64",
}) })
assert.NoError(t, err) require.NoError(t, err)
defer readerDefault.Close() defer readerDefault.Close()
_, err = io.ReadAll(readerDefault) _, err = io.ReadAll(readerDefault)
assert.NoError(t, err) require.NoError(t, err)
imageDefaultArchExists, err := ImageExistsLocally(ctx, "node:16-buster-slim", "linux/amd64") imageDefaultArchExists, err := ImageExistsLocally(ctx, "node:16-buster-slim", "linux/amd64")
assert.NoError(t, err) require.NoError(t, err)
assert.True(t, imageDefaultArchExists) assert.True(t, imageDefaultArchExists)
} }
@@ -66,19 +67,19 @@ func TestImageExistsLocallyQemu(t *testing.T) {
// pull an image // pull an image
cli, err := client.NewClientWithOpts(client.FromEnv) cli, err := client.NewClientWithOpts(client.FromEnv)
assert.NoError(t, err) require.NoError(t, err)
cli.NegotiateAPIVersion(context.Background()) cli.NegotiateAPIVersion(context.Background())
// Validate if another architecture platform can be pulled // Validate if another architecture platform can be pulled
readerArm64, err := cli.ImagePull(ctx, "node:16-buster-slim", image.PullOptions{ readerArm64, err := cli.ImagePull(ctx, "node:16-buster-slim", image.PullOptions{
Platform: "linux/arm64", Platform: "linux/arm64",
}) })
assert.NoError(t, err) require.NoError(t, err)
defer readerArm64.Close() defer readerArm64.Close()
_, err = io.ReadAll(readerArm64) _, err = io.ReadAll(readerArm64)
assert.NoError(t, err) require.NoError(t, err)
imageArm64Exists, err := ImageExistsLocally(ctx, "node:16-buster-slim", "linux/arm64") imageArm64Exists, err := ImageExistsLocally(ctx, "node:16-buster-slim", "linux/arm64")
assert.NoError(t, err) require.NoError(t, err)
assert.True(t, imageArm64Exists) assert.True(t, imageArm64Exists)
} }

View File

@@ -8,6 +8,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
assert "github.com/stretchr/testify/assert" assert "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func init() { func init() {
@@ -40,7 +41,7 @@ func TestGetImagePullOptions(t *testing.T) {
config.SetDir("/non-existent/docker") config.SetDir("/non-existent/docker")
options, err := getImagePullOptions(ctx, NewDockerPullExecutorInput{}) options, err := getImagePullOptions(ctx, NewDockerPullExecutorInput{})
assert.NoError(t, err, "Failed to create ImagePullOptions") require.NoError(t, err, "Failed to create ImagePullOptions")
assert.Empty(t, options.RegistryAuth, "RegistryAuth should be empty if no username or password is set") assert.Empty(t, options.RegistryAuth, "RegistryAuth should be empty if no username or password is set")
options, err = getImagePullOptions(ctx, NewDockerPullExecutorInput{ options, err = getImagePullOptions(ctx, NewDockerPullExecutorInput{
@@ -48,7 +49,7 @@ func TestGetImagePullOptions(t *testing.T) {
Username: "username", Username: "username",
Password: "password", Password: "password",
}) })
assert.NoError(t, err, "Failed to create ImagePullOptions") require.NoError(t, err, "Failed to create ImagePullOptions")
assert.Equal(t, "eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZCJ9", options.RegistryAuth, "Username and Password should be provided") assert.Equal(t, "eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZCJ9", options.RegistryAuth, "Username and Password should be provided")
config.SetDir("testdata/docker-pull-options") config.SetDir("testdata/docker-pull-options")
@@ -56,6 +57,6 @@ func TestGetImagePullOptions(t *testing.T) {
options, err = getImagePullOptions(ctx, NewDockerPullExecutorInput{ options, err = getImagePullOptions(ctx, NewDockerPullExecutorInput{
Image: "nektos/act", Image: "nektos/act",
}) })
assert.NoError(t, err, "Failed to create ImagePullOptions") require.NoError(t, err, "Failed to create ImagePullOptions")
assert.Equal(t, "eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZFxuIiwic2VydmVyYWRkcmVzcyI6Imh0dHBzOi8vaW5kZXguZG9ja2VyLmlvL3YxLyJ9", options.RegistryAuth, "RegistryAuth should be taken from local docker config") assert.Equal(t, "eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZFxuIiwic2VydmVyYWRkcmVzcyI6Imh0dHBzOi8vaW5kZXguZG9ja2VyLmlvL3YxLyJ9", options.RegistryAuth, "RegistryAuth should be taken from local docker config")
} }

View File

@@ -16,12 +16,13 @@ import (
"github.com/docker/docker/client" "github.com/docker/docker/client"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
) )
func TestDocker(t *testing.T) { func TestDocker(t *testing.T) {
ctx := context.Background() ctx := context.Background()
client, err := GetDockerClient(ctx) client, err := GetDockerClient(ctx)
assert.NoError(t, err) require.NoError(t, err)
defer client.Close() defer client.Close()
dockerBuild := NewDockerBuildExecutor(NewDockerBuildExecutorInput{ dockerBuild := NewDockerBuildExecutor(NewDockerBuildExecutorInput{
@@ -30,7 +31,7 @@ func TestDocker(t *testing.T) {
}) })
err = dockerBuild(ctx) err = dockerBuild(ctx)
assert.NoError(t, err) require.NoError(t, err)
cr := &containerReference{ cr := &containerReference{
cli: client, cli: client,
@@ -47,7 +48,7 @@ func TestDocker(t *testing.T) {
envExecutor := cr.extractFromImageEnv(&env) envExecutor := cr.extractFromImageEnv(&env)
err = envExecutor(ctx) err = envExecutor(ctx)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, map[string]string{ assert.Equal(t, map[string]string{
"PATH": "/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/this/path/does/not/exists/anywhere:/this/either", "PATH": "/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/this/path/does/not/exists/anywhere:/this/either",
"RANDOM_VAR": "WITH_VALUE", "RANDOM_VAR": "WITH_VALUE",

View File

@@ -6,6 +6,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
assert "github.com/stretchr/testify/assert" assert "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func init() { func init() {
@@ -25,7 +26,7 @@ func TestGetSocketAndHostWithSocket(t *testing.T) {
ret, err := GetSocketAndHost(socketURI) ret, err := GetSocketAndHost(socketURI)
// Assert // Assert
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, SocketAndHost{socketURI, dockerHost}, ret) assert.Equal(t, SocketAndHost{socketURI, dockerHost}, ret)
} }
@@ -38,7 +39,7 @@ func TestGetSocketAndHostNoSocket(t *testing.T) {
ret, err := GetSocketAndHost("") ret, err := GetSocketAndHost("")
// Assert // Assert
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, SocketAndHost{dockerHost, dockerHost}, ret) assert.Equal(t, SocketAndHost{dockerHost, dockerHost}, ret)
} }
@@ -53,7 +54,7 @@ func TestGetSocketAndHostOnlySocket(t *testing.T) {
ret, err := GetSocketAndHost(socketURI) ret, err := GetSocketAndHost(socketURI)
// Assert // Assert
assert.NoError(t, err, "Expected no error from GetSocketAndHost") require.NoError(t, err, "Expected no error from GetSocketAndHost")
assert.True(t, defaultSocketFound, "Expected to find default socket") assert.True(t, defaultSocketFound, "Expected to find default socket")
assert.Equal(t, socketURI, ret.Socket, "Expected socket to match common location") assert.Equal(t, socketURI, ret.Socket, "Expected socket to match common location")
assert.Equal(t, defaultSocket, ret.Host, "Expected ret.Host to match default socket location") assert.Equal(t, defaultSocket, ret.Host, "Expected ret.Host to match default socket location")
@@ -69,7 +70,7 @@ func TestGetSocketAndHostDontMount(t *testing.T) {
ret, err := GetSocketAndHost("-") ret, err := GetSocketAndHost("-")
// Assert // Assert
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, SocketAndHost{"-", dockerHost}, ret) assert.Equal(t, SocketAndHost{"-", dockerHost}, ret)
} }
@@ -84,7 +85,7 @@ func TestGetSocketAndHostNoHostNoSocket(t *testing.T) {
// Assert // Assert
assert.True(t, found, "Expected a default socket to be found") assert.True(t, found, "Expected a default socket to be found")
assert.NoError(t, err, "Expected no error from GetSocketAndHost") require.NoError(t, err, "Expected no error from GetSocketAndHost")
assert.Equal(t, SocketAndHost{defaultSocket, defaultSocket}, ret, "Expected to match default socket location") assert.Equal(t, SocketAndHost{defaultSocket, defaultSocket}, ret, "Expected to match default socket location")
} }
@@ -97,7 +98,7 @@ func TestGetSocketAndHostNoHostNoSocketDefaultLocation(t *testing.T) {
mySocket := mySocketFile.Name() mySocket := mySocketFile.Name()
unixSocket := "unix://" + mySocket unixSocket := "unix://" + mySocket
defer os.RemoveAll(mySocket) defer os.RemoveAll(mySocket)
assert.NoError(t, tmpErr) require.NoError(t, tmpErr)
os.Unsetenv("DOCKER_HOST") os.Unsetenv("DOCKER_HOST")
CommonSocketLocations = []string{mySocket} CommonSocketLocations = []string{mySocket}
@@ -109,7 +110,7 @@ func TestGetSocketAndHostNoHostNoSocketDefaultLocation(t *testing.T) {
// Assert // Assert
assert.Equal(t, unixSocket, defaultSocket, "Expected default socket to match common socket location") assert.Equal(t, unixSocket, defaultSocket, "Expected default socket to match common socket location")
assert.True(t, found, "Expected default socket to be found") assert.True(t, found, "Expected default socket to be found")
assert.NoError(t, err, "Expected no error from GetSocketAndHost") require.NoError(t, err, "Expected no error from GetSocketAndHost")
assert.Equal(t, SocketAndHost{unixSocket, unixSocket}, ret, "Expected to match default socket location") assert.Equal(t, SocketAndHost{unixSocket, unixSocket}, ret, "Expected to match default socket location")
} }
@@ -145,6 +146,6 @@ func TestGetSocketAndHostOnlySocketValidButUnusualLocation(t *testing.T) {
assert.Empty(t, defaultSocket, "Expect default socket location to be empty") assert.Empty(t, defaultSocket, "Expect default socket location to be empty")
assert.False(t, found, "Expected no default socket to be found") assert.False(t, found, "Expected no default socket to be found")
// Sane default // Sane default
assert.NoError(t, err, "Expect no error from GetSocketAndHost") require.NoError(t, err, "Expect no error from GetSocketAndHost")
assert.Equal(t, socketURI, ret.Host, "Expect host to default to unusual socket") assert.Equal(t, socketURI, ret.Host, "Expect host to default to unusual socket")
} }

View File

@@ -10,6 +10,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
// Type assert HostEnvironment implements ExecutionsEnvironment // Type assert HostEnvironment implements ExecutionsEnvironment
@@ -17,7 +18,7 @@ var _ ExecutionsEnvironment = &HostEnvironment{}
func TestCopyDir(t *testing.T) { func TestCopyDir(t *testing.T) {
dir, err := os.MkdirTemp("", "test-host-env-*") dir, err := os.MkdirTemp("", "test-host-env-*")
assert.NoError(t, err) require.NoError(t, err)
defer os.RemoveAll(dir) defer os.RemoveAll(dir)
ctx := context.Background() ctx := context.Background()
e := &HostEnvironment{ e := &HostEnvironment{
@@ -33,12 +34,12 @@ func TestCopyDir(t *testing.T) {
_ = os.MkdirAll(e.ToolCache, 0700) _ = os.MkdirAll(e.ToolCache, 0700)
_ = os.MkdirAll(e.ActPath, 0700) _ = os.MkdirAll(e.ActPath, 0700)
err = e.CopyDir(e.Workdir, e.Path, true)(ctx) err = e.CopyDir(e.Workdir, e.Path, true)(ctx)
assert.NoError(t, err) require.NoError(t, err)
} }
func TestGetContainerArchive(t *testing.T) { func TestGetContainerArchive(t *testing.T) {
dir, err := os.MkdirTemp("", "test-host-env-*") dir, err := os.MkdirTemp("", "test-host-env-*")
assert.NoError(t, err) require.NoError(t, err)
defer os.RemoveAll(dir) defer os.RemoveAll(dir)
ctx := context.Background() ctx := context.Background()
e := &HostEnvironment{ e := &HostEnvironment{
@@ -55,16 +56,16 @@ func TestGetContainerArchive(t *testing.T) {
_ = os.MkdirAll(e.ActPath, 0700) _ = os.MkdirAll(e.ActPath, 0700)
expectedContent := []byte("sdde/7sh") expectedContent := []byte("sdde/7sh")
err = os.WriteFile(filepath.Join(e.Path, "action.yml"), expectedContent, 0600) err = os.WriteFile(filepath.Join(e.Path, "action.yml"), expectedContent, 0600)
assert.NoError(t, err) require.NoError(t, err)
archive, err := e.GetContainerArchive(ctx, e.Path) archive, err := e.GetContainerArchive(ctx, e.Path)
assert.NoError(t, err) require.NoError(t, err)
defer archive.Close() defer archive.Close()
reader := tar.NewReader(archive) reader := tar.NewReader(archive)
h, err := reader.Next() h, err := reader.Next()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, "action.yml", h.Name) assert.Equal(t, "action.yml", h.Name)
content, err := io.ReadAll(reader) content, err := io.ReadAll(reader)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, expectedContent, content) assert.Equal(t, expectedContent, content)
_, err = reader.Next() _, err = reader.Next()
assert.ErrorIs(t, err, io.EOF) assert.ErrorIs(t, err, io.EOF)

View File

@@ -6,6 +6,7 @@ import (
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestLiterals(t *testing.T) { func TestLiterals(t *testing.T) {
@@ -30,7 +31,7 @@ func TestLiterals(t *testing.T) {
for _, tt := range table { for _, tt := range table {
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)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tt.expected, output) assert.Equal(t, tt.expected, output)
}) })
@@ -105,7 +106,7 @@ func TestOperators(t *testing.T) {
assert.Error(t, err) assert.Error(t, err)
assert.Equal(t, tt.error, err.Error()) assert.Equal(t, tt.error, err.Error())
} else { } else {
assert.NoError(t, err) require.NoError(t, err)
} }
assert.Equal(t, tt.expected, output) assert.Equal(t, tt.expected, output)
@@ -154,7 +155,7 @@ func TestOperatorsCompare(t *testing.T) {
for _, tt := range table { for _, tt := range table {
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)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tt.expected, output) assert.Equal(t, tt.expected, output)
}) })
@@ -517,7 +518,7 @@ func TestOperatorsBooleanEvaluation(t *testing.T) {
for _, tt := range table { for _, tt := range table {
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)
assert.NoError(t, err) require.NoError(t, err)
// Normalize int => float64 // Normalize int => float64
if i, ok := tt.expected.(int); ok { if i, ok := tt.expected.(int); ok {
@@ -648,7 +649,7 @@ func TestContexts(t *testing.T) {
tenv.EnvCS = tt.caseSensitiveEnv tenv.EnvCS = tt.caseSensitiveEnv
tenv.CtxData = tt.ctxdata tenv.CtxData = tt.ctxdata
output, err := NewInterpeter(&tenv, Config{}).Evaluate(tt.input, DefaultStatusCheckNone) output, err := NewInterpeter(&tenv, Config{}).Evaluate(tt.input, DefaultStatusCheckNone)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tt.expected, output) assert.Equal(t, tt.expected, output)
}) })

View File

@@ -16,6 +16,7 @@ import (
"github.com/go-git/go-git/v5/plumbing/format/index" "github.com/go-git/go-git/v5/plumbing/format/index"
"github.com/go-git/go-git/v5/storage/filesystem" "github.com/go-git/go-git/v5/storage/filesystem"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
type memoryFs struct { type memoryFs struct {
@@ -105,12 +106,12 @@ func TestIgnoredTrackedfile(t *testing.T) {
}, },
} }
err := fc.Fs.Walk("mygitrepo", fc.CollectFiles(context.Background(), []string{})) err := fc.Fs.Walk("mygitrepo", fc.CollectFiles(context.Background(), []string{}))
assert.NoError(t, err, "successfully collect files") require.NoError(t, err, "successfully collect files")
tw.Close() tw.Close()
_, _ = tmpTar.Seek(0, io.SeekStart) _, _ = tmpTar.Seek(0, io.SeekStart)
tr := tar.NewReader(tmpTar) tr := tar.NewReader(tmpTar)
h, err := tr.Next() h, err := tr.Next()
assert.NoError(t, err, "tar must not be empty") require.NoError(t, err, "tar must not be empty")
assert.Equal(t, ".gitignore", h.Name) assert.Equal(t, ".gitignore", h.Name)
_, err = tr.Next() _, err = tr.Next()
assert.ErrorIs(t, err, io.EOF, "tar must only contain one element") assert.ErrorIs(t, err, io.EOF, "tar must only contain one element")
@@ -124,21 +125,21 @@ func TestSymlinks(t *testing.T) {
repo, _ := git.Init(filesystem.NewStorage(dotgit, cache.NewObjectLRUDefault()), worktree) repo, _ := git.Init(filesystem.NewStorage(dotgit, cache.NewObjectLRUDefault()), worktree)
// This file shouldn't be in the tar // This file shouldn't be in the tar
f, err := worktree.Create(".env") f, err := worktree.Create(".env")
assert.NoError(t, err) require.NoError(t, err)
_, err = f.Write([]byte("test=val1\n")) _, err = f.Write([]byte("test=val1\n"))
assert.NoError(t, err) require.NoError(t, err)
f.Close() f.Close()
err = worktree.Symlink(".env", "test.env") err = worktree.Symlink(".env", "test.env")
assert.NoError(t, err) require.NoError(t, err)
w, err := repo.Worktree() w, err := repo.Worktree()
assert.NoError(t, err) require.NoError(t, err)
// .gitignore is in the tar after adding it to the index // .gitignore is in the tar after adding it to the index
_, err = w.Add(".env") _, err = w.Add(".env")
assert.NoError(t, err) require.NoError(t, err)
_, err = w.Add("test.env") _, err = w.Add("test.env")
assert.NoError(t, err) require.NoError(t, err)
tmpTar, _ := fs.Create("temp.tar") tmpTar, _ := fs.Create("temp.tar")
tw := tar.NewWriter(tmpTar) tw := tar.NewWriter(tmpTar)
@@ -154,7 +155,7 @@ func TestSymlinks(t *testing.T) {
}, },
} }
err = fc.Fs.Walk("mygitrepo", fc.CollectFiles(context.Background(), []string{})) err = fc.Fs.Walk("mygitrepo", fc.CollectFiles(context.Background(), []string{}))
assert.NoError(t, err, "successfully collect files") require.NoError(t, err, "successfully collect files")
tw.Close() tw.Close()
_, _ = tmpTar.Seek(0, io.SeekStart) _, _ = tmpTar.Seek(0, io.SeekStart)
tr := tar.NewReader(tmpTar) tr := tar.NewReader(tmpTar)

View File

@@ -4,6 +4,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
) )
@@ -17,7 +18,7 @@ test:
*node.Content[0].Content[1].Content[1] = yaml.Node{ *node.Content[0].Content[1].Content[1] = yaml.Node{
Kind: yaml.AliasNode, Kind: yaml.AliasNode,
} }
assert.NoError(t, err) require.NoError(t, err)
err = resolveAliases(&node) err = resolveAliases(&node)
assert.Error(t, err) assert.Error(t, err)
} }
@@ -102,12 +103,12 @@ c: *a
assert.Error(t, err) assert.Error(t, err)
return return
} }
assert.NoError(t, err) require.NoError(t, err)
err = resolveAliases(&node) err = resolveAliases(&node)
if tt.anchorErr { if tt.anchorErr {
assert.Error(t, err) assert.Error(t, err)
} else { } else {
assert.NoError(t, err) require.NoError(t, err)
} }
}) })
} }

View File

@@ -6,6 +6,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
type WorkflowPlanTest struct { type WorkflowPlanTest struct {
@@ -28,14 +29,14 @@ func TestPlanner(t *testing.T) {
} }
workdir, err := filepath.Abs("testdata") workdir, err := filepath.Abs("testdata")
assert.NoError(t, err, workdir) require.NoError(t, err, workdir)
for _, table := range tables { for _, table := range tables {
fullWorkflowPath := filepath.Join(workdir, table.workflowPath) fullWorkflowPath := filepath.Join(workdir, table.workflowPath)
_, err = NewWorkflowPlanner(fullWorkflowPath, PlannerConfig{ _, err = NewWorkflowPlanner(fullWorkflowPath, PlannerConfig{
Recursive: !table.noWorkflowRecurse, Recursive: !table.noWorkflowRecurse,
}) })
if table.errorMessage == "" { if table.errorMessage == "" {
assert.NoError(t, err, "WorkflowPlanner should exit without any error") require.NoError(t, err, "WorkflowPlanner should exit without any error")
} else { } else {
assert.EqualError(t, err, table.errorMessage) assert.EqualError(t, err, table.errorMessage)
} }
@@ -55,6 +56,6 @@ func TestWorkflow(t *testing.T) {
// Check that a valid job id returns non-error // Check that a valid job id returns non-error
result, err := createStages(&workflow, "valid_job") result, err := createStages(&workflow, "valid_job")
assert.NoError(t, err) require.NoError(t, err)
assert.NotNil(t, result) assert.NotNil(t, result)
} }

View File

@@ -22,7 +22,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.On(), 1) assert.Len(t, workflow.On(), 1)
assert.Contains(t, workflow.On(), "push") assert.Contains(t, workflow.On(), "push")
@@ -41,7 +41,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.On(), 2) assert.Len(t, workflow.On(), 2)
assert.Contains(t, workflow.On(), "push") assert.Contains(t, workflow.On(), "push")
@@ -67,7 +67,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.On(), 2) assert.Len(t, workflow.On(), 2)
assert.Contains(t, workflow.On(), "push") assert.Contains(t, workflow.On(), "push")
assert.Contains(t, workflow.On(), "pull_request") assert.Contains(t, workflow.On(), "pull_request")
@@ -86,7 +86,7 @@ jobs:
- uses: ./actions/docker-url` - uses: ./actions/docker-url`
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Equal(t, []string{"ubuntu-latest"}, workflow.Jobs["test"].RunsOn()) assert.Equal(t, []string{"ubuntu-latest"}, workflow.Jobs["test"].RunsOn())
} }
@@ -104,7 +104,7 @@ jobs:
- uses: ./actions/docker-url` - uses: ./actions/docker-url`
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Equal(t, []string{"ubuntu-latest", "linux"}, workflow.Jobs["test"].RunsOn()) assert.Equal(t, []string{"ubuntu-latest", "linux"}, workflow.Jobs["test"].RunsOn())
} }
@@ -129,7 +129,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.Jobs, 2) assert.Len(t, workflow.Jobs, 2)
assert.Contains(t, workflow.Jobs["test"].Container().Image, "nginx:latest") assert.Contains(t, workflow.Jobs["test"].Container().Image, "nginx:latest")
assert.Contains(t, workflow.Jobs["test2"].Container().Image, "nginx:latest") assert.Contains(t, workflow.Jobs["test2"].Container().Image, "nginx:latest")
@@ -159,7 +159,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.Jobs, 1) assert.Len(t, workflow.Jobs, 1)
container := workflow.GetJob("test").Container() container := workflow.GetJob("test").Container()
@@ -197,31 +197,31 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.Jobs, 6) assert.Len(t, workflow.Jobs, 6)
jobType, err := workflow.Jobs["default-job"].Type() jobType, err := workflow.Jobs["default-job"].Type()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, JobTypeDefault, jobType) assert.Equal(t, JobTypeDefault, jobType)
jobType, err = workflow.Jobs["remote-reusable-workflow-yml"].Type() jobType, err = workflow.Jobs["remote-reusable-workflow-yml"].Type()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, JobTypeReusableWorkflowRemote, jobType) assert.Equal(t, JobTypeReusableWorkflowRemote, jobType)
jobType, err = workflow.Jobs["remote-reusable-workflow-yaml"].Type() jobType, err = workflow.Jobs["remote-reusable-workflow-yaml"].Type()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, JobTypeReusableWorkflowRemote, jobType) assert.Equal(t, JobTypeReusableWorkflowRemote, jobType)
jobType, err = workflow.Jobs["remote-reusable-workflow-custom-path"].Type() jobType, err = workflow.Jobs["remote-reusable-workflow-custom-path"].Type()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, JobTypeReusableWorkflowRemote, jobType) assert.Equal(t, JobTypeReusableWorkflowRemote, jobType)
jobType, err = workflow.Jobs["local-reusable-workflow-yml"].Type() jobType, err = workflow.Jobs["local-reusable-workflow-yml"].Type()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, JobTypeReusableWorkflowLocal, jobType) assert.Equal(t, JobTypeReusableWorkflowLocal, jobType)
jobType, err = workflow.Jobs["local-reusable-workflow-yaml"].Type() jobType, err = workflow.Jobs["local-reusable-workflow-yaml"].Type()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, JobTypeReusableWorkflowLocal, jobType) assert.Equal(t, JobTypeReusableWorkflowLocal, jobType)
} }
@@ -241,7 +241,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.Jobs, 4) assert.Len(t, workflow.Jobs, 4)
jobType, err := workflow.Jobs["remote-reusable-workflow-missing-version"].Type() jobType, err := workflow.Jobs["remote-reusable-workflow-missing-version"].Type()
@@ -315,7 +315,7 @@ jobs:
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
assert.Len(t, workflow.Jobs, 2) assert.Len(t, workflow.Jobs, 2)
assert.Len(t, workflow.Jobs["test1"].Steps, 1) assert.Len(t, workflow.Jobs["test1"].Steps, 1)
@@ -330,10 +330,10 @@ jobs:
func TestReadWorkflow_Strategy(t *testing.T) { func TestReadWorkflow_Strategy(t *testing.T) {
w, err := NewWorkflowPlanner("testdata/strategy/push.yml", PlannerConfig{}) w, err := NewWorkflowPlanner("testdata/strategy/push.yml", PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
p, err := w.PlanJob("strategy-only-max-parallel") p, err := w.PlanJob("strategy-only-max-parallel")
assert.NoError(t, err) require.NoError(t, err)
assert.Len(t, p.Stages, 1) assert.Len(t, p.Stages, 1)
assert.Len(t, p.Stages[0].Runs, 1) assert.Len(t, p.Stages[0].Runs, 1)
@@ -342,7 +342,7 @@ func TestReadWorkflow_Strategy(t *testing.T) {
job := wf.Jobs["strategy-only-max-parallel"] job := wf.Jobs["strategy-only-max-parallel"]
matrixes, err := job.GetMatrixes() matrixes, err := job.GetMatrixes()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, []map[string]any{{}}, matrixes) assert.Equal(t, []map[string]any{{}}, matrixes)
assert.Equal(t, job.Matrix(), map[string][]any(nil)) assert.Equal(t, job.Matrix(), map[string][]any(nil))
assert.Equal(t, 2, job.Strategy.MaxParallel) assert.Equal(t, 2, job.Strategy.MaxParallel)
@@ -350,7 +350,7 @@ func TestReadWorkflow_Strategy(t *testing.T) {
job = wf.Jobs["strategy-only-fail-fast"] job = wf.Jobs["strategy-only-fail-fast"]
matrixes, err = job.GetMatrixes() matrixes, err = job.GetMatrixes()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, []map[string]any{{}}, matrixes) assert.Equal(t, []map[string]any{{}}, matrixes)
assert.Equal(t, job.Matrix(), map[string][]any(nil)) assert.Equal(t, job.Matrix(), map[string][]any(nil))
assert.Equal(t, 4, job.Strategy.MaxParallel) assert.Equal(t, 4, job.Strategy.MaxParallel)
@@ -358,7 +358,7 @@ func TestReadWorkflow_Strategy(t *testing.T) {
job = wf.Jobs["strategy-no-matrix"] job = wf.Jobs["strategy-no-matrix"]
matrixes, err = job.GetMatrixes() matrixes, err = job.GetMatrixes()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, []map[string]any{{}}, matrixes) assert.Equal(t, []map[string]any{{}}, matrixes)
assert.Equal(t, job.Matrix(), map[string][]any(nil)) assert.Equal(t, job.Matrix(), map[string][]any(nil))
assert.Equal(t, 2, job.Strategy.MaxParallel) assert.Equal(t, 2, job.Strategy.MaxParallel)
@@ -366,7 +366,7 @@ func TestReadWorkflow_Strategy(t *testing.T) {
job = wf.Jobs["strategy-all"] job = wf.Jobs["strategy-all"]
matrixes, err = job.GetMatrixes() matrixes, err = job.GetMatrixes()
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, []map[string]any{ assert.Equal(t, []map[string]any{
{"datacenter": "site-c", "node-version": "14.x", "site": "staging", "php-version": 5.4}, {"datacenter": "site-c", "node-version": "14.x", "site": "staging", "php-version": 5.4},
{"datacenter": "site-c", "node-version": "16.x", "site": "staging", "php-version": 5.4}, {"datacenter": "site-c", "node-version": "16.x", "site": "staging", "php-version": 5.4},
@@ -449,7 +449,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch := workflow.WorkflowDispatchConfig() workflowDispatch := workflow.WorkflowDispatchConfig()
assert.Nil(t, workflowDispatch) assert.Nil(t, workflowDispatch)
@@ -463,7 +463,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch = workflow.WorkflowDispatchConfig() workflowDispatch = workflow.WorkflowDispatchConfig()
assert.NotNil(t, workflowDispatch) assert.NotNil(t, workflowDispatch)
assert.Nil(t, workflowDispatch.Inputs) assert.Nil(t, workflowDispatch.Inputs)
@@ -478,7 +478,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch = workflow.WorkflowDispatchConfig() workflowDispatch = workflow.WorkflowDispatchConfig()
assert.Nil(t, workflowDispatch) assert.Nil(t, workflowDispatch)
@@ -492,7 +492,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch = workflow.WorkflowDispatchConfig() workflowDispatch = workflow.WorkflowDispatchConfig()
assert.NotNil(t, workflowDispatch) assert.NotNil(t, workflowDispatch)
assert.Nil(t, workflowDispatch.Inputs) assert.Nil(t, workflowDispatch.Inputs)
@@ -509,7 +509,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch = workflow.WorkflowDispatchConfig() workflowDispatch = workflow.WorkflowDispatchConfig()
assert.NotNil(t, workflowDispatch) assert.NotNil(t, workflowDispatch)
assert.Nil(t, workflowDispatch.Inputs) assert.Nil(t, workflowDispatch.Inputs)
@@ -526,7 +526,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch = workflow.WorkflowDispatchConfig() workflowDispatch = workflow.WorkflowDispatchConfig()
assert.Nil(t, workflowDispatch) assert.Nil(t, workflowDispatch)
@@ -553,7 +553,7 @@ func TestReadWorkflow_WorkflowDispatchConfig(t *testing.T) {
- run: echo Test - run: echo Test
` `
workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) workflow, err = ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
workflowDispatch = workflow.WorkflowDispatchConfig() workflowDispatch = workflow.WorkflowDispatchConfig()
assert.NotNil(t, workflowDispatch) assert.NotNil(t, workflowDispatch)
assert.Equal(t, WorkflowDispatchInput{ assert.Equal(t, WorkflowDispatchInput{
@@ -601,7 +601,7 @@ jobs:
` `
w, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{Strict: true}) w, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{Strict: true})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
for _, job := range w.Jobs { for _, job := range w.Jobs {
assert.Equal(t, []string{"ubuntu-latest"}, job.RunsOn()) assert.Equal(t, []string{"ubuntu-latest"}, job.RunsOn())
@@ -629,7 +629,7 @@ on: push #*trigger
` `
w, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{}) w, err := ReadWorkflow(strings.NewReader(yaml), WorkflowConfig{})
assert.NoError(t, err, "read workflow should succeed") require.NoError(t, err, "read workflow should succeed")
for _, job := range w.Jobs { for _, job := range w.Jobs {
assert.Equal(t, []string{"ubuntu-latest"}, job.RunsOn()) assert.Equal(t, []string{"ubuntu-latest"}, job.RunsOn())

View File

@@ -10,6 +10,7 @@ import (
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
) )
type closerMock struct { type closerMock struct {
@@ -99,7 +100,7 @@ runs:
action, err := readActionImpl(context.Background(), tt.step, readFile, model.ActionConfig{}) action, err := readActionImpl(context.Background(), tt.step, readFile, model.ActionConfig{})
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tt.expected, action) assert.Equal(t, tt.expected, action)
closerMock.AssertExpectations(t) closerMock.AssertExpectations(t)
@@ -218,7 +219,7 @@ func TestActionRunner(t *testing.T) {
err := runActionImpl(tt.step)(ctx) err := runActionImpl(tt.step)(ctx)
assert.NoError(t, err) require.NoError(t, err)
cm.AssertExpectations(t) cm.AssertExpectations(t)
}) })
} }

View File

@@ -12,6 +12,7 @@ import (
"gitea.com/gitea/act_runner/pkg/exprparser" "gitea.com/gitea/act_runner/pkg/exprparser"
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
assert "github.com/stretchr/testify/assert" assert "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
yaml "gopkg.in/yaml.v3" yaml "gopkg.in/yaml.v3"
) )
@@ -21,7 +22,7 @@ func createRunContext(t *testing.T) *RunContext {
"os": {"Linux", "Windows"}, "os": {"Linux", "Windows"},
"foo": {"bar", "baz"}, "foo": {"bar", "baz"},
}) })
assert.NoError(t, err) require.NoError(t, err)
return &RunContext{ return &RunContext{
Config: &Config{ Config: &Config{

View File

@@ -13,6 +13,7 @@ import (
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
) )
func TestJobExecutor(t *testing.T) { func TestJobExecutor(t *testing.T) {
@@ -324,7 +325,7 @@ func TestNewJobExecutor(t *testing.T) {
executor := newJobExecutor(jim, sfm, rc) executor := newJobExecutor(jim, sfm, rc)
err := executor(ctx) err := executor(ctx)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tt.executedSteps, executorOrder) assert.Equal(t, tt.executedSteps, executorOrder)
jim.AssertExpectations(t) jim.AssertExpectations(t)

View File

@@ -16,6 +16,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
assert "github.com/stretchr/testify/assert" assert "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
yaml "gopkg.in/yaml.v3" yaml "gopkg.in/yaml.v3"
) )
@@ -25,7 +26,7 @@ func TestRunContext_EvalBool(t *testing.T) {
"os": {"Linux", "Windows"}, "os": {"Linux", "Windows"},
"foo": {"bar", "baz"}, "foo": {"bar", "baz"},
}) })
assert.NoError(t, err) require.NoError(t, err)
rc := &RunContext{ rc := &RunContext{
Config: &Config{ Config: &Config{
@@ -310,7 +311,7 @@ func TestRunContext_GetBindsAndMounts(t *testing.T) {
err := job.RawContainer.Encode(map[string][]string{ err := job.RawContainer.Encode(map[string][]string{
"volumes": testcase.volumes, "volumes": testcase.volumes,
}) })
assert.NoError(t, err) require.NoError(t, err)
rc := &RunContext{ rc := &RunContext{
Name: "TestRCName", Name: "TestRCName",
@@ -345,7 +346,7 @@ func TestGetGitHubContext(t *testing.T) {
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
cwd, err := os.Getwd() cwd, err := os.Getwd()
assert.NoError(t, err) require.NoError(t, err)
rc := &RunContext{ rc := &RunContext{
Config: &Config{ Config: &Config{
@@ -401,7 +402,7 @@ func TestGetGitHubContextOverlay(t *testing.T) {
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
cwd, err := os.Getwd() cwd, err := os.Getwd()
assert.NoError(t, err) require.NoError(t, err)
rc := &RunContext{ rc := &RunContext{
Config: &Config{ Config: &Config{
@@ -511,7 +512,7 @@ func createIfTestRunContext(jobs map[string]*model.Job) *RunContext {
func createJob(t *testing.T, input string, result string) *model.Job { func createJob(t *testing.T, input string, result string) *model.Job {
var job *model.Job var job *model.Job
err := yaml.Unmarshal([]byte(input), &job) err := yaml.Unmarshal([]byte(input), &job)
assert.NoError(t, err) require.NoError(t, err)
job.Result = result job.Result = result
return job return job
@@ -748,7 +749,7 @@ func TestSetRuntimeVariables(t *testing.T) {
tkn, _, err := jwt.NewParser().ParseUnverified(runtimeToken, jwt.MapClaims{}) tkn, _, err := jwt.NewParser().ParseUnverified(runtimeToken, jwt.MapClaims{})
assert.NotNil(t, tkn) assert.NotNil(t, tkn)
assert.NoError(t, err) require.NoError(t, err)
} }
func TestSetRuntimeVariablesWithRunID(t *testing.T) { func TestSetRuntimeVariablesWithRunID(t *testing.T) {
@@ -773,7 +774,7 @@ func TestSetRuntimeVariablesWithRunID(t *testing.T) {
claims := jwt.MapClaims{} claims := jwt.MapClaims{}
tkn, _, err := jwt.NewParser().ParseUnverified(runtimeToken, &claims) tkn, _, err := jwt.NewParser().ParseUnverified(runtimeToken, &claims)
assert.NotNil(t, tkn) assert.NotNil(t, tkn)
assert.NoError(t, err) require.NoError(t, err)
scp, ok := claims["scp"] scp, ok := claims["scp"]
assert.True(t, ok, "scp claim exists") assert.True(t, ok, "scp claim exists")
assert.Equal(t, "Actions.Results:45:45", scp, "contains expected scp claim") assert.Equal(t, "Actions.Results:45:45", scp, "contains expected scp claim")

View File

@@ -19,6 +19,7 @@ import (
"github.com/joho/godotenv" "github.com/joho/godotenv"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
assert "github.com/stretchr/testify/assert" assert "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"gitea.com/gitea/act_runner/pkg/common" "gitea.com/gitea/act_runner/pkg/common"
@@ -58,7 +59,7 @@ func init() {
func TestNoWorkflowsFoundByPlanner(t *testing.T) { func TestNoWorkflowsFoundByPlanner(t *testing.T) {
planner, err := model.NewWorkflowPlanner("hashfiles", model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner("hashfiles", model.PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
out := log.StandardLogger().Out out := log.StandardLogger().Out
var buf bytes.Buffer var buf bytes.Buffer
@@ -66,19 +67,19 @@ func TestNoWorkflowsFoundByPlanner(t *testing.T) {
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
plan, err := planner.PlanEvent("pull_request") plan, err := planner.PlanEvent("pull_request")
assert.NotNil(t, plan) assert.NotNil(t, plan)
assert.NoError(t, err) require.NoError(t, err)
assert.Contains(t, buf.String(), "no workflows found by planner") assert.Contains(t, buf.String(), "no workflows found by planner")
buf.Reset() buf.Reset()
plan, err = planner.PlanAll() plan, err = planner.PlanAll()
assert.NotNil(t, plan) assert.NotNil(t, plan)
assert.NoError(t, err) require.NoError(t, err)
assert.Contains(t, buf.String(), "no workflows found by planner") assert.Contains(t, buf.String(), "no workflows found by planner")
log.SetOutput(out) log.SetOutput(out)
} }
func TestGraphMissingEvent(t *testing.T) { func TestGraphMissingEvent(t *testing.T) {
planner, err := model.NewWorkflowPlanner("testdata/issue-1595/no-event.yml", model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner("testdata/issue-1595/no-event.yml", model.PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
out := log.StandardLogger().Out out := log.StandardLogger().Out
var buf bytes.Buffer var buf bytes.Buffer
@@ -86,7 +87,7 @@ func TestGraphMissingEvent(t *testing.T) {
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
plan, err := planner.PlanEvent("push") plan, err := planner.PlanEvent("push")
assert.NoError(t, err) require.NoError(t, err)
assert.NotNil(t, plan) assert.NotNil(t, plan)
assert.Empty(t, plan.Stages) assert.Empty(t, plan.Stages)
@@ -96,7 +97,7 @@ func TestGraphMissingEvent(t *testing.T) {
func TestGraphMissingFirst(t *testing.T) { func TestGraphMissingFirst(t *testing.T) {
planner, err := model.NewWorkflowPlanner("testdata/issue-1595/no-first.yml", model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner("testdata/issue-1595/no-first.yml", model.PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
plan, err := planner.PlanEvent("push") plan, err := planner.PlanEvent("push")
assert.EqualError(t, err, "unable to build dependency graph for no first (no-first.yml)") assert.EqualError(t, err, "unable to build dependency graph for no first (no-first.yml)")
@@ -106,7 +107,7 @@ func TestGraphMissingFirst(t *testing.T) {
func TestGraphWithMissing(t *testing.T) { func TestGraphWithMissing(t *testing.T) {
planner, err := model.NewWorkflowPlanner("testdata/issue-1595/missing.yml", model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner("testdata/issue-1595/missing.yml", model.PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
out := log.StandardLogger().Out out := log.StandardLogger().Out
var buf bytes.Buffer var buf bytes.Buffer
@@ -125,7 +126,7 @@ func TestGraphWithSomeMissing(t *testing.T) {
log.SetLevel(log.DebugLevel) log.SetLevel(log.DebugLevel)
planner, err := model.NewWorkflowPlanner("testdata/issue-1595/", model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner("testdata/issue-1595/", model.PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
out := log.StandardLogger().Out out := log.StandardLogger().Out
var buf bytes.Buffer var buf bytes.Buffer
@@ -143,10 +144,10 @@ func TestGraphWithSomeMissing(t *testing.T) {
func TestGraphEvent(t *testing.T) { func TestGraphEvent(t *testing.T) {
planner, err := model.NewWorkflowPlanner("testdata/basic", model.PlannerConfig{}) planner, err := model.NewWorkflowPlanner("testdata/basic", model.PlannerConfig{})
assert.NoError(t, err) require.NoError(t, err)
plan, err := planner.PlanEvent("push") plan, err := planner.PlanEvent("push")
assert.NoError(t, err) require.NoError(t, err)
assert.NotNil(t, plan) assert.NotNil(t, plan)
assert.NotNil(t, plan.Stages) assert.NotNil(t, plan.Stages)
assert.Len(t, plan.Stages, 3, "stages") assert.Len(t, plan.Stages, 3, "stages")
@@ -158,7 +159,7 @@ func TestGraphEvent(t *testing.T) {
assert.Equal(t, "test", plan.Stages[2].Runs[0].JobID, "jobid") assert.Equal(t, "test", plan.Stages[2].Runs[0].JobID, "jobid")
plan, err = planner.PlanEvent("release") plan, err = planner.PlanEvent("release")
assert.NoError(t, err) require.NoError(t, err)
assert.NotNil(t, plan) assert.NotNil(t, plan)
assert.Empty(t, plan.Stages) assert.Empty(t, plan.Stages)
} }
@@ -178,7 +179,7 @@ func (j *TestJobFileInfo) runTest(ctx context.Context, t *testing.T, cfg *Config
log.SetLevel(logLevel) log.SetLevel(logLevel)
workdir, err := filepath.Abs(j.workdir) workdir, err := filepath.Abs(j.workdir)
assert.NoError(t, err, workdir) require.NoError(t, err, workdir)
fullWorkflowPath := filepath.Join(workdir, j.workflowPath) fullWorkflowPath := filepath.Join(workdir, j.workflowPath)
runnerConfig := &Config{ runnerConfig := &Config{
@@ -199,18 +200,18 @@ func (j *TestJobFileInfo) runTest(ctx context.Context, t *testing.T, cfg *Config
} }
runner, err := New(runnerConfig) runner, err := New(runnerConfig)
assert.NoError(t, err, j.workflowPath) require.NoError(t, err, j.workflowPath)
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) assert.Error(t, err, j.errorMessage)
} else if assert.NoError(t, err, fullWorkflowPath) { } else if require.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")
if err == nil && plan != nil { if err == nil && plan != nil {
err = runner.NewPlanExecutor(plan)(ctx) err = runner.NewPlanExecutor(plan)(ctx)
if j.errorMessage == "" { if j.errorMessage == "" {
assert.NoError(t, err, fullWorkflowPath) require.NoError(t, err, fullWorkflowPath)
} else { } else {
assert.Error(t, err, j.errorMessage) assert.Error(t, err, j.errorMessage)
} }
@@ -780,9 +781,9 @@ func TestRunEventSecrets(t *testing.T) {
} }
env, err := godotenv.Read(filepath.Join(workdir, workflowPath, ".env")) env, err := godotenv.Read(filepath.Join(workdir, workflowPath, ".env"))
assert.NoError(t, err, "Failed to read .env") require.NoError(t, err, "Failed to read .env")
secrets, _ := godotenv.Read(filepath.Join(workdir, workflowPath, ".secrets")) secrets, _ := godotenv.Read(filepath.Join(workdir, workflowPath, ".secrets"))
assert.NoError(t, err, "Failed to read .secrets") require.NoError(t, err, "Failed to read .secrets")
tjfi.runTest(context.Background(), t, &Config{Secrets: secrets, Env: env}) tjfi.runTest(context.Background(), t, &Config{Secrets: secrets, Env: env})
} }

View File

@@ -11,6 +11,7 @@ import (
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
) )
@@ -92,10 +93,10 @@ func TestStepActionLocalTest(t *testing.T) {
}) })
err := sal.pre()(ctx) err := sal.pre()(ctx)
assert.NoError(t, err) require.NoError(t, err)
err = sal.main()(ctx) err = sal.main()(ctx)
assert.NoError(t, err) require.NoError(t, err)
cm.AssertExpectations(t) cm.AssertExpectations(t)
salm.AssertExpectations(t) salm.AssertExpectations(t)

View File

@@ -9,6 +9,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"gitea.com/gitea/act_runner/pkg/common" "gitea.com/gitea/act_runner/pkg/common"
@@ -290,7 +291,7 @@ func TestStepActionRemotePre(t *testing.T) {
err := sar.pre()(ctx) err := sar.pre()(ctx)
assert.NoError(t, err) require.NoError(t, err)
sarm.AssertExpectations(t) sarm.AssertExpectations(t)
cacheMock.AssertExpectations(t) cacheMock.AssertExpectations(t)
@@ -343,7 +344,7 @@ func TestStepActionRemotePreThroughAction(t *testing.T) {
err := sar.pre()(ctx) err := sar.pre()(ctx)
assert.NoError(t, err) require.NoError(t, err)
sarm.AssertExpectations(t) sarm.AssertExpectations(t)
cacheMock.AssertExpectations(t) cacheMock.AssertExpectations(t)
@@ -397,7 +398,7 @@ func TestStepActionRemotePreThroughActionToken(t *testing.T) {
err := sar.pre()(ctx) err := sar.pre()(ctx)
assert.NoError(t, err) require.NoError(t, err)
sarm.AssertExpectations(t) sarm.AssertExpectations(t)
cacheMock.AssertExpectations(t) cacheMock.AssertExpectations(t)

View File

@@ -10,6 +10,7 @@ import (
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
) )
func TestStepDockerMain(t *testing.T) { func TestStepDockerMain(t *testing.T) {
@@ -97,7 +98,7 @@ func TestStepDockerMain(t *testing.T) {
cm.On("GetContainerArchive", ctx, "/var/run/act/workflow/pathcmd.txt").Return(io.NopCloser(&bytes.Buffer{}), nil) cm.On("GetContainerArchive", ctx, "/var/run/act/workflow/pathcmd.txt").Return(io.NopCloser(&bytes.Buffer{}), nil)
err := sd.main()(ctx) err := sd.main()(ctx)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, "node:14", input.Image) assert.Equal(t, "node:14", input.Image)
@@ -109,8 +110,8 @@ func TestStepDockerPrePost(t *testing.T) {
sd := &stepDocker{} sd := &stepDocker{}
err := sd.pre()(ctx) err := sd.pre()(ctx)
assert.NoError(t, err) require.NoError(t, err)
err = sd.post()(ctx) err = sd.post()(ctx)
assert.NoError(t, err) require.NoError(t, err)
} }

View File

@@ -5,6 +5,7 @@ import (
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestStepFactoryNewStep(t *testing.T) { func TestStepFactoryNewStep(t *testing.T) {
@@ -62,7 +63,7 @@ func TestStepFactoryNewStep(t *testing.T) {
step, err := sf.newStep(tt.model, &RunContext{}) step, err := sf.newStep(tt.model, &RunContext{})
assert.True(t, tt.check((step))) assert.True(t, tt.check((step)))
assert.NoError(t, err) require.NoError(t, err)
}) })
} }
} }

View File

@@ -6,8 +6,8 @@ import (
"io" "io"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"gitea.com/gitea/act_runner/pkg/container" "gitea.com/gitea/act_runner/pkg/container"
"gitea.com/gitea/act_runner/pkg/model" "gitea.com/gitea/act_runner/pkg/model"
@@ -78,7 +78,7 @@ func TestStepRun(t *testing.T) {
cm.On("GetContainerArchive", ctx, "/var/run/act/workflow/pathcmd.txt").Return(io.NopCloser(&bytes.Buffer{}), nil) cm.On("GetContainerArchive", ctx, "/var/run/act/workflow/pathcmd.txt").Return(io.NopCloser(&bytes.Buffer{}), nil)
err := sr.main()(ctx) err := sr.main()(ctx)
assert.NoError(t, err) require.NoError(t, err)
cm.AssertExpectations(t) cm.AssertExpectations(t)
} }
@@ -88,8 +88,8 @@ func TestStepRunPrePost(t *testing.T) {
sr := &stepRun{} sr := &stepRun{}
err := sr.pre()(ctx) err := sr.pre()(ctx)
assert.NoError(t, err) require.NoError(t, err)
err = sr.post()(ctx) err = sr.post()(ctx)
assert.NoError(t, err) require.NoError(t, err)
} }

View File

@@ -9,6 +9,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
yaml "gopkg.in/yaml.v3" yaml "gopkg.in/yaml.v3"
) )
@@ -152,7 +153,7 @@ func TestSetupEnv(t *testing.T) {
sm.On("getEnv").Return(&env) sm.On("getEnv").Return(&env)
err := setupEnv(context.Background(), sm) err := setupEnv(context.Background(), sm)
assert.NoError(t, err) require.NoError(t, err)
// These are commit or system specific // These are commit or system specific
delete((env), "GITHUB_REF") delete((env), "GITHUB_REF")
@@ -198,7 +199,7 @@ func TestIsStepEnabled(t *testing.T) {
createTestStep := func(t *testing.T, input string) step { createTestStep := func(t *testing.T, input string) step {
var step *model.Step var step *model.Step
err := yaml.Unmarshal([]byte(input), &step) err := yaml.Unmarshal([]byte(input), &step)
assert.NoError(t, err) require.NoError(t, err)
return &stepRun{ return &stepRun{
RunContext: &RunContext{ RunContext: &RunContext{
@@ -280,7 +281,7 @@ func TestIsContinueOnError(t *testing.T) {
createTestStep := func(t *testing.T, input string) step { createTestStep := func(t *testing.T, input string) step {
var step *model.Step var step *model.Step
err := yaml.Unmarshal([]byte(input), &step) err := yaml.Unmarshal([]byte(input), &step)
assert.NoError(t, err) require.NoError(t, err)
return &stepRun{ return &stepRun{
RunContext: &RunContext{ RunContext: &RunContext{
@@ -365,7 +366,7 @@ func TestSymlinkJoin(t *testing.T) {
for _, entry := range table { for _, entry := range table {
result, err := symlinkJoin(entry.from, entry.target, entry.root...) result, err := symlinkJoin(entry.from, entry.target, entry.root...)
if entry.err == "" { if entry.err == "" {
assert.NoError(t, err) require.NoError(t, err)
} else { } else {
assert.Error(t, err, entry.err) assert.Error(t, err, entry.err)
} }

View File

@@ -5,7 +5,7 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/require"
) )
func TestGiteaSchemaFactory(t *testing.T) { func TestGiteaSchemaFactory(t *testing.T) {
@@ -13,7 +13,7 @@ func TestGiteaSchemaFactory(t *testing.T) {
_ = schema _ = schema
data, err := json.MarshalIndent(schema, "", " ") data, err := json.MarshalIndent(schema, "", " ")
assert.NoError(t, err) require.NoError(t, err)
err = os.WriteFile("gitea_workflow_schema.json", append(data, "\n"...), 0o600) err = os.WriteFile("gitea_workflow_schema.json", append(data, "\n"...), 0o600)
assert.NoError(t, err) require.NoError(t, err)
} }

View File

@@ -4,6 +4,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
) )
@@ -18,14 +19,14 @@ jobs:
steps: steps:
- run: exit 0 - run: exit 0
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.NoError(t, err) require.NoError(t, err)
} }
func TestAdditionalFunctionsFailure(t *testing.T) { func TestAdditionalFunctionsFailure(t *testing.T) {
@@ -39,7 +40,7 @@ jobs:
steps: steps:
- run: exit 0 - run: exit 0
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
@@ -60,14 +61,14 @@ jobs:
- run: exit 0 - run: exit 0
if: success() || failure() || always() if: success() || failure() || always()
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.NoError(t, err) require.NoError(t, err)
} }
func TestAdditionalFunctionsStepsExprSyntax(t *testing.T) { func TestAdditionalFunctionsStepsExprSyntax(t *testing.T) {
@@ -81,14 +82,14 @@ jobs:
- run: exit 0 - run: exit 0
if: ${{ success() || failure() || always() }} if: ${{ success() || failure() || always() }}
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.NoError(t, err) require.NoError(t, err)
} }
func TestFailure(t *testing.T) { func TestFailure(t *testing.T) {
@@ -100,7 +101,7 @@ jobs:
runs-on: self-hosted runs-on: self-hosted
x: failure x: failure
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
@@ -119,7 +120,7 @@ jobs:
runs-on: self-hosted runs-on: self-hosted
Runs-on: failure Runs-on: failure
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
@@ -139,14 +140,14 @@ jobs:
steps: steps:
- run: exit 0 - run: exit 0
`), &node) `), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
Definition: "workflow-root-strict", Definition: "workflow-root-strict",
Schema: GetWorkflowSchema(), Schema: GetWorkflowSchema(),
}).UnmarshalYAML(&node) }).UnmarshalYAML(&node)
assert.NoError(t, err) require.NoError(t, err)
} }
func TestSchemaErrors(t *testing.T) { func TestSchemaErrors(t *testing.T) {
@@ -208,7 +209,7 @@ jobs:
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
var node yaml.Node var node yaml.Node
err := yaml.Unmarshal([]byte(test.input), &node) err := yaml.Unmarshal([]byte(test.input), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
@@ -218,7 +219,7 @@ jobs:
if test.err != "" { if test.err != "" {
assert.ErrorContains(t, err, test.err) assert.ErrorContains(t, err, test.err)
} else { } else {
assert.NoError(t, err) require.NoError(t, err)
} }
}) })
} }
@@ -246,7 +247,7 @@ runs:
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
var node yaml.Node var node yaml.Node
err := yaml.Unmarshal([]byte(test.input), &node) err := yaml.Unmarshal([]byte(test.input), &node)
if !assert.NoError(t, err) { if !require.NoError(t, err) {
return return
} }
err = (&Node{ err = (&Node{
@@ -256,7 +257,7 @@ runs:
if test.err != "" { if test.err != "" {
assert.ErrorContains(t, err, test.err) assert.ErrorContains(t, err, test.err)
} else { } else {
assert.NoError(t, err) require.NoError(t, err)
} }
}) })
} }

View File

@@ -5,6 +5,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestMatchPattern(t *testing.T) { func TestMatchPattern(t *testing.T) {
@@ -405,7 +406,7 @@ func TestMatchPattern(t *testing.T) {
for _, kase := range kases { for _, kase := range kases {
t.Run(strings.Join(kase.patterns, ","), func(t *testing.T) { t.Run(strings.Join(kase.patterns, ","), func(t *testing.T) {
patterns, err := CompilePatterns(kase.patterns...) patterns, err := CompilePatterns(kase.patterns...)
assert.NoError(t, err) require.NoError(t, err)
assert.Equal(t, kase.skipResult, Skip(patterns, kase.inputs, &StdOutTraceWriter{}), "skipResult") assert.Equal(t, kase.skipResult, Skip(patterns, kase.inputs, &StdOutTraceWriter{}), "skipResult")
assert.Equal(t, kase.filterResult, Filter(patterns, kase.inputs, &StdOutTraceWriter{}), "filterResult") assert.Equal(t, kase.filterResult, Filter(patterns, kase.inputs, &StdOutTraceWriter{}), "filterResult")