e2e

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2025 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TODO: accept a flag?
	PorchTestConfigFile = "porch-test-config.yaml"

	TestGitServerImage = "test-git-server"
)

Variables

This section is empty.

Functions

func DebugFormat

func DebugFormat(obj client.Object) string

func InferGitServerImage added in v1.3.1

func InferGitServerImage(porchImage string) string

func RunInParallel added in v1.4.0

func RunInParallel(functions ...func() any) []any

Types

type ErrorHandler

type ErrorHandler func(format string, args ...interface{})

type GitConfig

type GitConfig struct {
	Repo      string   `json:"repo"`
	Branch    string   `json:"branch"`
	Directory string   `json:"directory"`
	Username  string   `json:"username"`
	Password  Password `json:"password"`
}

type MutatorOption added in v1.4.0

type MutatorOption func(*kptfilev1.Function)

func WithConfigPath added in v1.4.0

func WithConfigPath(configPath string) MutatorOption

func WithConfigmap added in v1.4.0

func WithConfigmap(configMap map[string]string) MutatorOption

type OciConfig

type OciConfig struct {
	Registry string `json:"registry"`
}

type Password

type Password string

func (Password) String

func (p Password) String() string

type RepositoryOption added in v1.3.1

type RepositoryOption func(*configapi.Repository)

func InNamespace added in v1.3.1

func InNamespace(ns string) RepositoryOption

func WithDeployment added in v1.3.1

func WithDeployment() RepositoryOption

type RepositoryOptions added in v1.4.0

type RepositoryOptions struct {
	RepOpts RepositoryOption
	SecOpts SecretOption
}

type SecretOption added in v1.4.0

type SecretOption func(*corev1.Secret)

func SecretInNamespace added in v1.4.0

func SecretInNamespace(ns string) SecretOption

type TestSuite

type TestSuite struct {
	suite.Suite

	Kubeconfig *rest.Config
	Client     client.Client

	// Strongly-typed client handy for reading e.g. pod logs
	KubeClient kubernetes.Interface

	Clientset porchclient.Interface

	Namespace         string // K8s namespace for this test run
	TestRunnerIsLocal bool   // Tests running against local dev porch
	// contains filtered or unexported fields
}

func (*TestSuite) AddMutator added in v1.4.0

func (t *TestSuite) AddMutator(resources *porchapi.PackageRevisionResources, image string, opts ...MutatorOption)

addMutator adds a mutator to the Kptfile pipeline of the resources (in-place)

func (*TestSuite) AddResourceToPackage added in v1.4.0

func (t *TestSuite) AddResourceToPackage(resources *porchapi.PackageRevisionResources, filePath string, name string)

func (*TestSuite) Cleanup added in v1.4.0

func (t *TestSuite) Cleanup(f func())

func (*TestSuite) CompareGoldenFileYAML

func (t *TestSuite) CompareGoldenFileYAML(goldenPath string, gotContents string) string

func (*TestSuite) CreateE

func (t *TestSuite) CreateE(obj client.Object, opts ...client.CreateOption)

func (*TestSuite) CreateF

func (t *TestSuite) CreateF(obj client.Object, opts ...client.CreateOption)

func (*TestSuite) CreateGcpPackageRevisionSecret added in v1.4.0

func (t *TestSuite) CreateGcpPackageRevisionSecret(name string, opts ...RepositoryOptions) string

func (*TestSuite) CreateGitRepo

func (t *TestSuite) CreateGitRepo() GitConfig

func (*TestSuite) CreateOrUpdateF added in v1.4.0

func (t *TestSuite) CreateOrUpdateF(obj client.Object, opts ...client.CreateOption)

func (*TestSuite) CreateOrUpdateSecret added in v1.4.0

func (t *TestSuite) CreateOrUpdateSecret(name string, username string, password Password, opts ...RepositoryOptions) string

func (*TestSuite) CreatePackageDraftF added in v1.3.1

func (t *TestSuite) CreatePackageDraftF(repository, packageName, workspace string) *porchapi.PackageRevision

Creates an empty package draft by initializing an empty package

func (*TestSuite) CreatePackageSkeleton added in v1.4.0

func (t *TestSuite) CreatePackageSkeleton(repoName, packageName, workspace string) *porchapi.PackageRevision

func (*TestSuite) DeleteE

func (t *TestSuite) DeleteE(obj client.Object, opts ...client.DeleteOption)

func (*TestSuite) DeleteEH added in v1.4.0

func (t *TestSuite) DeleteEH(obj client.Object, eh ErrorHandler, opts ...client.DeleteOption)

DeleteEH calls delete with a custom ErrorHandler

func (*TestSuite) DeleteF

func (t *TestSuite) DeleteF(obj client.Object, opts ...client.DeleteOption)

func (*TestSuite) DeleteL

func (t *TestSuite) DeleteL(obj client.Object, opts ...client.DeleteOption)

func (*TestSuite) DumpLogsForDeploymentE

func (t *TestSuite) DumpLogsForDeploymentE(deploymentKey client.ObjectKey)

func (*TestSuite) Error

func (t *TestSuite) Error(args ...any)

func (*TestSuite) Errorf

func (t *TestSuite) Errorf(format string, args ...any)

func (*TestSuite) Fatal

func (t *TestSuite) Fatal(args ...any)

func (*TestSuite) Fatalf

func (t *TestSuite) Fatalf(format string, args ...any)

func (*TestSuite) FindAndDecodeF

func (t *TestSuite) FindAndDecodeF(resources *porchapi.PackageRevisionResources, name string, value interface{})

func (*TestSuite) GetContext added in v1.4.0

func (t *TestSuite) GetContext() context.Context

func (*TestSuite) GetE

func (t *TestSuite) GetE(key client.ObjectKey, obj client.Object)

func (*TestSuite) GetF

func (t *TestSuite) GetF(key client.ObjectKey, obj client.Object)

func (*TestSuite) GetPackageRevision added in v1.4.0

func (t *TestSuite) GetPackageRevision(repo string, pkgName string, revision int) *porchapi.PackageRevision

func (*TestSuite) Initialize

func (t *TestSuite) Initialize()

func (*TestSuite) IsPorchServerInCluster

func (t *TestSuite) IsPorchServerInCluster() bool

func (*TestSuite) IsTestRunnerInCluster

func (t *TestSuite) IsTestRunnerInCluster() bool

func (*TestSuite) ListE

func (t *TestSuite) ListE(list client.ObjectList, opts ...client.ListOption)

func (*TestSuite) ListF

func (t *TestSuite) ListF(list client.ObjectList, opts ...client.ListOption)

func (*TestSuite) Log added in v1.4.0

func (t *TestSuite) Log(args ...any)

func (*TestSuite) Logf added in v1.4.0

func (t *TestSuite) Logf(format string, args ...any)

func (*TestSuite) MustExist added in v1.3.1

func (t *TestSuite) MustExist(key client.ObjectKey, obj client.Object)

func (*TestSuite) MustFindPackageRevision added in v1.4.0

func (t *TestSuite) MustFindPackageRevision(packages *porchapi.PackageRevisionList, name repository.PackageRevisionKey) *porchapi.PackageRevision

func (*TestSuite) MustHaveLabels added in v1.4.0

func (t *TestSuite) MustHaveLabels(name string, labels map[string]string)

func (*TestSuite) MustNotExist added in v1.3.1

func (t *TestSuite) MustNotExist(obj client.Object)

func (*TestSuite) MustNotHaveLabels added in v1.4.0

func (t *TestSuite) MustNotHaveLabels(name string, labels []string)

func (*TestSuite) Name added in v1.4.0

func (t *TestSuite) Name() string

func (*TestSuite) ParseKptfileF

func (t *TestSuite) ParseKptfileF(resources *porchapi.PackageRevisionResources) *kptfilev1.KptFile

func (*TestSuite) PatchE

func (t *TestSuite) PatchE(obj client.Object, patch client.Patch, opts ...client.PatchOption)

func (*TestSuite) PatchF

func (t *TestSuite) PatchF(obj client.Object, patch client.Patch, opts ...client.PatchOption)

func (*TestSuite) RegisterGitRepositoryF added in v1.3.1

func (t *TestSuite) RegisterGitRepositoryF(repo, name, directory string, username string, password Password, opts ...RepositoryOptions)

func (*TestSuite) RegisterTestBlueprintRepository added in v1.4.0

func (t *TestSuite) RegisterTestBlueprintRepository(name, directory string, opts ...RepositoryOptions)

func (*TestSuite) RetriggerBackgroundJobForRepo added in v1.4.0

func (t *TestSuite) RetriggerBackgroundJobForRepo(repoName string)

func (*TestSuite) SaveKptfileF

func (t *TestSuite) SaveKptfileF(resources *porchapi.PackageRevisionResources, kptfile *kptfilev1.KptFile)

func (*TestSuite) SetupSuite added in v1.4.0

func (t *TestSuite) SetupSuite()

func (*TestSuite) Skipf added in v1.4.0

func (t *TestSuite) Skipf(format string, args ...any)

func (*TestSuite) UpdateApprovalF

func (*TestSuite) UpdateApprovalL added in v1.4.0

func (*TestSuite) UpdateE

func (t *TestSuite) UpdateE(obj client.Object, opts ...client.UpdateOption)

func (*TestSuite) UpdateF

func (t *TestSuite) UpdateF(obj client.Object, opts ...client.UpdateOption)

func (*TestSuite) ValidateFinalizers added in v1.3.1

func (t *TestSuite) ValidateFinalizers(name string, finalizers []string)

func (*TestSuite) ValidateLabelsAndAnnos added in v1.3.1

func (t *TestSuite) ValidateLabelsAndAnnos(name string, labels, annos map[string]string)

func (*TestSuite) ValidateOwnerReferences added in v1.3.1

func (t *TestSuite) ValidateOwnerReferences(name string, ownerRefs []metav1.OwnerReference)

func (*TestSuite) WaitUntilAllPackagesDeleted added in v1.3.1

func (t *TestSuite) WaitUntilAllPackagesDeleted(repoName string, namespace string)

func (*TestSuite) WaitUntilDraftPackageRevisionExists added in v1.3.1

func (t *TestSuite) WaitUntilDraftPackageRevisionExists(repository string, pkgName string) *porchapi.PackageRevision

func (*TestSuite) WaitUntilObjectDeleted added in v1.3.1

func (t *TestSuite) WaitUntilObjectDeleted(gvk schema.GroupVersionKind, namespacedName types.NamespacedName, d time.Duration)

func (*TestSuite) WaitUntilPackageRevisionExists added in v1.3.1

func (t *TestSuite) WaitUntilPackageRevisionExists(repository string, pkgName string, revision int) *porchapi.PackageRevision

func (*TestSuite) WaitUntilPackageRevisionFulfillingConditionExists added in v1.3.1

func (t *TestSuite) WaitUntilPackageRevisionFulfillingConditionExists(
	timeout time.Duration,
	condition func(porchapi.PackageRevision) bool,
) (*porchapi.PackageRevision, error)

func (*TestSuite) WaitUntilPackageRevisionResourcesExists added in v1.3.1

func (t *TestSuite) WaitUntilPackageRevisionResourcesExists(
	key types.NamespacedName,
) *porchapi.PackageRevisionResources

func (*TestSuite) WaitUntilRepositoryDeleted added in v1.3.1

func (t *TestSuite) WaitUntilRepositoryDeleted(name, namespace string)

func (*TestSuite) WaitUntilRepositoryReady added in v1.3.1

func (t *TestSuite) WaitUntilRepositoryReady(name, namespace string)

WaitUntilRepositoryReady waits for up to 60 seconds for the repository with the provided name and namespace is ready, i.e. the Ready condition is true. It also queries for Functions and PackageRevisions, to ensure these are also ready - this is an artifact of the way we've implemented the aggregated apiserver, where the first fetch can sometimes be synchronous.

type TestSuiteWithGit added in v1.3.1

type TestSuiteWithGit struct {
	TestSuite
	// contains filtered or unexported fields
}

func (*TestSuiteWithGit) GitConfig added in v1.3.1

func (t *TestSuiteWithGit) GitConfig(name string) GitConfig

func (*TestSuiteWithGit) RegisterGitRepositoryWithDirectoryF added in v1.4.0

func (t *TestSuiteWithGit) RegisterGitRepositoryWithDirectoryF(name string, directory string, opts ...RepositoryOptions)

func (*TestSuiteWithGit) RegisterMainGitRepositoryF added in v1.3.1

func (t *TestSuiteWithGit) RegisterMainGitRepositoryF(name string, opts ...RepositoryOptions)

func (*TestSuiteWithGit) SetupEnvvars added in v1.4.0

func (t *TestSuiteWithGit) SetupEnvvars()

func (*TestSuiteWithGit) SetupSuite added in v1.4.0

func (t *TestSuiteWithGit) SetupSuite()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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