testutil

package
v0.10.3 Latest Latest
Warning

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

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

Documentation

Overview

Package testutil contains some methods useful to mock components while testing

Index

Constants

View Source
const (
	// EndpointIP simulate a node or a load balancer IP.
	EndpointIP = "1.0.0.1"
	// PodCIDR is the CIDR of the pod network used for testing.
	PodCIDR = "fake pod CIDR"
	// ServiceCIDR is the CIDR of the service network used for testing.
	ServiceCIDR = "fake service CIDR"
	// ExternalCIDR is the name of the cluster used for testing.
	ExternalCIDR = "fake external CIDR"
	// OverrideAPIAddress is the overrided address of the API server used for testing.
	OverrideAPIAddress = "1.0.0.2:6443"
	// ForeignAuthURL is the URL of the foreign cluster used for testing.
	ForeignAuthURL = "https://fake-auth-url:32407"
	// ForeignAPIServerURL is the URL of the foreign cluster used for testing.
	ForeignAPIServerURL = "https://fake-apiserver-url:6443"
	// ForeignProxyURL is the URL of the foreign cluster used for testing.
	ForeignProxyURL = "https://fake-proxy-url:32408"
	// VPNGatewayPort is the port of the liqo-gateway service used for testing.
	VPNGatewayPort = 32406
	// AuthenticationPort is the port of the liqo-auth service used for testing.
	AuthenticationPort = 32407
	// FakeNotReflectedLabelKey is the key of the fake not reflected label used for testing.
	FakeNotReflectedLabelKey = "not-reflected-label"
	// FakeNotReflectedAnnotKey is the key of the fake not reflected annotation used for testing.
	FakeNotReflectedAnnotKey = "not-reflected-annot"
	// FakeLiqoVersion is the version of Liqo used for testing.
	FakeLiqoVersion = "fake-version"
)

Variables

View Source
var (
	// ReservedSubnets is the list of reserved subnets used for testing.
	ReservedSubnets = []string{
		"reserved subnet 1",
		"reserved subnet 2",
		"reserved subnet 3",
		"reserved subnet 4",
	}
	// ClusterLabels is the map of labels used for testing.
	ClusterLabels = map[string]string{
		"liqo.io/testLabel": "fake label",
	}
)

Functions

func BeNotFound added in v0.3.1

func BeNotFound() types.GomegaMatcher

BeNotFound returns a new IsNotFoundErrorMatcher to catch k8s not-found errors.

func FailBecauseNotFound added in v0.3.1

func FailBecauseNotFound() types.GomegaMatcher

FailBecauseNotFound returns a new IsNotFoundErrorMatcher to catch k8s not-found errors.

func FakeAcquiredResourceOffer added in v0.8.0

func FakeAcquiredResourceOffer(remoteClusterIdentity *discoveryv1alpha1.ClusterIdentity,
	remoteClusterTenant string, resources corev1.ResourceList) *sharingv1alpha1.ResourceOffer

FakeAcquiredResourceOffer returns a fake ResourceOffer containing acquired resources.

func FakeClusterIDConfigMap added in v0.5.0

func FakeClusterIDConfigMap(namespace, clusterID, clusterName string) *corev1.ConfigMap

FakeClusterIDConfigMap returns a fake ClusterID ConfigMap.

func FakeControllerManagerDeployment added in v0.7.1

func FakeControllerManagerDeployment(argsClusterLabels []string, networkEnabled bool) *appv1.Deployment

FakeControllerManagerDeployment returns a fake liqo-controller-manager deployment.

func FakeEventRecorder

func FakeEventRecorder(bufferSize int) *record.FakeRecorder

FakeEventRecorder returns an event recorder that can be used to capture events.

func FakeForeignCluster added in v0.8.0

func FakeForeignCluster(clusterIdentity discoveryv1alpha1.ClusterIdentity, tenantNamespace string,
	peeringType discoveryv1alpha1.PeeringType,
	outgoingEnabled, incomingEnabled discoveryv1alpha1.PeeringEnabledType,
	outgoingConditionStatus, incomingConditionStatus, networkConditionStatus discoveryv1alpha1.PeeringConditionStatusType,
) *discoveryv1alpha1.ForeignCluster

FakeForeignCluster returns a fake ForeignCluster.

func FakeForgingOpts added in v0.9.0

func FakeForgingOpts() *forge.ForgingOpts

FakeForgingOpts returns a fake ForgingOpts.

func FakeIPAM added in v0.5.0

func FakeIPAM(namespace string) *netv1alpha1.IpamStorage

FakeIPAM returns an IPAM with the specified namespace and name.

func FakeLiqoAuthDeployment added in v0.7.1

func FakeLiqoAuthDeployment(addressOverride string) *appv1.Deployment

FakeLiqoAuthDeployment returns a fake liqo-auth deployment.

func FakeLiqoAuthService added in v0.7.1

func FakeLiqoAuthService(serviceType corev1.ServiceType) *corev1.Service

FakeLiqoAuthService returns a fake liqo-auth service.

func FakeLiqoGatewayService added in v0.7.1

func FakeLiqoGatewayService(serviceType corev1.ServiceType) *corev1.Service

FakeLiqoGatewayService returns a fake liqo-gateway service.

func FakeNetworkConfig added in v0.8.0

func FakeNetworkConfig(local bool, clusterName, tenantNamespace,
	podCIDR, extCIDR, podCIDRNAT, extCIDRNAT string) *netv1alpha1.NetworkConfig

FakeNetworkConfig returns a fake NetworkConfig.

func FakeNode added in v0.7.1

func FakeNode() *corev1.Node

FakeNode returns a node.

func FakeNodeWithNameAndLabels added in v0.9.0

func FakeNodeWithNameAndLabels(name string, labels map[string]string) *corev1.Node

FakeNodeWithNameAndLabels returns a node with the specified name and labels.

func FakePodWithSingleContainer

func FakePodWithSingleContainer(namespace, name, image string) *corev1.Pod

FakePodWithSingleContainer returns a pod with the specified namespace and name, and having a single container with the specified image.

func FakeResourceOffer added in v0.8.0

func FakeResourceOffer(name, tenant string, resources corev1.ResourceList) *sharingv1alpha1.ResourceOffer

FakeResourceOffer returns a fake ResourceOffer.

func FakeSecret

func FakeSecret(namespace, name string, data map[string]string) *corev1.Secret

FakeSecret returns a secret with the specified namespace, name and data.

func FakeSelfSignedCertificate

func FakeSelfSignedCertificate(commonName string) (certificate []byte, err error)

FakeSelfSignedCertificate returns the content of a self-signed certificate for testing purposes.

func FakeServiceClusterIP added in v0.7.1

func FakeServiceClusterIP(namespace, name, clusterIP string, protocol corev1.Protocol, port int32) *corev1.Service

FakeServiceClusterIP returns a ClusterIP service with the specified namespace, name and service info.

func FakeServiceLoadBalancer added in v0.7.1

func FakeServiceLoadBalancer(namespace, name, externalIP string, labels map[string]string, annotations map[string]string,
	protocol corev1.Protocol, port int32, portName string) *corev1.Service

FakeServiceLoadBalancer returns a LoadBalancer service with the specified namespace, name and service info.

func FakeServiceNodePort added in v0.7.1

func FakeServiceNodePort(namespace, name string, labels map[string]string, annotations map[string]string,
	protocol corev1.Protocol, port int32, portName string, nodePort int32) *corev1.Service

FakeServiceNodePort returns a NodePort service with the specified namespace, name and service info.

func FakeSharedResourceOffer added in v0.8.0

func FakeSharedResourceOffer(remoteClusterIdentity *discoveryv1alpha1.ClusterIdentity,
	remoteClusterTenant, localClusterName string, resources corev1.ResourceList) *sharingv1alpha1.ResourceOffer

FakeSharedResourceOffer returns a fake ResourceOffer containing shared resources.

func FakeTunnelEndpoint added in v0.8.0

func FakeTunnelEndpoint(remoteClusterIdentity *discoveryv1alpha1.ClusterIdentity, remoteClusterTenant string) *netv1alpha1.TunnelEndpoint

FakeTunnelEndpoint returns a fake TunnelEndpoint.

func LogsToGinkgoWriter added in v0.4.0

func LogsToGinkgoWriter()

LogsToGinkgoWriter configures klog to output the logs to GinkgoWriter, instead of stdout. This allows to output the logs only in case of failing tests, simplifying troubleshooting.

func SqueezeWhitespaces added in v0.7.0

func SqueezeWhitespaces(s string) string

SqueezeWhitespaces squeezes a string replacing multiple whitespaces with a single one.

Types

type Cluster

type Cluster struct {
	// contains filtered or unexported fields
}

func NewTestCluster

func NewTestCluster(crdPath []string) (Cluster, manager.Manager, error)

func (*Cluster) GetCfg

func (c *Cluster) GetCfg() *rest.Config

func (*Cluster) GetClient

func (c *Cluster) GetClient() kubernetes.Interface

GetClient returns the crd client.

func (*Cluster) GetEnv

func (c *Cluster) GetEnv() *envtest.Environment

GetEnv returns the test environment.

type DnsServer

type DnsServer struct {
	// contains filtered or unexported fields
}

func (*DnsServer) GetAddr

func (s *DnsServer) GetAddr() string

func (*DnsServer) GetName

func (s *DnsServer) GetName() string

func (*DnsServer) Serve

func (s *DnsServer) Serve()

func (*DnsServer) ServeDNS

func (s *DnsServer) ServeDNS(w dns.ResponseWriter, r *dns.Msg)

func (*DnsServer) Shutdown

func (s *DnsServer) Shutdown()

type IsNotFoundErrorMatcher added in v0.3.1

type IsNotFoundErrorMatcher struct{}

IsNotFoundErrorMatcher is a custom matcher to check when kubernetes resources do not exist.

func (*IsNotFoundErrorMatcher) FailureMessage added in v0.3.1

func (s *IsNotFoundErrorMatcher) FailureMessage(actual interface{}) (message string)

FailureMessage is called when the matcher fails positively.

func (*IsNotFoundErrorMatcher) Match added in v0.3.1

func (s *IsNotFoundErrorMatcher) Match(actual interface{}) (success bool, err error)

Match is a GomegaMatcher interface method to actually run the matcher.

func (*IsNotFoundErrorMatcher) NegatedFailureMessage added in v0.3.1

func (s *IsNotFoundErrorMatcher) NegatedFailureMessage(actual interface{}) (message string)

NegatedFailureMessage is called when the matcher fails negatively.

type MatchObject added in v0.4.0

type MatchObject struct {
	Name      string
	Namespace string
}

MatchObject is a matcher that matches an object with a given name and namespace.

func (*MatchObject) FailureMessage added in v0.4.0

func (m *MatchObject) FailureMessage(actual interface{}) (message string)

FailureMessage returns a failure message.

func (*MatchObject) Match added in v0.4.0

func (m *MatchObject) Match(actual interface{}) (success bool, err error)

Match checks if it matches an object with a given name and namespace.

func (*MatchObject) NegatedFailureMessage added in v0.4.0

func (m *MatchObject) NegatedFailureMessage(actual interface{}) (message string)

NegatedFailureMessage returns a negated failure message.

Jump to

Keyboard shortcuts

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