Documentation ¶
Index ¶
- Constants
- type ExecuteOptions
- type Executor
- type HTTPClient
- type JobExecutor
- func (c JobExecutor) Abort(id string) error
- func (c JobExecutor) Execute(execution testkube.Execution, options ExecuteOptions) (result testkube.ExecutionResult, err error)
- func (c JobExecutor) ExecuteSync(execution testkube.Execution, options ExecuteOptions) (result testkube.ExecutionResult, err error)
- func (c JobExecutor) Get(id string) (execution testkube.ExecutionResult, err error)
- func (c JobExecutor) Logs(id string) (out chan output.Output, err error)
- func (c JobExecutor) Watch(id string) (events chan ResultEvent)
- type ResultEvent
Constants ¶
const (
WatchInterval = time.Second
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExecuteOptions ¶
type ExecuteOptions struct { ID string TestName string Namespace string TestSpec testsv2.TestSpec ExecutorName string ExecutorSpec executorv1.ExecutorSpec Request testkube.ExecutionRequest Sync bool HasSecrets bool }
type Executor ¶ added in v0.6.4
type Executor interface { // Watch returns ExecuteEvents stream Watch(id string) (events chan ResultEvent) // Get synnchronous request to executor to get testkubeExecution Get(id string) (execution testkube.ExecutionResult, err error) // Execute starts new external test execution, reads data and returns ID // execution is started asynchronously client can check later for results Execute(execution testkube.Execution, options ExecuteOptions) (result testkube.ExecutionResult, err error) // Execute starts new external test execution, reads data and returns ID // execution is started synchronously client is blocked ExecuteSync(execution testkube.Execution, options ExecuteOptions) (result testkube.ExecutionResult, err error) // Abort aborts pending execution, do nothing when there is no pending execution Abort(id string) (err error) Logs(id string) (logs chan output.Output, err error) }
Executor abstraction to implement new executors
type HTTPClient ¶
type HTTPClient interface { Post(url, contentType string, body io.Reader) (resp *http.Response, err error) Get(url string) (resp *http.Response, err error) }
HTTPClient interface for getting REST based requests
type JobExecutor ¶ added in v0.6.4
type JobExecutor struct { Client *jobs.JobClient Repository result.Repository Log *zap.SugaredLogger }
JobExecutor is container for managing job executor dependencies
func NewJobExecutor ¶ added in v0.6.4
func NewJobExecutor(repo result.Repository, namespace, initImage, jobTemplate string) (client JobExecutor, err error)
NewJobExecutor creates new job executor
func (JobExecutor) Abort ¶ added in v0.6.4
func (c JobExecutor) Abort(id string) error
Abort aborts job by execution ID
func (JobExecutor) Execute ¶ added in v0.6.4
func (c JobExecutor) Execute(execution testkube.Execution, options ExecuteOptions) (result testkube.ExecutionResult, err error)
Execute starts new external test execution, reads data and returns ID Execution is started asynchronously client can check later for results
func (JobExecutor) ExecuteSync ¶ added in v0.7.6
func (c JobExecutor) ExecuteSync(execution testkube.Execution, options ExecuteOptions) (result testkube.ExecutionResult, err error)
Execute starts new external test execution, reads data and returns ID Execution is started synchronously client will be blocked
func (JobExecutor) Get ¶ added in v0.6.4
func (c JobExecutor) Get(id string) (execution testkube.ExecutionResult, err error)
Get returns execution result by execution id
func (JobExecutor) Logs ¶ added in v0.6.4
func (c JobExecutor) Logs(id string) (out chan output.Output, err error)
Logs returns job logs stream channel using kubernetes api
func (JobExecutor) Watch ¶ added in v0.6.4
func (c JobExecutor) Watch(id string) (events chan ResultEvent)
Watch will get valid execution after async Execute, execution will be returned when success or error occurs Worker should set valid state for success or error after test completion TODO add timeout
type ResultEvent ¶
type ResultEvent struct { Result testkube.ExecutionResult Error error }
ResultEvent event passed when watching execution changes