test

package
v0.16.1 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2023 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const KubeVipTemplate = `` /* 1091-byte string literal not displayed */

KubeVipTemplate is the default kube-vip pod template for internal testing.

Variables

View Source
var UpdateGoldenFiles = flag.Bool("update", false, "update golden files")

Functions

func AContext added in v0.9.0

func AContext() gomock.Matcher

AContext returns a gomock matchers that evaluates if the receive value can fullfills the context.Context interface.

func AssertContentToFile

func AssertContentToFile(t *testing.T, gotContent, wantFile string)

func AssertFilesEquals

func AssertFilesEquals(t *testing.T, gotPath, wantPath string)

func Bundle added in v0.13.0

func Bundle() *releasev1.Bundles

Bundle returns a test bundle struct for unit testing.

func Bundles added in v0.6.0

func Bundles(tb testing.TB) *releasev1alpha1.Bundles

Bundles returs a test Bundles. All the paths to referenced manifests are valid and can be read.

func CACertContent added in v0.15.0

func CACertContent() string

CACertContent returns a test string representing a cacert contents.

func CAPICluster added in v0.13.0

func CAPICluster(opts ...CAPIClusterOpt) *clusterv1.Cluster

CAPICluster returns a capi cluster which can be configured by passing in opts arguments.

func EksdRelease added in v0.8.0

func EksdRelease() *eksdv1.Release

EksdRelease returns a test release struct for unit testing.

func EksdReleaseFromTestData added in v0.13.0

func EksdReleaseFromTestData(t *testing.T) *eksdv1alpha1.Release

EksdReleaseFromTestData returns a test release struct for unit testing from a testdata file. See EksdRelease() for a static struct to test with.

func FakeNow

func FakeNow() time.Time

func MatchFile added in v0.13.0

func MatchFile(file string) gomock.Matcher

MatchFile returns a gomock matcher that compares []byte input to the content of the given file.

func Namespace added in v0.13.0

func Namespace(name string) *corev1.Namespace

Namespace returns a test namespace struct for unit testing.

func NewClusterSpec

func NewClusterSpec(opts ...ClusterSpecOpt) *cluster.Spec

func NewClusterSpecForCluster added in v0.15.0

func NewClusterSpecForCluster(tb testing.TB, c *v1alpha1.Cluster) *cluster.Spec

NewClusterSpecForCluster builds a compliant cluster.Spec from a Cluster using a test Bundles and EKS-D Release.

func NewClusterSpecForConfig added in v0.15.0

func NewClusterSpecForConfig(tb testing.TB, config *cluster.Config) *cluster.Spec

NewClusterSpecForConfig builds a compliant cluster.Spec from a cluster.Config using a test Bundles and EKS-D Release.

func NewFakeKubeClient added in v0.12.0

func NewFakeKubeClient(objs ...client.Object) kubernetes.Client

NewFakeKubeClient returns a kubernetes.Client that uses a fake client.Client under the hood.

func NewFakeKubeClientAlwaysError added in v0.12.0

func NewFakeKubeClientAlwaysError(objs ...client.Object) kubernetes.Client

NewFakeKubeClientAlwaysError returns a kubernetes.Client that will always fail in any operation This is achieved by injecting an empty Scheme, which will make the underlying client.Client incapable of determining the resource type for a particular client.Object.

func NewFakeNow added in v0.15.2

func NewFakeNow() time.Time

NewFakeNow sets a dummy value for time.Now in unit tests. This is particularly useful when testing upgrade operations.

func NewFileReader added in v0.15.0

func NewFileReader() *files.Reader

NewFileReader builds a file reader with a proper user-agent. Unit tests should never make network call to the internet, but just in case we set the user-agent to be able to pin-point them here.

func NewFullClusterSpec

func NewFullClusterSpec(t *testing.T, clusterConfigFile string) *cluster.Spec

func NewHTTPSServerForFile added in v0.15.1

func NewHTTPSServerForFile(t *testing.T, filePath string) *httptest.Server

NewHTTPSServerForFile creates an HTTPS server that always serves the content of the given file.

func NewHTTPServerForFile added in v0.9.0

func NewHTTPServerForFile(t *testing.T, filePath string) *httptest.Server

func NewKubeClient added in v0.12.0

func NewKubeClient(client client.Client) kubernetes.Client

NewKubeClient builds a new kubernetes.Client by using client.Client.

func NewNullLogger added in v0.11.0

func NewNullLogger() logr.Logger

func NewWriter

func NewWriter(t *testing.T) (dir string, writer filewriter.FileWriter)

func OfType

func OfType(t string) gomock.Matcher

func RandString added in v0.7.1

func RandString(n int) string

func ReadFile

func ReadFile(t *testing.T, file string) string

func ReadFileAsBytes added in v0.12.0

func ReadFileAsBytes(t *testing.T, file string) []byte

func RegistryMirrorConfigFilesInsecureSkipVerify added in v0.15.0

func RegistryMirrorConfigFilesInsecureSkipVerify() []bootstrapv1.File

RegistryMirrorConfigFilesInsecureSkipVerify returns cluster-api bootstrap files that configure containerd to use a registry mirror with the insecure_skip_verify flag enabled.

func RegistryMirrorConfigFilesInsecureSkipVerifyAndCACert added in v0.15.0

func RegistryMirrorConfigFilesInsecureSkipVerifyAndCACert() []bootstrapv1.File

RegistryMirrorConfigFilesInsecureSkipVerifyAndCACert returns cluster-api bootstrap files that configure containerd to use a registry mirror with a cacert file and insecure_skip_verify flag enabled.

func RegistryMirrorInsecureSkipVerifyEnabled added in v0.15.0

func RegistryMirrorInsecureSkipVerifyEnabled() *anywherev1.RegistryMirrorConfiguration

RegistryMirrorInsecureSkipVerifyEnabled returns a test RegistryMirrorConfiguration with InsecureSkipVerify enabled.

func RegistryMirrorInsecureSkipVerifyEnabledAndCACert added in v0.15.0

func RegistryMirrorInsecureSkipVerifyEnabledAndCACert() *anywherev1.RegistryMirrorConfiguration

RegistryMirrorInsecureSkipVerifyEnabledAndCACert returns a test RegistryMirrorConfiguration with a CACert specified and InsecureSkipVerify enabled.

func RegistryMirrorPreKubeadmCommands added in v0.15.0

func RegistryMirrorPreKubeadmCommands() []string

RegistryMirrorPreKubeadmCommands returns a list of commands to writes a config_append.toml file to configure the registry mirror and restart containerd.

func RegistryMirrorSudoPreKubeadmCommands added in v0.15.0

func RegistryMirrorSudoPreKubeadmCommands() []string

RegistryMirrorSudoPreKubeadmCommands returns a list of commands that writes a config_append.toml file to configure the registry mirror and restart containerd with sudo permissions.

func RemoveFileIfExists added in v0.12.0

func RemoveFileIfExists(t *testing.T, filename string)

RemoveFileIfExists is a helper for ValidateFilename tests.

func SanitizePath added in v0.8.0

func SanitizePath(s string) string

SanitizePath sanitizes s so its usable as a path name. For safety, it assumes all characters that are not A-Z, a-z, 0-9, _ or - are illegal and replaces them with _.

func SetTag

func SetTag(image *releasev1alpha1.Image, tag string)

func UseEnvTest added in v0.12.0

func UseEnvTest(t *testing.T) *rest.Config

UseEnvTest sets up the controller-runtime EnvTest framework.

The test will be skipped if EnvTest framework isn't detected.

EnvTest provides fake k8s control plane components for testing purposes. The process of bringing up and tearing down the EnvTest framework involves running a few binaries, and is not integrated into a vanilla "go test" run, but rather can be run via the unit-test target in Makefile. See https://book.kubebuilder.io/reference/envtest.html for details.

TODO: What could be done to integrate EnvTest with go test, so that "go test" would work?

func WithFakeFile added in v0.12.0

func WithFakeFile(t *testing.T) (f *os.File)

WithFakeFile returns a throwaway file in a test-specific directory.

The file is automatically closed and removed when the test ends.

func WithFakeFileContents added in v0.12.0

func WithFakeFileContents(t *testing.T, r io.Reader) (f *os.File)

WithFakeFileContents returns a throwaway file containing some data.

The file is automatically closed and removed when the test ends.

Types

type CAPIClusterOpt added in v0.13.0

type CAPIClusterOpt func(*clusterv1.Cluster)

CAPIClusterOpt represents an function where a capi cluster is passed as an argument.

type ClusterSpecOpt

type ClusterSpecOpt func(*cluster.Spec)

type Reader added in v0.9.0

type Reader interface {
	ReadFile(url string) ([]byte, error)
}

Reader is a commonly used interface in multiple packages We are replicating here just to create a single mock we can use in multiple test packages.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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