gardener: Index | Files | Directories

package framework

import ""


Package Files

common.go commonframework.go dump.go errors.go gardener_utils.go gardenerframework.go gingko_utils.go gomega_utils.go helm.go http_utils.go k8s_utils.go plant_utils.go shoot_utils.go shootframework.go template.go test_description.go utils.go worker_utils.go


const (

    // KubeconfigSecretKeyName ist the name of the key in a secret that holds the kubeconfig of a shoot
    KubeconfigSecretKeyName = "kubeconfig"

    // LoggingUserName is the admin user name for the elasticserach logging instance of a shoot
    LoggingUserName = "admin"

    // IntegrationTestPrefix is the default prefix that will be used for test shoots if none other is specified
    IntegrationTestPrefix = "itest-"

    // WorkerNamePrefix is the default prefix that will be used for Shoot workers
    WorkerNamePrefix = "worker-"


var (
    // ErrNoRepositoriesFound no repositories found in repository file
    ErrNoRepositoriesFound = errors.New("no repositories found in repository file")

    // ErrNoInternalIPsForNodeWasFound no internal IPs were found for node
    ErrNoInternalIPsForNodeWasFound = errors.New("no internal IPs were found for node")

    // ErrNoRunningPodsFound no running pods were found
    ErrNoRunningPodsFound = errors.New("no running pods were found")

func AddWorker Uses

func AddWorker(shoot *gardencorev1beta1.Shoot, cloudProfile *gardencorev1beta1.CloudProfile, machineImage gardencorev1beta1.MachineImage, workerZone *string) error

AddWorker adds a valid default worker to the shoot for the given machineImage and CloudProfile.

func AddWorkerForName Uses

func AddWorkerForName(shoot *gardencorev1beta1.Shoot, cloudProfile *gardencorev1beta1.CloudProfile, machineImageName *string, workerZone *string) error

AddWorkerForName adds a valid worker to the shoot for the given machine image name. Returns an error if the machine image cannot be found in the CloudProfile.

func ApplyFilters Uses

func ApplyFilters(event corev1.Event, filters ...EventFilterFunc) bool

ApplyFilters checks if one of the EventFilters filters the current event

func CAfterEach Uses

func CAfterEach(body func(context.Context), timeout time.Duration)

CAfterEach contextifies Gingko's AfterEach

func CAfterSuite Uses

func CAfterSuite(body func(context.Context), timeout time.Duration)

CAfterSuite contextifies Gingko's FIt

func CBeforeEach Uses

func CBeforeEach(body func(ctx context.Context), timeout time.Duration)

CBeforeEach contextifies Gingko's BeforeEach

func CBeforeSuite Uses

func CBeforeSuite(body func(context.Context), timeout time.Duration)

CBeforeSuite contextifies Gingko's FIt

func CIt Uses

func CIt(text string, body func(context.Context), timeout time.Duration)

CIt contextifies Gingko's It

func CJustBeforeEach Uses

func CJustBeforeEach(body func(ctx context.Context), timeout time.Duration)

CJustBeforeEach contextifies Gingko's JustBeforeEach

func CommonAfterSuite Uses

func CommonAfterSuite()

CommonAfterSuite performs necessary common steps after all tests of a suite a run

func CreateShootTestArtifacts Uses

func CreateShootTestArtifacts(shootTestYamlPath string, prefix *string, projectNamespace, shootRegion, cloudProfile, secretbinding, providerType, k8sVersion, externalDomain *string, clearDNS bool, clearExtensions bool) (string, *gardencorev1beta1.Shoot, error)

CreateShootTestArtifacts creates a shoot object from the given path and sets common attributes (test-individual settings like workers have to be handled by each test).

func DeepDerivativeEqual Uses

func DeepDerivativeEqual(expected interface{}) types.GomegaMatcher

DeepDerivativeEqual is similar to DeepEqual except that unset fields in actual are ignored (not compared). This allows us to focus on the fields that matter to the semantic comparison.

func DeleteResource Uses

func DeleteResource(ctx context.Context, k8sClient kubernetes.Interface, resource runtime.Object) error

DeleteResource deletes a kubernetes resource

func DeployRootPod Uses

func DeployRootPod(ctx context.Context, c client.Client, namespace string, nodename *string) (*corev1.Pod, error)

DeployRootPod deploys a pod with root permissions for testing purposes.

func DownloadKubeconfig Uses

func DownloadKubeconfig(ctx context.Context, client kubernetes.Interface, namespace, name, downloadPath string) error

DownloadKubeconfig downloads the shoot Kubeconfig

func EnsureRepositoryDirectories Uses

func EnsureRepositoryDirectories(helm Helm) error

EnsureRepositoryDirectories creates the repository directory which holds the repositories.yaml config file

func Exists Uses

func Exists(path string) (bool, error)

Exists checks if a path exists

func ExpectNoError Uses

func ExpectNoError(actual interface{}, extra ...interface{})

ExpectNoError checks if an error has occurred

func FCIt Uses

func FCIt(text string, body func(context.Context), timeout time.Duration)

FCIt contextifies Gingko's FIt

func FileExists Uses

func FileExists(kc string) bool

FileExists Checks if a file path exists and fail otherwise

func GetAllNodes Uses

func GetAllNodes(ctx context.Context, c kubernetes.Interface) (*corev1.NodeList, error)

GetAllNodes fetches all nodes

func GetAllNodesInWorkerPool Uses

func GetAllNodesInWorkerPool(ctx context.Context, c kubernetes.Interface, workerGroup *string) (*corev1.NodeList, error)

GetAllNodesInWorkerPool fetches all nodes of a specific worker group

func GetFirstRunningPodWithLabels Uses

func GetFirstRunningPodWithLabels(ctx context.Context, labelsMap labels.Selector, namespace string, client kubernetes.Interface) (*corev1.Pod, error)

GetFirstRunningPodWithLabels fetches the first running pod with the desired set of labels <labelsMap>

func GetObjectFromSecret Uses

func GetObjectFromSecret(ctx context.Context, k8sClient kubernetes.Interface, namespace, secretName, objectKey string) (string, error)

GetObjectFromSecret returns object from secret

func GetPodsByLabels Uses

func GetPodsByLabels(ctx context.Context, labelsSelector labels.Selector, c kubernetes.Interface, namespace string) (*corev1.PodList, error)

GetPodsByLabels fetches all pods with the desired set of labels <labelsMap>

func HTTPGet Uses

func HTTPGet(ctx context.Context, url string) (*http.Response, error)

HTTPGet performs an HTTP GET request with context

func Must Uses

func Must(err error)

Must errors with `GinkgoT().Fatal` if the error is non-nil.

func NewClientFromServiceAccount Uses

func NewClientFromServiceAccount(ctx context.Context, k8sClient kubernetes.Interface, account *corev1.ServiceAccount) (kubernetes.Interface, error)

NewClientFromServiceAccount returns a kubernetes client for a service account.

func ParseFileAsProviderConfig Uses

func ParseFileAsProviderConfig(filepath string) (*gardencorev1beta1.ProviderConfig, error)

ParseFileAsProviderConfig parses a file as a ProviderConfig

func ParseFileAsWorkers Uses

func ParseFileAsWorkers(filepath string) ([]gardencorev1beta1.Worker, error)

ParseFileAsWorkers parses a file as a Worker configuration

func PodExecByLabel Uses

func PodExecByLabel(ctx context.Context, podLabels labels.Selector, podContainer, command, namespace string, client kubernetes.Interface) (io.Reader, error)

PodExecByLabel executes a command inside pods filtered by label

func PrettyPrintObject Uses

func PrettyPrintObject(obj runtime.Object) error

PrettyPrintObject prints a object as pretty printed yaml to stdout

func ReadObject Uses

func ReadObject(file string, into apimachineryRuntime.Object) error

ReadObject loads the contents of file and decodes it as an object.

func RevertableSet Uses

func RevertableSet(dst, src interface{}) (revert func())

RevertableSet sets the element of dst to src and returns a function that can revert back to the original values.

func Set Uses

func Set(dst, src interface{})

Set sets the pointer dst to the value of src.

dst has to be a pointer, src has to be assignable to the element type of dst.

func SetProviderConfigsFromFilepath Uses

func SetProviderConfigsFromFilepath(shoot *gardencorev1beta1.Shoot, infrastructureConfigPath, controlPlaneConfigPath, networkingConfigPath, workersConfigPath *string) error

SetProviderConfigsFromFilepath parses the infrastructure, controlPlane and networking provider-configs and sets them on the shoot

func SetupShootWorker Uses

func SetupShootWorker(shoot *gardencorev1beta1.Shoot, cloudProfile *gardencorev1beta1.CloudProfile, workerZone *string) error

SetupShootWorker prepares the Shoot with one worker with provider specific volume. Clears the currently configured workers.

func ShootCreationCompleted Uses

func ShootCreationCompleted(newShoot *gardencorev1beta1.Shoot) bool

ShootCreationCompleted checks if a shoot is successfully reconciled.

func StringSet Uses

func StringSet(s string) bool

StringSet checks if a string is set

func TestHTTPEndpointWithBasicAuth Uses

func TestHTTPEndpointWithBasicAuth(ctx context.Context, url, userName, password string) error

TestHTTPEndpointWithBasicAuth validates that a http endpoint can be accessed using basic authentication

func TestHTTPEndpointWithToken Uses

func TestHTTPEndpointWithToken(ctx context.Context, url, token string) error

TestHTTPEndpointWithToken validates that a http endpoint can be accessed using a bearer token

func UpdateSecret Uses

func UpdateSecret(ctx context.Context, k8sClient kubernetes.Interface, secret *corev1.Secret) error

UpdateSecret updates the Secret with an backoff

func WaitForNNodesToBeHealthy Uses

func WaitForNNodesToBeHealthy(ctx context.Context, k8sClient kubernetes.Interface, n int, timeout time.Duration) error

WaitForNNodesToBeHealthy waits for exactly <n> Nodes to be healthy within a given timeout

func WaitForNNodesToBeHealthyInWorkerPool Uses

func WaitForNNodesToBeHealthyInWorkerPool(ctx context.Context, k8sClient kubernetes.Interface, n int, workerGroup *string, timeout time.Duration) error

WaitForNNodesToBeHealthyInWorkerPool waits for exactly <n> Nodes in a given worker pool to be healthy within a given timeout

type Chart Uses

type Chart struct {
    Name        string
    ReleaseName string
    Namespace   string
    Version     string

Chart represents a external helm chart with a specific version and namespace

type CommonConfig Uses

type CommonConfig struct {
    LogLevel         string
    DisableStateDump bool
    ResourceDir      string
    ChartDir         string

CommonConfig is the configuration for a common framework

func RegisterCommonFrameworkFlags Uses

func RegisterCommonFrameworkFlags() *CommonConfig

RegisterCommonFrameworkFlags adds all flags that are needed to configure a common framework to the provided flagset.

type CommonFramework Uses

type CommonFramework struct {
    Config           *CommonConfig
    Logger           *logrus.Logger
    DisableStateDump bool

    // ResourcesDir is the absolute path to the resources directory
    ResourcesDir string

    // TemplatesDir is the absolute path to the templates directory
    TemplatesDir string

    // Chart is the absolute path to the helm chart directory
    ChartDir string

CommonFramework represents the common gardener test framework that consolidates all shared features of the specific test frameworks (system, garderner, shoot)

func NewCommonFramework Uses

func NewCommonFramework(cfg *CommonConfig) *CommonFramework

NewCommonFramework creates a new common framework and registers its ginkgo BeforeEach setup

func (*CommonFramework) BeforeEach Uses

func (f *CommonFramework) BeforeEach()

BeforeEach should be called in ginkgo's BeforeEach. It sets up the common framework.

func (*CommonFramework) DeployChart Uses

func (f *CommonFramework) DeployChart(ctx context.Context, k8sClient kubernetes.Interface, namespace, chartRepoDestination, chartNameToDeploy string, values map[string]interface{}) error

DeployChart deploys it on the test cluster

func (*CommonFramework) DownloadChartArtifacts Uses

func (f *CommonFramework) DownloadChartArtifacts(ctx context.Context, helm Helm, chartRepoDestination, chartNameToDownload, chartVersionToDownload string) error

DownloadChartArtifacts downloads a helm chart from helm stable repo url available in resources/repositories

func (*CommonFramework) RenderAndDeployChart Uses

func (f *CommonFramework) RenderAndDeployChart(ctx context.Context, k8sClient kubernetes.Interface, c Chart, values map[string]interface{}) error

RenderAndDeployChart downloads a helm chart from helm stable repo url available in resources/repositories and deploys it on the test cluster

func (*CommonFramework) RenderAndDeployTemplate Uses

func (f *CommonFramework) RenderAndDeployTemplate(ctx context.Context, k8sClient kubernetes.Interface, templateName string, values interface{}) error

RenderAndDeployTemplate renders a template from the resource template directory and deploys it to the cluster

func (*CommonFramework) WaitUntilDaemonSetIsRunning Uses

func (f *CommonFramework) WaitUntilDaemonSetIsRunning(ctx context.Context, k8sClient client.Client, daemonSetName, daemonSetNamespace string) error

WaitUntilDaemonSetIsRunning waits until the daemon set with <daemonSetName> is running

func (*CommonFramework) WaitUntilDeploymentIsReady Uses

func (f *CommonFramework) WaitUntilDeploymentIsReady(ctx context.Context, name string, namespace string, k8sClient kubernetes.Interface) error

WaitUntilDeploymentIsReady waits until the given deployment is ready

func (*CommonFramework) WaitUntilDeploymentsWithLabelsIsReady Uses

func (f *CommonFramework) WaitUntilDeploymentsWithLabelsIsReady(ctx context.Context, deploymentLabels labels.Selector, namespace string, k8sClient kubernetes.Interface) error

WaitUntilDeploymentsWithLabelsIsReady wait until pod with labels <podLabels> is running

func (*CommonFramework) WaitUntilNamespaceIsDeleted Uses

func (f *CommonFramework) WaitUntilNamespaceIsDeleted(ctx context.Context, k8sClient kubernetes.Interface, ns string) error

WaitUntilNamespaceIsDeleted waits until a namespace has been deleted

func (*CommonFramework) WaitUntilStatefulSetIsRunning Uses

func (f *CommonFramework) WaitUntilStatefulSetIsRunning(ctx context.Context, statefulSetName, statefulSetNamespace string, c kubernetes.Interface) error

WaitUntilStatefulSetIsRunning waits until the stateful set with <statefulSetName> is running

type EventFilterFunc Uses

type EventFilterFunc func(event corev1.Event) bool

EventFilterFunc is a function to filter events

type GardenerConfig Uses

type GardenerConfig struct {
    CommonConfig       *CommonConfig
    GardenerKubeconfig string
    ProjectNamespace   string

GardenerConfig is the configuration for a gardener framework

func RegisterGardenerFrameworkFlags Uses

func RegisterGardenerFrameworkFlags() *GardenerConfig

RegisterGardenerFrameworkFlags adds all flags that are needed to configure a gardener framework to the provided flagset.

type GardenerFramework Uses

type GardenerFramework struct {
    GardenClient kubernetes.Interface

    ProjectNamespace        string
    GardenerFrameworkConfig *GardenerConfig

GardenerFramework is the gardener test framework that includes functions for working with a gardener instance

func NewGardenerFramework Uses

func NewGardenerFramework(cfg *GardenerConfig) *GardenerFramework

NewGardenerFramework creates a new gardener test framework. All needed flags are parsed during before each suite.

func NewGardenerFrameworkFromConfig Uses

func NewGardenerFrameworkFromConfig(cfg *GardenerConfig) *GardenerFramework

NewGardenerFrameworkFromConfig creates a new gardener test framework without registering ginkgo specific functions

func (*GardenerFramework) AnnotateShoot Uses

func (f *GardenerFramework) AnnotateShoot(shoot *gardencorev1beta1.Shoot, annotations map[string]string) error

AnnotateShoot adds shoot annotation(s)

func (*GardenerFramework) BeforeEach Uses

func (f *GardenerFramework) BeforeEach()

BeforeEach should be called in ginkgo's BeforeEach. It sets up the gardener framework.

func (*GardenerFramework) CreatePlant Uses

func (f *GardenerFramework) CreatePlant(ctx context.Context, plant *gardencorev1beta1.Plant) error

CreatePlant Creates a plant from a plant Object

func (*GardenerFramework) CreatePlantSecret Uses

func (f *GardenerFramework) CreatePlantSecret(ctx context.Context, namespace string, kubeConfigContent []byte) (*corev1.Secret, error)

CreatePlantSecret creates a new Secret for the Plant

func (*GardenerFramework) CreateShoot Uses

func (f *GardenerFramework) CreateShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

CreateShoot Creates a shoot from a shoot Object and waits until it is successfully reconciled

func (*GardenerFramework) DeletePlant Uses

func (f *GardenerFramework) DeletePlant(ctx context.Context, plant *gardencorev1beta1.Plant) error

DeletePlant deletes the test plant

func (*GardenerFramework) DeleteShoot Uses

func (f *GardenerFramework) DeleteShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

DeleteShoot deletes the test shoot

func (*GardenerFramework) DeleteShootAndWaitForDeletion Uses

func (f *GardenerFramework) DeleteShootAndWaitForDeletion(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

DeleteShootAndWaitForDeletion deletes the test shoot and waits until it cannot be found any more

func (*GardenerFramework) DumpState Uses

func (f *GardenerFramework) DumpState(ctx context.Context)

DumpState greps all necessary logs and state of the cluster if the test failed TODO: dump extension controller namespaces TODO: dump logs of gardener extension controllers and other system components

func (*GardenerFramework) GetCloudProfile Uses

func (f *GardenerFramework) GetCloudProfile(ctx context.Context, name string) (*gardencorev1beta1.CloudProfile, error)

GetCloudProfile returns the cloudprofile from gardener with the give name

func (*GardenerFramework) GetSeed Uses

func (f *GardenerFramework) GetSeed(ctx context.Context, seedName string) (*gardencorev1beta1.Seed, kubernetes.Interface, error)

GetSeed returns the seed and its k8s client

func (*GardenerFramework) GetShoot Uses

func (f *GardenerFramework) GetShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

GetShoot gets the test shoot

func (*GardenerFramework) GetShootProject Uses

func (f *GardenerFramework) GetShootProject(ctx context.Context, shootNamespace string) (*gardencorev1beta1.Project, error)

GetShootProject returns the project of a shoot

func (*GardenerFramework) HibernateShoot Uses

func (f *GardenerFramework) HibernateShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

HibernateShoot hibernates the test shoot

func (*GardenerFramework) MergePatchShoot Uses

func (f *GardenerFramework) MergePatchShoot(oldShoot, newShoot *gardencorev1beta1.Shoot) (*gardencorev1beta1.Shoot, error)

MergePatchShoot performs a two way merge patch operation on a shoot object

func (*GardenerFramework) NewShootFramework Uses

func (f *GardenerFramework) NewShootFramework(shoot *gardencorev1beta1.Shoot) (*ShootFramework, error)

NewShootFramework creates a new shoot framework with the current gardener framework and a shoot

func (*GardenerFramework) RemoveShootAnnotation Uses

func (f *GardenerFramework) RemoveShootAnnotation(shoot *gardencorev1beta1.Shoot, annotationKey string) error

RemoveShootAnnotation removes an annotation with key <annotationKey> from a shoot object

func (*GardenerFramework) UpdateShoot Uses

func (f *GardenerFramework) UpdateShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot, update func(shoot *gardencorev1beta1.Shoot) error) error

UpdateShoot Updates a shoot from a shoot Object and waits for its reconciliation

func (*GardenerFramework) WaitForPlantToBeCreated Uses

func (f *GardenerFramework) WaitForPlantToBeCreated(ctx context.Context, plant *gardencorev1beta1.Plant) error

WaitForPlantToBeCreated waits for the plant to be created

func (*GardenerFramework) WaitForPlantToBeDeleted Uses

func (f *GardenerFramework) WaitForPlantToBeDeleted(ctx context.Context, plant *gardencorev1beta1.Plant) error

WaitForPlantToBeDeleted waits for the plant to be deleted

func (*GardenerFramework) WaitForPlantToBeReconciledSuccessfully Uses

func (f *GardenerFramework) WaitForPlantToBeReconciledSuccessfully(ctx context.Context, plant *gardencorev1beta1.Plant) error

WaitForPlantToBeReconciledSuccessfully waits for the plant to be reconciled with a status indicating success

func (*GardenerFramework) WaitForPlantToBeReconciledWithUnknownStatus Uses

func (f *GardenerFramework) WaitForPlantToBeReconciledWithUnknownStatus(ctx context.Context, plant *gardencorev1beta1.Plant) error

WaitForPlantToBeReconciledWithUnknownStatus waits for the plant to be reconciled, setting the expected status 'unknown'

func (*GardenerFramework) WaitForShootToBeCreated Uses

func (f *GardenerFramework) WaitForShootToBeCreated(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

WaitForShootToBeCreated waits for the shoot to be created

func (*GardenerFramework) WaitForShootToBeDeleted Uses

func (f *GardenerFramework) WaitForShootToBeDeleted(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

WaitForShootToBeDeleted waits for the shoot to be deleted

func (*GardenerFramework) WaitForShootToBeReconciled Uses

func (f *GardenerFramework) WaitForShootToBeReconciled(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

WaitForShootToBeReconciled waits for the shoot to be successfully reconciled

func (*GardenerFramework) WakeUpShoot Uses

func (f *GardenerFramework) WakeUpShoot(ctx context.Context, shoot *gardencorev1beta1.Shoot) error

WakeUpShoot wakes up the test shoot from hibernation

type Helm Uses

type Helm string

Helm is the home for the HELM repo

func (Helm) CacheIndex Uses

func (h Helm) CacheIndex(name string) string

CacheIndex returns the path to an index for the given named repository.

func (Helm) Path Uses

func (h Helm) Path(elem ...string) string

Path returns Helm path with elements appended.

func (Helm) Repository Uses

func (h Helm) Repository() string

Repository returns the path to the local repository.

func (Helm) RepositoryFile Uses

func (h Helm) RepositoryFile() string

RepositoryFile returns the path to the repositories.yaml file.

func (Helm) String Uses

func (h Helm) String(elem ...string) string

Path returns the home for the helm repo with.

type HelmAccess Uses

type HelmAccess struct {
    HelmPath Helm

HelmAccess is a struct that holds the helm home

type SearchResponse Uses

type SearchResponse struct {
    Hits struct {
        Total uint64 `json:"total"`
    } `json:"hits"`

SearchResponse represents the response from a search query to elasticsearch

type ShootConfig Uses

type ShootConfig struct {
    GardenerConfig *GardenerConfig
    ShootName      string
    Fenced         bool
    SeedScheme     *runtime.Scheme

    CreateTestNamespace         bool
    DisableTestNamespaceCleanup bool

ShootConfig is the configuration for a shoot framework

func RegisterShootFrameworkFlags Uses

func RegisterShootFrameworkFlags() *ShootConfig

RegisterShootFrameworkFlags adds all flags that are needed to configure a shoot framework to the provided flagset.

type ShootFramework Uses

type ShootFramework struct {
    Config *ShootConfig

    SeedClient  kubernetes.Interface
    ShootClient kubernetes.Interface

    Seed         *gardencorev1beta1.Seed
    CloudProfile *gardencorev1beta1.CloudProfile
    Shoot        *gardencorev1beta1.Shoot
    Project      *gardencorev1beta1.Project

    Namespace string

ShootFramework represents the shoot test framework that includes test functions that can be executed ona specific shoot

func NewShootFramework Uses

func NewShootFramework(cfg *ShootConfig) *ShootFramework

NewShootFramework creates a new simple Shoot framework

func NewShootFrameworkFromConfig Uses

func NewShootFrameworkFromConfig(cfg *ShootConfig) (*ShootFramework, error)

NewShootFrameworkFromConfig creates a new Shoot framework from a shoot configuration

func (*ShootFramework) AddShoot Uses

func (f *ShootFramework) AddShoot(ctx context.Context, shootName, shootNamespace string) error

AddShoot sets the shoot and its seed for the GardenerOperation.

func (*ShootFramework) AfterEach Uses

func (f *ShootFramework) AfterEach(ctx context.Context)

AfterEach should be called in ginkgo's AfterEach. Cleans up resources and dumps the shoot state if the test failed

func (*ShootFramework) BeforeEach Uses

func (f *ShootFramework) BeforeEach()

BeforeEach should be called in ginkgo's BeforeEach. It sets up the shoot framework.

func (*ShootFramework) CreateNewNamespace Uses

func (f *ShootFramework) CreateNewNamespace(ctx context.Context) (string, error)

CreateNewNamespace creates a new namespace with a generated name prefixed with "gardener-e2e-". The created namespace is automatically cleaned up when the test is finished.

func (*ShootFramework) DumpState Uses

func (f *ShootFramework) DumpState(ctx context.Context)

DumpState dumps the state of a shoot The state includes all k8s components running in the shoot itself as well as the controlplane

func (*ShootFramework) GetCloudProfile Uses

func (f *ShootFramework) GetCloudProfile(ctx context.Context) (*gardencorev1beta1.CloudProfile, error)

GetCloudProfile returns the cloudprofile of the shoot

func (*ShootFramework) GetElasticsearchLogs Uses

func (f *ShootFramework) GetElasticsearchLogs(ctx context.Context, elasticsearchNamespace, podName string, client kubernetes.Interface) (*SearchResponse, error)

GetElasticsearchLogs gets logs for <podName> from the elasticsearch instance in <elasticsearchNamespace>

func (*ShootFramework) GetLoggingPassword Uses

func (f *ShootFramework) GetLoggingPassword(ctx context.Context) (string, error)

GetLoggingPassword returns the passwort to access the elasticseerach logging instance

func (*ShootFramework) HibernateShoot Uses

func (f *ShootFramework) HibernateShoot(ctx context.Context) error

HibernateShoot hibernates the shoot of the framework

func (*ShootFramework) ShootKubeconfigSecretName Uses

func (f *ShootFramework) ShootKubeconfigSecretName() string

ShootKubeconfigSecretName gets the name of the secret with the kubeconfig of the shoot

func (*ShootFramework) ShootSeedNamespace Uses

func (f *ShootFramework) ShootSeedNamespace() string

ShootSeedNamespace gets the shoot namespace in the seed

func (*ShootFramework) UpdateShoot Uses

func (f *ShootFramework) UpdateShoot(ctx context.Context, update func(shoot *gardencorev1beta1.Shoot) error) error

UpdateShoot Updates a shoot from a shoot Object and waits for its reconciliation

func (*ShootFramework) WaitForShootCondition Uses

func (f *ShootFramework) WaitForShootCondition(ctx context.Context, interval, timeout time.Duration, conditionType gardencorev1beta1.ConditionType, conditionStatus gardencorev1beta1.ConditionStatus) error

WaitForShootCondition waits for the shoot to contain the specified condition

func (*ShootFramework) WakeUpShoot Uses

func (f *ShootFramework) WakeUpShoot(ctx context.Context) error

WakeUpShoot wakes up the hibernated shoot of the framework

type TestDescription Uses

type TestDescription struct {
    // contains filtered or unexported fields

TestDescription labels tests according to the provided labels in the expected order.

func NewTestDescription Uses

func NewTestDescription(baseLabel string) TestDescription

NewTestDescription creates a new test description

func (TestDescription) Beta Uses

func (t TestDescription) Beta() TestDescription

Beta labels a test as beta test

func (TestDescription) CIt Uses

func (t TestDescription) CIt(text string, body func(context.Context), timeout time.Duration)

CIt defines a contextified ginkgo It block and enhances the test description with the provided labels

func (TestDescription) Default Uses

func (t TestDescription) Default() TestDescription

Default labels a test as default test

func (TestDescription) Disruptive Uses

func (t TestDescription) Disruptive() TestDescription

Disruptive labels a test as disruptive. Tis kind of test should not run on a productive landscape.

func (TestDescription) FCIt Uses

func (t TestDescription) FCIt(text string, body func(context.Context), timeout time.Duration)

FCIt defines a contextified ginkgo FIt block and enhances the test description with the provided labels

func (TestDescription) FIt Uses

func (t TestDescription) FIt(text string, body func())

FIt defines a ginkgo FIt block and enhances the test description with the provided labels

func (TestDescription) It Uses

func (t TestDescription) It(text string, body func())

It defines a ginkgo It block and enhances the test description with the provided labels

func (TestDescription) Release Uses

func (t TestDescription) Release() TestDescription

Release labels a test as release relevant test

func (TestDescription) Serial Uses

func (t TestDescription) Serial() TestDescription

Serial labels a test to be run as serial step

func (TestDescription) String Uses

func (t TestDescription) String() string

String returns the test description labels



Package framework imports 63 packages (graph) and is imported by 6 packages. Updated 2020-04-09. Refresh now. Tools for package owners.