Documentation ¶
Index ¶
- Constants
- Variables
- func DumpEventsInNamespace(eventsLister EventsLister, namespace string)
- func Errorf(format string, args ...interface{})
- func ExpectNoError(err error, explain ...interface{})
- func ExpectNoErrorWithOffset(offset int, err error, explain ...interface{})
- func Failf(format string, args ...interface{})
- func FailfWithOffset(offset int, format string, args ...interface{})
- func ListFederatedClusters(tl common.TestLogger, client genericclient.Client, namespace string) *fedv1a1.FederatedClusterList
- func LoadEnableTypeDirectives(tl common.TestLogger) []*kfenable.EnableTypeDirective
- func Logf(format string, args ...interface{})
- func NewE2ELogger() common.TestLogger
- func ParseFlags()
- func RemoveCleanupAction(p CleanupActionHandle)
- func RunCleanupActions()
- func SetUpUnmanagedFederation()
- func Skipf(format string, args ...interface{})
- func TearDownUnmanagedFederation()
- func WaitForClusterReadiness(tl common.TestLogger, client genericclient.Client, namespace string, ...)
- func WaitForUnmanagedClusterReadiness()
- type CleanupActionHandle
- type ControllerFixture
- func NewClusterControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
- func NewFederatedTypeConfigControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
- func NewIngressDNSControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
- func NewSchedulingManagerFixture(tl common.TestLogger, config *util.ControllerConfig) (*ControllerFixture, *schedulingmanager.SchedulingManager)
- func NewServiceDNSControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
- func NewSyncControllerFixture(tl common.TestLogger, controllerConfig *util.ControllerConfig, ...) *ControllerFixture
- type EventsLister
- type FederationFramework
- type FederationFrameworkImpl
- type TestContextType
- type TestFixture
- type UnmanagedFramework
- func (f *UnmanagedFramework) AfterEach()
- func (f *UnmanagedFramework) BeforeEach()
- func (f *UnmanagedFramework) Client(userAgent string) genericclient.Client
- func (f *UnmanagedFramework) ClusterConfigs(userAgent string) map[string]common.TestClusterConfig
- func (f *UnmanagedFramework) ClusterDynamicClients(apiResource *metav1.APIResource, userAgent string) map[string]common.TestCluster
- func (f *UnmanagedFramework) ClusterKubeClients(userAgent string) map[string]kubeclientset.Interface
- func (f *UnmanagedFramework) ClusterNames(userAgent string) []string
- func (f *UnmanagedFramework) ControllerConfig() *util.ControllerConfig
- func (f *UnmanagedFramework) FederationSystemNamespace() string
- func (f *UnmanagedFramework) KubeClient(userAgent string) kubeclientset.Interface
- func (f *UnmanagedFramework) KubeConfig() *restclient.Config
- func (f *UnmanagedFramework) Logger() common.TestLogger
- func (f *UnmanagedFramework) TestNamespaceName() string
Constants ¶
const ( // Using the same interval as integration should be fine given the // minimal load that the apiserver is likely to be under. PollInterval = 50 * time.Millisecond // How long to try single API calls (like 'get' or 'list'). Used to prevent // transient failures from failing tests. DefaultSingleCallTimeout = 30 * time.Second )
Variables ¶
var RunId = uuid.NewUUID()
unique identifier of the e2e run
Functions ¶
func DumpEventsInNamespace ¶
func DumpEventsInNamespace(eventsLister EventsLister, namespace string)
func ExpectNoError ¶
func ExpectNoError(err error, explain ...interface{})
func ExpectNoErrorWithOffset ¶
ExpectNoErrorWithOffset checks if "err" is set, and if so, fails assertion while logging the error at "offset" levels above its caller (for example, for call chain f -> g -> ExpectNoErrorWithOffset(1, ...) error would be logged for "f").
func FailfWithOffset ¶
FailfWithOffset calls "Fail" and logs the error at "offset" levels above its caller (for example, for call chain f -> g -> FailfWithOffset(1, ...) error would be logged for "f").
func ListFederatedClusters ¶ added in v0.0.8
func ListFederatedClusters(tl common.TestLogger, client genericclient.Client, namespace string) *fedv1a1.FederatedClusterList
func LoadEnableTypeDirectives ¶ added in v0.0.8
func LoadEnableTypeDirectives(tl common.TestLogger) []*kfenable.EnableTypeDirective
func NewE2ELogger ¶
func NewE2ELogger() common.TestLogger
func ParseFlags ¶
func ParseFlags()
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 SetUpUnmanagedFederation ¶
func SetUpUnmanagedFederation()
func TearDownUnmanagedFederation ¶
func TearDownUnmanagedFederation()
func WaitForClusterReadiness ¶ added in v0.0.8
func WaitForClusterReadiness(tl common.TestLogger, client genericclient.Client, namespace string, interval, timeout time.Duration)
func WaitForUnmanagedClusterReadiness ¶ added in v0.0.2
func WaitForUnmanagedClusterReadiness()
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 ControllerFixture ¶ added in v0.0.8
type ControllerFixture struct {
// contains filtered or unexported fields
}
ControllerFixture manages a federation controller for testing.
func NewClusterControllerFixture ¶ added in v0.0.8
func NewClusterControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
NewClusterControllerFixture initializes a new cluster controller fixture.
func NewFederatedTypeConfigControllerFixture ¶ added in v0.0.10
func NewFederatedTypeConfigControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
NewFederatedTypeConfigControllerFixure initializes a new federatedtypeconfig controller fixure.
func NewIngressDNSControllerFixture ¶ added in v0.0.8
func NewIngressDNSControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
NewIngressDNSControllerFixture initializes a new ingress-dns controller fixture.
func NewSchedulingManagerFixture ¶ added in v0.0.8
func NewSchedulingManagerFixture(tl common.TestLogger, config *util.ControllerConfig) (*ControllerFixture, *schedulingmanager.SchedulingManager)
func NewServiceDNSControllerFixture ¶ added in v0.0.8
func NewServiceDNSControllerFixture(tl common.TestLogger, config *util.ControllerConfig) *ControllerFixture
NewServiceDNSControllerFixture initializes a new service-dns controller fixture.
func NewSyncControllerFixture ¶ added in v0.0.8
func NewSyncControllerFixture(tl common.TestLogger, controllerConfig *util.ControllerConfig, typeConfig typeconfig.Interface, namespacePlacement *metav1.APIResource) *ControllerFixture
NewSyncControllerFixture initializes a new sync controller fixture.
func (*ControllerFixture) TearDown ¶ added in v0.0.8
func (f *ControllerFixture) TearDown(tl common.TestLogger)
type EventsLister ¶
type FederationFramework ¶
type FederationFramework interface { FederationFrameworkImpl // Registering a fixture ensures it will be torn down after the // current test has executed. RegisterFixture(fixture TestFixture) // Setup a sync controller if necessary and return the fixture. // This is implemented commonly to support running a sync // controller for tests that require it. SetUpSyncControllerFixture(typeConfig typeconfig.Interface) TestFixture // Ensure propagation of the test namespace to member clusters EnsureTestNamespacePropagation() // Ensure a federated namespace resource for the test namespace // exists so that the namespace will be propagated to either all // or no member clusters. EnsureTestFederatedNamespace(allClusters bool) *unstructured.Unstructured }
FederationFramework provides an interface to a test federation so that the implementation can vary without affecting tests.
func NewFederationFramework ¶
func NewFederationFramework(baseName string) FederationFramework
type FederationFrameworkImpl ¶ added in v0.0.3
type FederationFrameworkImpl interface { BeforeEach() AfterEach() ControllerConfig() *util.ControllerConfig Logger() common.TestLogger KubeConfig() *restclient.Config KubeClient(userAgent string) kubeclientset.Interface Client(userAgent string) genericclient.Client ClusterConfigs(userAgent string) map[string]common.TestClusterConfig ClusterDynamicClients(apiResource *metav1.APIResource, userAgent string) map[string]common.TestCluster ClusterKubeClients(userAgent string) map[string]kubeclientset.Interface ClusterNames(userAgent string) []string FederationSystemNamespace() string // Name of the namespace for the current test to target TestNamespaceName() string // contains filtered or unexported methods }
func NewUnmanagedFramework ¶
func NewUnmanagedFramework(baseName string) FederationFrameworkImpl
type TestContextType ¶
type TestContextType struct { InMemoryControllers bool KubeConfig string KubeContext string FederationSystemNamespace string ClusterNamespace string SingleCallTimeout time.Duration LimitedScope bool LimitedScopeInMemoryControllers bool WaitForFinalization bool }
var TestContext *TestContextType = &TestContextType{}
func (*TestContextType) RunControllers ¶ added in v0.0.3
func (t *TestContextType) RunControllers() bool
type TestFixture ¶ added in v0.0.8
type TestFixture interface {
TearDown(tl common.TestLogger)
}
SetUp is likely to be fixture-specific, but TearDown needs to be consistent to enable TearDownOnPanic.
type UnmanagedFramework ¶
type UnmanagedFramework struct { Config *restclient.Config Kubeconfig *clientcmdapi.Config BaseName string // contains filtered or unexported fields }
func (*UnmanagedFramework) AfterEach ¶
func (f *UnmanagedFramework) AfterEach()
AfterEach deletes the namespace, after reading its events.
func (*UnmanagedFramework) BeforeEach ¶
func (f *UnmanagedFramework) BeforeEach()
BeforeEach checks for federation apiserver is ready and makes a namespace.
func (*UnmanagedFramework) Client ¶ added in v0.0.7
func (f *UnmanagedFramework) Client(userAgent string) genericclient.Client
func (*UnmanagedFramework) ClusterConfigs ¶
func (f *UnmanagedFramework) ClusterConfigs(userAgent string) map[string]common.TestClusterConfig
func (*UnmanagedFramework) ClusterDynamicClients ¶
func (f *UnmanagedFramework) ClusterDynamicClients(apiResource *metav1.APIResource, userAgent string) map[string]common.TestCluster
func (*UnmanagedFramework) ClusterKubeClients ¶
func (f *UnmanagedFramework) ClusterKubeClients(userAgent string) map[string]kubeclientset.Interface
func (*UnmanagedFramework) ClusterNames ¶ added in v0.0.2
func (f *UnmanagedFramework) ClusterNames(userAgent string) []string
func (*UnmanagedFramework) ControllerConfig ¶ added in v0.0.3
func (f *UnmanagedFramework) ControllerConfig() *util.ControllerConfig
func (*UnmanagedFramework) FederationSystemNamespace ¶ added in v0.0.2
func (f *UnmanagedFramework) FederationSystemNamespace() string
func (*UnmanagedFramework) KubeClient ¶
func (f *UnmanagedFramework) KubeClient(userAgent string) kubeclientset.Interface
func (*UnmanagedFramework) KubeConfig ¶
func (f *UnmanagedFramework) KubeConfig() *restclient.Config
func (*UnmanagedFramework) Logger ¶ added in v0.0.3
func (f *UnmanagedFramework) Logger() common.TestLogger
func (*UnmanagedFramework) TestNamespaceName ¶
func (f *UnmanagedFramework) TestNamespaceName() string
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string.
|
Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string. |