github.com/kubeshop/testkube@v1.17.23/contrib/executor/artillery/pkg/runner/artillery_test.go (about) 1 package runner 2 3 import ( 4 "context" 5 "os" 6 "path/filepath" 7 "testing" 8 9 cp "github.com/otiai10/copy" 10 "github.com/stretchr/testify/assert" 11 12 "github.com/kubeshop/testkube/pkg/api/v1/testkube" 13 "github.com/kubeshop/testkube/pkg/envs" 14 "github.com/kubeshop/testkube/pkg/utils/test" 15 ) 16 17 func TestRun(t *testing.T) { 18 test.IntegrationTest(t) 19 t.Parallel() 20 21 ctx := context.Background() 22 23 t.Run("runner should run test based on execution data", func(t *testing.T) { 24 t.Parallel() 25 26 tempDir, err := os.MkdirTemp("", "*") 27 assert.NoErrorf(t, err, "failed to create temp dir: %v", err) 28 defer os.RemoveAll(tempDir) 29 repoDir := filepath.Join(tempDir, "repo") 30 assert.NoError(t, os.Mkdir(repoDir, 0755)) 31 _ = cp.Copy("../../examples", repoDir) 32 33 params := envs.Params{DataDir: tempDir} 34 runner, err := NewArtilleryRunner(ctx, params) 35 assert.NoError(t, err) 36 37 repoURI := "https://github.com/kubeshop/testkube-executor-artillery.git" 38 result, err := runner.Run( 39 ctx, 40 testkube.Execution{ 41 Content: &testkube.TestContent{ 42 Type_: string(testkube.TestContentTypeGitFile), 43 Repository: &testkube.Repository{ 44 Type_: "git", 45 Uri: repoURI, 46 Branch: "main", 47 Path: "examples/test.yaml", 48 }, 49 }, 50 }) 51 if err != nil { 52 t.Errorf("Artillery Test Failed: ResultErr: %v, Err: %v ", result.ErrorMessage, err) 53 } 54 // then 55 assert.NoError(t, err) 56 assert.Equal(t, *result.Status, testkube.PASSED_ExecutionStatus) 57 }) 58 }