github.com/kubeshop/testkube@v1.17.23/contrib/executor/template/pkg/runner/runner_test.go (about) 1 package runner 2 3 import ( 4 "context" 5 "os" 6 "path/filepath" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 11 "github.com/kubeshop/testkube/pkg/api/v1/testkube" 12 "github.com/kubeshop/testkube/pkg/envs" 13 "github.com/kubeshop/testkube/pkg/utils/test" 14 ) 15 16 func TestRun(t *testing.T) { 17 test.IntegrationTest(t) 18 t.Skipf("Skipping integration test %s until it is installed in CI", t.Name()) 19 20 ctx := context.Background() 21 22 t.Run("runner should run test based on execution data", func(t *testing.T) { 23 t.Parallel() 24 25 tempDir, err := os.MkdirTemp("", "*") 26 assert.NoErrorf(t, err, "failed to create temp dir: %v", err) 27 defer os.RemoveAll(tempDir) 28 29 err = os.WriteFile(filepath.Join(tempDir, "test-content"), []byte("hello I'm test content"), 0644) 30 if err != nil { 31 assert.FailNow(t, "Unable to write template runner test content file") 32 } 33 34 // given 35 runner := NewRunner(envs.Params{DataDir: tempDir}) 36 execution := testkube.NewQueuedExecution() 37 execution.Content = testkube.NewStringTestContent("") 38 39 // when 40 result, err := runner.Run(ctx, *execution) 41 42 // then 43 assert.NoError(t, err) 44 assert.Equal(t, result.Status, testkube.ExecutionStatusPassed) 45 }) 46 47 }