Documentation ¶
Index ¶
- Constants
- Variables
- func CreateIngressTLSSecret(client kubernetes.Interface, hosts []string, secretName, namespace string) (host string, rootCA, privKey []byte, err error)
- func CreateKubeNamespace(baseName string, c kubernetes.Interface) (*v1.Namespace, error)
- func DeleteKubeNamespace(c kubernetes.Interface, namespace string) error
- func ExpectNoError(err error, explain ...interface{})
- func Failf(format string, args ...interface{})
- func IngressNginxDescribe(text string, body func()) bool
- func LoadConfig(config, context string) (*rest.Config, error)
- func Logf(format string, args ...interface{})
- func NewInt32(val int32) *int32
- func NewInt64(val int64) *int64
- func RegisterCommonFlags()
- func RegisterParseFlags()
- func RemoveCleanupAction(p CleanupActionHandle)
- func RestclientConfig(config, context string) (*api.Config, error)
- func RunCleanupActions()
- func Skipf(format string, args ...interface{})
- func WaitForFileInFS(file string, fs file.Filesystem) error
- func WaitForIngressInNamespace(c kubernetes.Interface, namespace, name string) error
- func WaitForKubeNamespaceNotExist(c kubernetes.Interface, namespace string) error
- func WaitForNoIngressInNamespace(c kubernetes.Interface, namespace, name string) error
- func WaitForNoPodsInNamespace(c kubernetes.Interface, namespace string) error
- func WaitForPodRunningInNamespace(c kubernetes.Interface, pod *v1.Pod) error
- func WaitForSecretInNamespace(c kubernetes.Interface, namespace, name string) error
- type CleanupActionHandle
- type ClientConfigGetter
- type Framework
- func (f *Framework) AfterEach()
- func (f *Framework) BeforeEach()
- func (f *Framework) EnsureDeployment(deployment *extensions.Deployment) (*extensions.Deployment, error)
- func (f *Framework) EnsureIngress(ingress *extensions.Ingress) (*extensions.Ingress, error)
- func (f *Framework) EnsureSecret(secret *api.Secret) (*api.Secret, error)
- func (f *Framework) EnsureService(service *core.Service) (*core.Service, error)
- func (f *Framework) ExecCommand(pod *v1.Pod, command string) (string, error)
- func (f *Framework) GetNginxIP() (string, error)
- func (f *Framework) GetNginxPort(name string) (int, error)
- func (f *Framework) GetNginxURL(scheme RequestScheme) (string, error)
- func (f *Framework) Logs(pod *v1.Pod) (string, error)
- func (f *Framework) NewEchoDeployment() error
- func (f *Framework) NewEchoDeploymentWithReplicas(replicas int32) error
- func (f *Framework) NginxLogs() (string, error)
- func (f *Framework) WaitForNginxConfiguration(matcher func(cfg string) bool) error
- func (f *Framework) WaitForNginxServer(name string, matcher func(cfg string) bool) error
- func (f *Framework) WaitForPodsReady(timeout time.Duration, expectedReplicas int, opts metav1.ListOptions) error
- type RequestScheme
- type TestContextType
Constants ¶
const ( MaxRetry = 200 NoRetry = 1 )
const ( // Poll how often to poll for conditions Poll = 2 * time.Second )
const (
RecommendedConfigPathEnvVar = "INGRESSNGINXCONFIG"
)
Variables ¶
var RunID = uuid.NewUUID()
RunID unique identifier of the e2e run
Functions ¶
func CreateIngressTLSSecret ¶
func CreateIngressTLSSecret(client kubernetes.Interface, hosts []string, secretName, namespace string) (host string, rootCA, privKey []byte, err error)
CreateIngressTLSSecret creates a secret containing TLS certificates for the given Ingress. If a secret with the same name already pathExists in the namespace of the Ingress, it's updated.
func CreateKubeNamespace ¶
CreateKubeNamespace creates a new namespace in the cluster
func DeleteKubeNamespace ¶
func DeleteKubeNamespace(c kubernetes.Interface, namespace string) error
DeleteKubeNamespace deletes a namespace and all the objects inside
func ExpectNoError ¶
func ExpectNoError(err error, explain ...interface{})
func IngressNginxDescribe ¶
IngressNginxDescribe wrapper function for ginkgo describe. Adds namespacing.
func RegisterParseFlags ¶
func RegisterParseFlags()
func RemoveCleanupAction ¶
func RemoveCleanupAction(p CleanupActionHandle)
RemoveCleanupAction removes a function that was installed by AddCleanupAction.
func RunCleanupActions ¶
func RunCleanupActions()
RunCleanupActions runs all functions installed by AddCleanupAction. It does not remove them (see RemoveCleanupAction) but it does run unlocked, so they may remove themselves.
func WaitForFileInFS ¶
func WaitForFileInFS(file string, fs file.Filesystem) error
WaitForFileInFS waits a default amount of time for the specified file is present in the filesystem
func WaitForIngressInNamespace ¶
func WaitForIngressInNamespace(c kubernetes.Interface, namespace, name string) error
WaitForIngressInNamespace waits until a particular ingress object exists namespace
func WaitForKubeNamespaceNotExist ¶
func WaitForKubeNamespaceNotExist(c kubernetes.Interface, namespace string) error
WaitForKubeNamespaceNotExist waits until a namespaces is not present in the cluster
func WaitForNoIngressInNamespace ¶
func WaitForNoIngressInNamespace(c kubernetes.Interface, namespace, name string) error
WaitForNoIngressInNamespace waits until there is no ingress object in a particular namespace
func WaitForNoPodsInNamespace ¶
func WaitForNoPodsInNamespace(c kubernetes.Interface, namespace string) error
WaitForNoPodsInNamespace waits until there are no pods running in a namespace
func WaitForPodRunningInNamespace ¶
func WaitForPodRunningInNamespace(c kubernetes.Interface, pod *v1.Pod) error
WaitForPodRunningInNamespace waits a default amount of time (PodStartTimeout) for the specified pod to become running. Returns an error if timeout occurs first, or pod goes in to failed state.
func WaitForSecretInNamespace ¶
func WaitForSecretInNamespace(c kubernetes.Interface, namespace, name string) error
WaitForSecretInNamespace waits a default amount of time for the specified secret is present in a particular namespace
Types ¶
type CleanupActionHandle ¶
type CleanupActionHandle *int
func AddCleanupAction ¶
func AddCleanupAction(fn func()) CleanupActionHandle
AddCleanupAction installs a function that will be called in the event of the whole test being terminated. This allows arbitrary pieces of the overall test to hook into SynchronizedAfterSuite().
type ClientConfigGetter ¶
type Framework ¶
type Framework struct { BaseName string // A Kubernetes and Service Catalog client KubeClientSet kubernetes.Interface KubeConfig *restclient.Config APIExtensionsClientSet apiextcs.Interface // Namespace in which all test resources should reside Namespace *v1.Namespace NginxHTTPURL string NginxHTTPSURL string // contains filtered or unexported fields }
Framework supports common operations used by e2e tests; it will keep a client & a namespace for you.
func NewDefaultFramework ¶
NewDefaultFramework makes a new framework and sets up a BeforeEach/AfterEach for you (you can write additional before/after each functions).
func (*Framework) AfterEach ¶
func (f *Framework) AfterEach()
AfterEach deletes the namespace, after reading its events.
func (*Framework) BeforeEach ¶
func (f *Framework) BeforeEach()
BeforeEach gets a client and makes a namespace.
func (*Framework) EnsureDeployment ¶
func (f *Framework) EnsureDeployment(deployment *extensions.Deployment) (*extensions.Deployment, error)
func (*Framework) EnsureIngress ¶
func (f *Framework) EnsureIngress(ingress *extensions.Ingress) (*extensions.Ingress, error)
func (*Framework) EnsureSecret ¶
func (*Framework) EnsureService ¶
func (*Framework) ExecCommand ¶
ExecCommand executes a command inside a the first container in a running pod
func (*Framework) GetNginxIP ¶
GetNginxIP returns the IP address of the minikube cluster where the NGINX ingress controller is running
func (*Framework) GetNginxPort ¶
GetNginxPort returns the number of TCP port where NGINX is running
func (*Framework) GetNginxURL ¶
func (f *Framework) GetNginxURL(scheme RequestScheme) (string, error)
GetNginxURL returns the URL should be used to make a request to NGINX
func (*Framework) NewEchoDeployment ¶
NewEchoDeployment creates a new single replica deployment of the echoserver image in a particular namespace
func (*Framework) NewEchoDeploymentWithReplicas ¶
NewEchoDeploymentWithReplicas creates a new deployment of the echoserver image in a particular namespace. Number of replicas is configurable
func (*Framework) NginxLogs ¶
NginxLogs returns the logs of the nginx ingress controller pod running
func (*Framework) WaitForNginxConfiguration ¶
WaitForNginxConfiguration waits until the nginx configuration contains a particular configuration
func (*Framework) WaitForNginxServer ¶
WaitForNginxServer waits until the nginx configuration contains a particular server section
func (*Framework) WaitForPodsReady ¶
type RequestScheme ¶
type RequestScheme string
const ( HTTP RequestScheme = "http" HTTPS RequestScheme = "https" )
These are valid test request schemes.
type TestContextType ¶
var TestContext TestContextType