testkube

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2022 License: MIT Imports: 6 Imported by: 32

Documentation

Overview

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • testkube *

  • Efficient testing of k8s applications mandates a k8s native approach to test mgmt/definition/execution - testkube provides a “quality control plane” that natively integrates testing activities into k8s development and operational workflows *

  • API version: 0.0.5

  • Contact: api@testkube.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • testkube *

  • Efficient testing of k8s applications mandates a k8s native approach to test mgmt/definition/execution - testkube provides a “quality control plane” that natively integrates testing activities into k8s development and operational workflows *

  • API version: 0.0.5

  • Contact: api@testkube.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • testkube *

  • Efficient testing of k8s applications mandates a k8s native approach to test mgmt/definition/execution - testkube provides a “quality control plane” that natively integrates testing activities into k8s development and operational workflows *

  • API version: 0.0.1

  • Contact: api@testkube.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

  • Testkube API *

  • Testkube provides a Kubernetes-native framework for test definition, execution and results *

  • API version: 1.0.0

  • Contact: testkube@kubeshop.io

  • Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)

content could be fetched as file or dir (many files, e.g. Cypress project) in executor

Index

Constants

This section is empty.

Variables

View Source
var (
	TestSuiteStepTypeExecuteTest = TestSuiteStepTypePtr(EXECUTE_TEST_TestSuiteStepType)
	TestSuiteStepTypeDelay       = TestSuiteStepTypePtr(DELAY_TestSuiteStepType)
)
View Source
var ErrTestContentTypeNotDir = fmt.Errorf("unsupported content type use one of: git-dir")
View Source
var ErrTestContentTypeNotFile = fmt.Errorf("unsupported content type use one of: file-uri, git-file, string")
View Source
var ExecutionStatusFailed = StatusPtr(FAILED_ExecutionStatus)
View Source
var ExecutionStatusPassed = StatusPtr(PASSED_ExecutionStatus)
View Source
var ExecutionStatusQueued = StatusPtr(QUEUED_ExecutionStatus)
View Source
var ExecutionStatusRunning = StatusPtr(RUNNING_ExecutionStatus)

Functions

func LabelsToString added in v0.10.2

func LabelsToString(labelsMap map[string]string) string

Types

type Artifact added in v0.6.4

type Artifact struct {
	// artifact file path
	Name string `json:"name,omitempty"`
	// file size in bytes
	Size int32 `json:"size,omitempty"`
}

API server artifact

type Artifacts added in v0.6.9

type Artifacts []Artifact

func (Artifacts) Table added in v0.6.9

func (artifacts Artifacts) Table() (header []string, output [][]string)

type AssertionResult

type AssertionResult struct {
	Name         string `json:"name,omitempty"`
	Status       string `json:"status,omitempty"`
	ErrorMessage string `json:"errorMessage,omitempty"`
}

execution result data

type Config added in v1.0.22

type Config struct {
	Id        string `json:"id"`
	ClusterId string `json:"clusterId"`
}

Testkube API config data structure

type Execution

type Execution struct {
	// execution id
	Id string `json:"id,omitempty"`
	// unique test name (CRD Test name)
	TestName string `json:"testName,omitempty"`
	// test namespace
	TestNamespace string `json:"testNamespace,omitempty"`
	// test type e.g. postman/collection
	TestType string `json:"testType,omitempty"`
	// execution name
	Name string `json:"name,omitempty"`
	// environment variables passed to executor
	Envs map[string]string `json:"envs,omitempty"`
	// additional arguments/flags passed to executor binary
	Args []string `json:"args,omitempty"`
	// execution params passed to executor converted to vars for usage in tests
	Params map[string]string `json:"params,omitempty"`
	// params file content - need to be in format for particular executor (e.g. postman envs file)
	ParamsFile string       `json:"paramsFile,omitempty"`
	Content    *TestContent `json:"content,omitempty"`
	// test start time
	StartTime time.Time `json:"startTime,omitempty"`
	// test end time
	EndTime time.Time `json:"endTime,omitempty"`
	// test duration
	Duration        string           `json:"duration,omitempty"`
	ExecutionResult *ExecutionResult `json:"executionResult,omitempty"`
	// execution labels
	Labels map[string]string `json:"labels,omitempty"`
}

Test execution

func NewExecution

func NewExecution(testNamespace, testName, executionName, testType string, content *TestContent, result ExecutionResult, params, labels map[string]string) Execution

func NewExecutionWithID

func NewExecutionWithID(id, testType, testName string) Execution

func NewFailedExecution added in v0.7.6

func NewFailedExecution(err error) Execution

func NewQueuedExecution added in v0.8.4

func NewQueuedExecution() *Execution

NewQueued execution for executions status used in test executions

func (*Execution) CalculateDuration added in v0.7.20

func (e *Execution) CalculateDuration() time.Duration

func (Execution) Err

func (e Execution) Err(err error) Execution

func (Execution) Errw added in v0.7.6

func (e Execution) Errw(msg string, err error) Execution

func (Execution) IsFailed added in v0.7.6

func (e Execution) IsFailed() bool

func (*Execution) Start added in v0.6.4

func (e *Execution) Start()

func (*Execution) Stop added in v0.6.4

func (e *Execution) Stop()

func (*Execution) WithContent

func (e *Execution) WithContent(content *TestContent) *Execution

func (*Execution) WithParams

func (e *Execution) WithParams(params map[string]string) *Execution

type ExecutionRequest

type ExecutionRequest struct {
	// test execution custom name
	Name string `json:"name,omitempty"`
	// test kubernetes namespace (\"testkube\" when not set)
	Namespace string `json:"namespace,omitempty"`
	// params file content - need to be in format for particular executor (e.g. postman envs file)
	ParamsFile string `json:"paramsFile,omitempty"`
	// execution params passed to executor
	Params map[string]string `json:"params,omitempty"`
	// additional executor binary arguments
	Args []string `json:"args,omitempty"`
	// execution params passed to executor from secrets
	SecretEnvs map[string]string `json:"secretEnvs,omitempty"`
	// whether to start execution sync or async
	Sync bool `json:"sync,omitempty"`
}

test execution request body

type ExecutionResult

type ExecutionResult struct {
	Status *ExecutionStatus `json:"status"`
	// RAW Test execution output, depends of reporter used in particular tool
	Output string `json:"output,omitempty"`
	// output type depends of reporter used in partucular tool
	OutputType string `json:"outputType,omitempty"`
	// error message when status is error, separate to output as output can be partial in case of error
	ErrorMessage string `json:"errorMessage,omitempty"`
	// execution steps (for collection of requests)
	Steps []ExecutionStepResult `json:"steps,omitempty"`
}

execution result returned from executor

func NewErrorExecutionResult added in v0.7.6

func NewErrorExecutionResult(err error) ExecutionResult

func NewPendingExecutionResult added in v0.6.4

func NewPendingExecutionResult() ExecutionResult

func (*ExecutionResult) Err

func (*ExecutionResult) Error

func (e *ExecutionResult) Error()

func (*ExecutionResult) InProgress added in v0.8.4

func (e *ExecutionResult) InProgress()

func (*ExecutionResult) IsCompleted

func (e *ExecutionResult) IsCompleted() bool

func (*ExecutionResult) IsFailed

func (e *ExecutionResult) IsFailed() bool

func (*ExecutionResult) IsPassed added in v0.11.7

func (e *ExecutionResult) IsPassed() bool

func (*ExecutionResult) IsQueued

func (e *ExecutionResult) IsQueued() bool

func (*ExecutionResult) IsRunning added in v0.11.7

func (e *ExecutionResult) IsRunning() bool

func (*ExecutionResult) Success

func (e *ExecutionResult) Success()

func (*ExecutionResult) WithErrors added in v0.8.8

func (e *ExecutionResult) WithErrors(errors ...error) ExecutionResult

Errs return error result if any of passed errors is not nil

type ExecutionResultStep

type ExecutionResultStep struct {
	// step name
	Name string `json:"name,omitempty"`
	// test execution start time
	StartTime time.Time `json:"startTime,omitempty"`
	// test execution start time
	EndTime time.Time `json:"endTime,omitempty"`
	// execution step status
	Status     string                        `json:"status,omitempty"`
	Assertions *ExecutionResultStepAssertion `json:"assertions,omitempty"`
}

execution result data

type ExecutionResultStepAssertion

type ExecutionResultStepAssertion struct {
	Name         string `json:"name,omitempty"`
	Status       string `json:"status,omitempty"`
	ErrorMessage string `json:"errorMessage,omitempty"`
}

execution result data

type ExecutionStatus

type ExecutionStatus string
const (
	QUEUED_ExecutionStatus  ExecutionStatus = "queued"
	RUNNING_ExecutionStatus ExecutionStatus = "running"
	PASSED_ExecutionStatus  ExecutionStatus = "passed"
	FAILED_ExecutionStatus  ExecutionStatus = "failed"
)

List of ExecutionStatus

func StatusPtr

func StatusPtr(status ExecutionStatus) *ExecutionStatus

type ExecutionStatuses added in v1.0.5

type ExecutionStatuses []ExecutionStatus

ExecutionStatuses is an array of ExecutionStatus

func ParseExecutionStatusList added in v1.0.5

func ParseExecutionStatusList(source, separator string) (statusList ExecutionStatuses, err error)

ParseExecutionStatusList parse a list of execution statuses from string

func (ExecutionStatuses) ToMap added in v1.0.5

func (statuses ExecutionStatuses) ToMap() map[ExecutionStatus]struct{}

ToMap generates map from ExecutionStatuses

type ExecutionStepResult

type ExecutionStepResult struct {
	// step name
	Name     string `json:"name"`
	Duration string `json:"duration,omitempty"`
	// execution step status
	Status           string            `json:"status"`
	AssertionResults []AssertionResult `json:"assertionResults,omitempty"`
}

execution result data

type ExecutionSummary

type ExecutionSummary struct {
	// execution id
	Id string `json:"id"`
	// execution name
	Name string `json:"name"`
	// name of the test
	TestName string `json:"testName"`
	// name of the test
	TestNamespace string `json:"testNamespace,omitempty"`
	// the type of test for this execution
	TestType string           `json:"testType"`
	Status   *ExecutionStatus `json:"status"`
	// test execution start time
	StartTime time.Time `json:"startTime,omitempty"`
	// test execution end time
	EndTime time.Time `json:"endTime,omitempty"`
	// calculated test duration
	Duration string `json:"duration,omitempty"`
	// execution labels
	Labels map[string]string `json:"labels,omitempty"`
}

execution summary

type Executions

type Executions []Execution

func (Executions) Table

func (executions Executions) Table() (header []string, output [][]string)

type ExecutionsResult

type ExecutionsResult struct {
	Totals   *ExecutionsTotals  `json:"totals"`
	Filtered *ExecutionsTotals  `json:"filtered,omitempty"`
	Results  []ExecutionSummary `json:"results"`
}

the result for a page of executions

func (ExecutionsResult) Table

func (result ExecutionsResult) Table() (header []string, output [][]string)

type ExecutionsTotals

type ExecutionsTotals struct {
	// the total number of executions available
	Results int32 `json:"results"`
	// the total number of passed executions available
	Passed int32 `json:"passed"`
	// the total number of failed executions available
	Failed int32 `json:"failed"`
	// the total number of queued executions available
	Queued int32 `json:"queued"`
	// the total number of running executions available
	Running int32 `json:"running"`
}

various execution counters

type Executor added in v0.6.4

type Executor struct {
	// ExecutorType one of \"rest\" for rest openapi based executors or \"job\" which will be default runners for testkube soon
	ExecutorType string `json:"executorType,omitempty"`
	// Image for kube-job
	Image string `json:"image,omitempty"`
	// Types defines what types can be handled by executor e.g. \"postman/collection\", \":curl/command\" etc
	Types []string `json:"types,omitempty"`
	// URI for rest based executors
	Uri string `json:"uri,omitempty"`
	// Job template to launch executor
	JobTemplate string `json:"jobTemplate,omitempty"`
	// executor labels
	Labels map[string]string `json:"labels,omitempty"`
}

CRD based executor data

type ExecutorCreateRequest added in v0.6.4

type ExecutorCreateRequest struct {
	// object kubernetes namespace
	Namespace string `json:"namespace"`
	// object name
	Name string `json:"name"`
	// ExecutorType one of \"rest\" for rest openapi based executors or \"job\" which will be default runners for testkube soon
	ExecutorType string `json:"executorType,omitempty"`
	// Image for kube-job
	Image string `json:"image,omitempty"`
	// Types defines what types can be handled by executor e.g. \"postman/collection\", \":curl/command\" etc
	Types []string `json:"types"`
	// URI for rest based executors
	Uri string `json:"uri,omitempty"`
	// Job template to launch executor
	JobTemplate string `json:"jobTemplate,omitempty"`
	// executor labels
	Labels map[string]string `json:"labels,omitempty"`
}

executor create request body

type ExecutorDetails added in v0.6.4

type ExecutorDetails struct {
	// Executor name
	Name       string            `json:"name,omitempty"`
	Executor   *Executor         `json:"executor,omitempty"`
	Executions *ExecutionsResult `json:"executions,omitempty"`
}

Executor details with Executor data and additional information like list of executions

type ExecutorOutput added in v0.6.9

type ExecutorOutput struct {
	// One of possible output types
	Type_ string `json:"type"`
	// Message/event data passed from executor (like log lines etc)
	Content string           `json:"content,omitempty"`
	Result  *ExecutionResult `json:"result,omitempty"`
}

CRD based executor data

type ExecutorsDetails added in v0.6.4

type ExecutorsDetails []ExecutorDetails

func (ExecutorsDetails) Table added in v0.6.4

func (list ExecutorsDetails) Table() (header []string, output [][]string)

type KeyValue

type KeyValue struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

environment variable

type ObjectRef added in v0.7.5

type ObjectRef struct {
	// object kubernetes namespace
	Namespace string `json:"namespace,omitempty"`
	// object name
	Name string `json:"name"`
}

type Problem

type Problem struct {
	// Type contains a URI that identifies the problem type. This URI will,
	Type_ string `json:"type,omitempty"`
	// Title is a short, human-readable summary of the problem type. This title SHOULD NOT change from occurrence to occurrence of the problem, except forpurposes of localization.
	Title string `json:"title,omitempty"`
	// HTTP status code for this occurrence of the problem.
	Status int32 `json:"status,omitempty"`
	// A human-readable explanation specific to this occurrence of the problem.
	Detail string `json:"detail,omitempty"`
	// A URI that identifies the specific occurrence of the problem. This URI may or may not yield further information if de-referenced.
	Instance string `json:"instance,omitempty"`
}

problem response in case of error

type Repository

type Repository struct {
	// VCS repository type
	Type_ string `json:"type"`
	// uri of content file or git directory
	Uri string `json:"uri"`
	// branch/tag name for checkout
	Branch string `json:"branch"`
	// if needed we can checkout particular path (dir or file) in case of BIG/mono repositories
	Path string `json:"path,omitempty"`
	// git auth username for private repositories
	Username string `json:"username,omitempty"`
	// git auth token for private repositories
	Token string `json:"token,omitempty"`
}

repository representation for tests in git repositories

func NewAuthGitRepository added in v0.8.8

func NewAuthGitRepository(uri, branch, user, token string) *Repository

func NewGitRepository added in v0.8.8

func NewGitRepository(uri, branch string) *Repository

func (*Repository) WithPath added in v0.8.8

func (r *Repository) WithPath(path string) *Repository

type ServerInfo added in v0.6.2

type ServerInfo struct {
	// build version
	Version string `json:"version"`
	// build commit
	Commit string `json:"commit,omitempty"`
}

Server information with build version, build commit etc.

type Status added in v0.7.6

type Status string
const (
	QUEUED_Status  Status = "queued"
	PENDING_Status Status = "pending"
	SUCCESS_Status Status = "success"
	ERROR__Status  Status = "error"
)

List of Status

type Test added in v0.7.5

type Test struct {
	// test name
	Name string `json:"name,omitempty"`
	// test namespace
	Namespace string `json:"namespace,omitempty"`
	// test type
	Type_   string       `json:"type,omitempty"`
	Content *TestContent `json:"content,omitempty"`
	Created time.Time    `json:"created,omitempty"`
	// test labels
	Labels map[string]string `json:"labels,omitempty"`
	// schedule to run test
	Schedule string `json:"schedule,omitempty"`
	// default test params can be overriden by execution params or by test suite params
	Params map[string]string `json:"params,omitempty"`
}

func (Test) GetObjectRef added in v0.8.4

func (t Test) GetObjectRef() *ObjectRef

type TestContent added in v0.9.5

type TestContent struct {
	// test type
	Type_      string      `json:"type,omitempty"`
	Repository *Repository `json:"repository,omitempty"`
	// test content data as string
	Data string `json:"data,omitempty"`
	// test content
	Uri string `json:"uri,omitempty"`
}

func NewStringTestContent added in v0.9.5

func NewStringTestContent(str string) *TestContent

func (*TestContent) IsDir added in v0.9.5

func (c *TestContent) IsDir() bool

IsDir - for content fetched as dir

func (*TestContent) IsFile added in v0.9.5

func (c *TestContent) IsFile() bool

IsFile - for content fetched as file

type TestContentType added in v0.9.5

type TestContentType string
const (
	TestContentTypeString  TestContentType = "string"
	TestContentTypeFileURI TestContentType = "file-uri"
	TestContentTypeGitFile TestContentType = "git-file"
	TestContentTypeGitDir  TestContentType = "git-dir"
)

type TestSuite added in v0.9.5

type TestSuite struct {
	Name        string `json:"name"`
	Namespace   string `json:"namespace,omitempty"`
	Description string `json:"description,omitempty"`
	// Run this step before whole suite
	Before []TestSuiteStep `json:"before,omitempty"`
	// Steps to run
	Steps []TestSuiteStep `json:"steps"`
	// Run this step after whole suite
	After []TestSuiteStep `json:"after,omitempty"`
	// test suite labels
	Labels map[string]string `json:"labels,omitempty"`
	// schedule to run test suite
	Schedule string `json:"schedule,omitempty"`
	Repeats  int32  `json:"repeats,omitempty"`
	// default test suite params can be overriden by execution params
	Params map[string]string `json:"params,omitempty"`
}

func (TestSuite) GetObjectRef added in v0.9.5

func (t TestSuite) GetObjectRef() *ObjectRef

type TestSuiteExecution added in v0.9.5

type TestSuiteExecution struct {
	// execution id
	Id string `json:"id"`
	// execution name
	Name      string                    `json:"name"`
	TestSuite *ObjectRef                `json:"testSuite,omitempty"`
	Status    *TestSuiteExecutionStatus `json:"status,omitempty"`
	// environment variables passed to executor
	Envs map[string]string `json:"envs,omitempty"`
	// execution params passed to executor converted to vars for usage in tests
	Params map[string]string `json:"params,omitempty"`
	// test start time
	StartTime time.Time `json:"startTime,omitempty"`
	// test end time
	EndTime time.Time `json:"endTime,omitempty"`
	// test duration
	Duration string `json:"duration,omitempty"`
	// steps execution restults
	StepResults []TestSuiteStepExecutionResult `json:"stepResults,omitempty"`
	// test suite execution labels
	Labels map[string]string `json:"labels,omitempty"`
}

Test suite executions data

func NewQueuedTestSuiteExecution added in v1.0.3

func NewQueuedTestSuiteExecution(name, namespace string) TestSuiteExecution

func NewStartedTestSuiteExecution added in v0.9.5

func NewStartedTestSuiteExecution(testSuite TestSuite, request TestSuiteExecutionRequest) TestSuiteExecution

func (*TestSuiteExecution) CalculateDuration added in v0.9.5

func (e *TestSuiteExecution) CalculateDuration() time.Duration

func (TestSuiteExecution) IsCompleted added in v0.9.5

func (e TestSuiteExecution) IsCompleted() bool

func (*TestSuiteExecution) IsFailed added in v0.11.4

func (e *TestSuiteExecution) IsFailed() bool

func (*TestSuiteExecution) IsPassed added in v0.11.7

func (e *TestSuiteExecution) IsPassed() bool

func (*TestSuiteExecution) IsQueued added in v0.11.4

func (e *TestSuiteExecution) IsQueued() bool

func (*TestSuiteExecution) IsRunning added in v0.11.7

func (e *TestSuiteExecution) IsRunning() bool

func (TestSuiteExecution) Table added in v0.9.5

func (e TestSuiteExecution) Table() (header []string, output [][]string)

type TestSuiteExecutionRequest added in v0.9.5

type TestSuiteExecutionRequest struct {
	// test execution custom name
	Name string `json:"name,omitempty"`
	// test kubernetes namespace (\"testkube\" when not set)
	Namespace string `json:"namespace,omitempty"`
	// execution params passed to executor
	Params map[string]string `json:"params,omitempty"`
}

test suite execution request body

type TestSuiteExecutionStatus added in v0.9.5

type TestSuiteExecutionStatus string
const (
	QUEUED_TestSuiteExecutionStatus  TestSuiteExecutionStatus = "queued"
	RUNNING_TestSuiteExecutionStatus TestSuiteExecutionStatus = "running"
	PASSED_TestSuiteExecutionStatus  TestSuiteExecutionStatus = "passed"
	FAILED_TestSuiteExecutionStatus  TestSuiteExecutionStatus = "failed"
)

List of TestSuiteExecutionStatus

func TestSuiteExecutionStatusPtr added in v0.9.5

func TestSuiteExecutionStatusPtr(status TestSuiteExecutionStatus) *TestSuiteExecutionStatus

type TestSuiteExecutionStatuses added in v1.0.5

type TestSuiteExecutionStatuses []TestSuiteExecutionStatus

TestSuiteExecutionStatuses is an array of TestSuiteExecutionStatus

func ParseTestSuiteExecutionStatusList added in v1.0.5

func ParseTestSuiteExecutionStatusList(source, separator string) (statusList TestSuiteExecutionStatuses, err error)

ParseTestSuiteExecutionStatusList parse a list of test suite execution statuses from string

func (TestSuiteExecutionStatuses) ToMap added in v1.0.5

func (statuses TestSuiteExecutionStatuses) ToMap() map[TestSuiteExecutionStatus]struct{}

ToMap generates map from TestSuiteExecutionStatuses

type TestSuiteExecutionSummary added in v0.9.5

type TestSuiteExecutionSummary struct {
	// execution id
	Id string `json:"id"`
	// execution name
	Name string `json:"name"`
	// name of the test suite
	TestSuiteName string                    `json:"testSuiteName"`
	Status        *TestSuiteExecutionStatus `json:"status"`
	// test suite execution start time
	StartTime time.Time `json:"startTime,omitempty"`
	// test suite execution end time
	EndTime time.Time `json:"endTime,omitempty"`
	// test suite execution duration
	Duration  string                          `json:"duration,omitempty"`
	Execution []TestSuiteStepExecutionSummary `json:"execution,omitempty"`
	// test suite execution labels
	Labels map[string]string `json:"labels,omitempty"`
}

test execution summary

type TestSuiteExecutionsResult added in v0.9.5

type TestSuiteExecutionsResult struct {
	Totals   *ExecutionsTotals           `json:"totals"`
	Filtered *ExecutionsTotals           `json:"filtered,omitempty"`
	Results  []TestSuiteExecutionSummary `json:"results"`
}

the result for a page of executions

func (TestSuiteExecutionsResult) Table added in v0.9.5

func (r TestSuiteExecutionsResult) Table() (headers []string, output [][]string)

type TestSuiteStep added in v0.9.5

type TestSuiteStep struct {
	StopTestOnFailure bool                      `json:"stopTestOnFailure"`
	Execute           *TestSuiteStepExecuteTest `json:"execute,omitempty"`
	Delay             *TestSuiteStepDelay       `json:"delay,omitempty"`
}

func (TestSuiteStep) FullName added in v0.9.5

func (s TestSuiteStep) FullName() string

func (TestSuiteStep) Type added in v0.9.5

func (s TestSuiteStep) Type() *TestSuiteStepType

type TestSuiteStepDelay added in v0.9.5

type TestSuiteStepDelay struct {
	// delay duration in milliseconds
	Duration int32 `json:"duration"`
}

func (TestSuiteStepDelay) FullName added in v0.9.5

func (s TestSuiteStepDelay) FullName() string

type TestSuiteStepExecuteTest added in v0.9.5

type TestSuiteStepExecuteTest struct {
	// object kubernetes namespace
	Namespace string `json:"namespace,omitempty"`
	// object name
	Name string `json:"name"`
}

func (TestSuiteStepExecuteTest) FullName added in v0.9.5

func (s TestSuiteStepExecuteTest) FullName() string

func (TestSuiteStepExecuteTest) GetObjectRef added in v0.9.5

func (s TestSuiteStepExecuteTest) GetObjectRef() *ObjectRef

type TestSuiteStepExecutionResult added in v0.9.5

type TestSuiteStepExecutionResult struct {
	Step      *TestSuiteStep `json:"step,omitempty"`
	Test      *ObjectRef     `json:"test,omitempty"`
	Execution *Execution     `json:"execution,omitempty"`
}

execution result returned from executor

func NewTestStepQueuedResult added in v0.8.4

func NewTestStepQueuedResult(step *TestSuiteStep) (result TestSuiteStepExecutionResult)

func (*TestSuiteStepExecutionResult) Err added in v0.9.5

func (*TestSuiteStepExecutionResult) IsFailed added in v0.9.5

func (r *TestSuiteStepExecutionResult) IsFailed() bool

type TestSuiteStepExecutionSummary added in v0.9.5

type TestSuiteStepExecutionSummary struct {
	Id string `json:"id"`
	// execution name
	Name string `json:"name"`
	// test name
	TestName string             `json:"testName,omitempty"`
	Status   *ExecutionStatus   `json:"status"`
	Type_    *TestSuiteStepType `json:"type,omitempty"`
}

test suite execution summary

type TestSuiteStepType added in v0.9.5

type TestSuiteStepType string
const (
	EXECUTE_TEST_TestSuiteStepType TestSuiteStepType = "executeTest"
	DELAY_TestSuiteStepType        TestSuiteStepType = "delay"
)

List of TestSuiteStepType

func TestSuiteStepTypePtr added in v0.9.5

func TestSuiteStepTypePtr(stepType TestSuiteStepType) *TestSuiteStepType

type TestSuiteUpsertRequest added in v0.9.5

type TestSuiteUpsertRequest struct {
	// object kubernetes namespace
	Namespace string `json:"namespace"`
	// object name
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	// Run this step before whole suite
	Before []TestSuiteStep `json:"before,omitempty"`
	// Steps to run
	Steps []TestSuiteStep `json:"steps"`
	// Run this step after whole suite
	After []TestSuiteStep `json:"after,omitempty"`
	// test suite labels
	Labels map[string]string `json:"labels,omitempty"`
	// schedule to run test suite
	Schedule string `json:"schedule,omitempty"`
	Repeats  int32  `json:"repeats,omitempty"`
	// default test suite params can be overriden by execution params
	Params map[string]string `json:"params,omitempty"`
}

test create request body

type TestSuiteWithExecution added in v0.11.6

type TestSuiteWithExecution struct {
	TestSuite       *TestSuite          `json:"testSuite"`
	LatestExecution *TestSuiteExecution `json:"latestExecution,omitempty"`
}

Test suite with latest execution result

func (TestSuiteWithExecution) GetObjectRef added in v0.11.8

func (t TestSuiteWithExecution) GetObjectRef() *ObjectRef

type TestSuiteWithExecutions added in v0.11.8

type TestSuiteWithExecutions []TestSuiteWithExecution

func (TestSuiteWithExecutions) Table added in v0.11.8

func (testSutes TestSuiteWithExecutions) Table() (header []string, output [][]string)

type TestSuites added in v0.9.5

type TestSuites []TestSuite

func (TestSuites) Table added in v0.9.5

func (tests TestSuites) Table() (header []string, output [][]string)

type TestUpsertRequest added in v0.7.6

type TestUpsertRequest struct {
	// test name
	Name string `json:"name,omitempty"`
	// test namespace
	Namespace string `json:"namespace,omitempty"`
	// test type
	Type_   string       `json:"type,omitempty"`
	Content *TestContent `json:"content,omitempty"`
	Created time.Time    `json:"created,omitempty"`
	// test labels
	Labels map[string]string `json:"labels,omitempty"`
	// schedule to run test
	Schedule string `json:"schedule,omitempty"`
	// default test params can be overriden by execution params or by test suite params
	Params map[string]string `json:"params,omitempty"`
}

test create request body

type TestWithExecution added in v0.11.6

type TestWithExecution struct {
	Test            *Test      `json:"test"`
	LatestExecution *Execution `json:"latestExecution,omitempty"`
}

Test with latest Execution result

func (TestWithExecution) GetObjectRef added in v0.11.8

func (t TestWithExecution) GetObjectRef() *ObjectRef

type TestWithExecutions added in v0.11.8

type TestWithExecutions []TestWithExecution

func (TestWithExecutions) Table added in v0.11.8

func (t TestWithExecutions) Table() (header []string, output [][]string)

type Tests added in v0.7.6

type Tests []Test

func (Tests) Table added in v0.7.6

func (t Tests) Table() (header []string, output [][]string)

type Webhook added in v0.9.18

type Webhook struct {
	Name      string             `json:"name,omitempty"`
	Namespace string             `json:"namespace,omitempty"`
	Uri       string             `json:"uri"`
	Events    []WebhookEventType `json:"events,omitempty"`
	// webhook labels
	Labels map[string]string `json:"labels,omitempty"`
}

CRD based webhook data

type WebhookCreateRequest added in v0.9.18

type WebhookCreateRequest struct {
	Name      string             `json:"name,omitempty"`
	Namespace string             `json:"namespace,omitempty"`
	Uri       string             `json:"uri"`
	Events    []WebhookEventType `json:"events,omitempty"`
	// executor labels
	Labels map[string]string `json:"labels,omitempty"`
}

executor create request body

type WebhookEvent added in v0.9.18

type WebhookEvent struct {
	Uri       string            `json:"uri,omitempty"`
	Type_     *WebhookEventType `json:"type"`
	Execution *Execution        `json:"execution,omitempty"`
}

CRD based executor data

type WebhookEventType added in v0.9.18

type WebhookEventType string
const (
	START_TEST_WebhookEventType WebhookEventType = "start-test"
	END_TEST_WebhookEventType   WebhookEventType = "end-test"
)

List of WebhookEventType

func WebhookTypePtr added in v0.9.18

func WebhookTypePtr(t WebhookEventType) *WebhookEventType

func (*WebhookEventType) String added in v0.9.18

func (t *WebhookEventType) String() string

type Webhooks added in v0.9.18

type Webhooks []Webhook

func (Webhooks) Table added in v0.9.18

func (list Webhooks) Table() (header []string, output [][]string)

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL