testutil

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var WorkspaceTemplateDiffOpts = cmp.Options{
	cmpopts.SortSlices(func(a, b dw.Component) bool {
		return strings.Compare(a.Key(), b.Key()) > 0
	}),
	cmpopts.SortSlices(func(a, b string) bool {
		return strings.Compare(a, b) > 0
	}),
	cmpopts.SortSlices(func(a, b dw.EnvVar) bool {
		return strings.Compare(a.Name, b.Name) > 0
	}),
	cmpopts.SortSlices(func(a, b dw.Endpoint) bool {
		return strings.Compare(a.Name, b.Name) > 0
	}),
	cmpopts.SortSlices(func(a, b dw.VolumeMount) bool {
		return strings.Compare(a.Name, b.Name) > 0
	}),
	cmpopts.SortSlices(func(a, b dw.Command) bool {
		return strings.Compare(a.Key(), b.Key()) > 0
	}),

	cmpopts.IgnoreFields(dw.DevWorkspaceEvents{}, "PostStart", "PreStop", "PostStop"),
}

Functions

This section is empty.

Types

type FakeHTTPGetter

type FakeHTTPGetter struct {
	DevfileResources      map[string]dw.Devfile
	DevWorkspaceResources map[string]dw.DevWorkspaceTemplate
	Errors                map[string]TestPluginError
}

func (*FakeHTTPGetter) Get

func (reg *FakeHTTPGetter) Get(location string) (*http.Response, error)

type FakeK8sClient

type FakeK8sClient struct {
	client.Client         // To satisfy interface; override all used methods
	DevWorkspaceResources map[string]dw.DevWorkspaceTemplate
	Errors                map[string]TestPluginError
}

func (*FakeK8sClient) Get

func (client *FakeK8sClient) Get(_ context.Context, namespacedName client.ObjectKey, obj client.Object, opts ...client.GetOption) error

type TestCase

type TestCase struct {
	Name     string     `json:"name"`
	Input    TestInput  `json:"input"`
	Output   TestOutput `json:"output"`
	TestPath string
}

func LoadAllTestsOrPanic

func LoadAllTestsOrPanic(t *testing.T, fromDir string) []TestCase

func LoadTestCaseOrPanic

func LoadTestCaseOrPanic(t *testing.T, testFilepath string) TestCase

type TestInput

type TestInput struct {
	// DevWorkspace is the .spec.template field of a DevWorkspace
	DevWorkspace *dw.DevWorkspaceTemplateSpec `json:"devworkspace,omitempty"`
	// Contributions is the .spec.containerContributions field of a DevWorkspace
	Contributions []dw.ComponentContribution `json:"contributions,omitempty"`
	// DevWorkspaceResources is a map of string keys to devworkspace templates
	DevWorkspaceResources map[string]dw.DevWorkspaceTemplate `json:"devworkspaceResources,omitempty"`
	// DevfileResources is a map of string keys to devfile resources
	DevfileResources map[string]dw.Devfile `json:"devfileResources,omitempty"`
	// Errors is a map of plugin name to the error that should be returned when attempting to retrieve it.
	Errors map[string]TestPluginError `json:"errors,omitempty"`
}

type TestOutput

type TestOutput struct {
	DevWorkspace *dw.DevWorkspaceTemplateSpec `json:"devworkspace,omitempty"`
	ErrRegexp    *string                      `json:"errRegexp,omitempty"`
}

type TestPluginError

type TestPluginError struct {
	// IsNotFound marks this error as a kubernetes NotFoundError
	IsNotFound bool `json:"isNotFound"`
	// StatusCode defines the HTTP response code (if relevant)
	StatusCode int `json:"statusCode"`
	// Message is the error message returned
	Message string `json:"message"`
}

Jump to

Keyboard shortcuts

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