testutil

package
v0.0.0-...-05b898d Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	YtsaurusName  = "test-ytsaurus"
	MasterPodName = "ms-0"
	// RemoteResourceName is a name for test remote ytsaurus and nodes.
	// It is short because of error:
	// `Failed to create pod sandbox: failed to construct FQDN from pod hostname and cluster domain, FQDN
	// <...> is too long (64 characters is the max, 67 characters requested)`.
	// FIXME(khlebnikov): https://github.com/ytsaurus/ytsaurus-k8s-operator/issues/390
	RemoteResourceName = "rmt"
	// Images should be in sync with TEST_IMAGES variable in Makefile
	// todo: come up with a more elegant solution
	CoreImageFirst   = "ghcr.io/ytsaurus/ytsaurus:stable-23.2.0"
	CoreImageSecond  = "ghcr.io/ytsaurus/ytsaurus:stable-24.1.0"
	CoreImageNextVer = "ghcr.io/ytsaurus/ytsaurus-nightly:dev-24.2-2025-03-03-3e3acb6592a673533589443b4e7354b21e29debd"
)

Variables

This section is empty.

Functions

func BuildMinimalYtsaurus

func BuildMinimalYtsaurus(namespace, name string) ytv1.Ytsaurus

func CreateBaseYtsaurusResource

func CreateBaseYtsaurusResource(namespace string) *ytv1.Ytsaurus

func CreateDataNodeInstanceSpec

func CreateDataNodeInstanceSpec(instanceCount int32) ytv1.InstanceSpec

func CreateExecNodeInstanceSpec

func CreateExecNodeInstanceSpec() ytv1.InstanceSpec

func CreateMinimalYtsaurusResource

func CreateMinimalYtsaurusResource(namespace string) *ytv1.Ytsaurus

func CreateTabletNodeSpec

func CreateTabletNodeSpec(instanceCount int32) ytv1.InstanceSpec

func DeployObject

func DeployObject(h *TestHelper, object client.Object)

func Eventually

func Eventually(h *TestHelper, description string, condition func() bool)

func FetchAndCheckConfigMapContainsEventually

func FetchAndCheckConfigMapContainsEventually(h *TestHelper, objectKey, cmKey, expectSubstr string)

func FetchAndCheckEventually

func FetchAndCheckEventually(h *TestHelper, key string, obj client.Object, condDescription string, condition func(obj client.Object) bool)

func FetchConfigMapData

func FetchConfigMapData(h *TestHelper, objectKey, mapKey string) string

func FetchEventually

func FetchEventually(h *TestHelper, key string, obj client.Object)

func GetObject

func GetObject(h *TestHelper, key string, emptyObject client.Object)

helpers

func ListObjects

func ListObjects(h *TestHelper, emptyList client.ObjectList)

func MarkAllJobsCompleted

func MarkAllJobsCompleted(h *TestHelper)

func MarkJobSucceeded

func MarkJobSucceeded(h *TestHelper, key string)

func UpdateObject

func UpdateObject(h *TestHelper, emptyObject, newObject client.Object)

func UpdateObjectStatus

func UpdateObjectStatus(h *TestHelper, newObject client.Object)

func WithBaseYtsaurusComponents

func WithBaseYtsaurusComponents(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithBootstrap

func WithBootstrap(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithControllerAgents

func WithControllerAgents(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithDataNodes

func WithDataNodes(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

TODO (l0kix2): merge with ytconfig build spec helpers.

func WithDataNodesCount

func WithDataNodesCount(ytsaurus *ytv1.Ytsaurus, count int32, name *string) *ytv1.Ytsaurus

func WithExecNodes

func WithExecNodes(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithNamedDataNodes

func WithNamedDataNodes(ytsaurus *ytv1.Ytsaurus, name *string) *ytv1.Ytsaurus

func WithQueryTracker

func WithQueryTracker(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithQueueAgent

func WithQueueAgent(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithRPCProxies

func WithRPCProxies(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithScheduler

func WithScheduler(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithTabletNodes

func WithTabletNodes(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

func WithTabletNodesCount

func WithTabletNodesCount(ytsaurus *ytv1.Ytsaurus, count int32) *ytv1.Ytsaurus

func WithYqlAgent

func WithYqlAgent(ytsaurus *ytv1.Ytsaurus) *ytv1.Ytsaurus

Types

type CombinedKubeWatcher

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

CombinedKubeWatcher is a watcher that combines multiple watchers into a single channel preserving watcher interface.

func NewCombinedKubeWatcher

func NewCombinedKubeWatcher(ctx context.Context, kubecli client.WithWatch, namespace string, lists []client.ObjectList) (*CombinedKubeWatcher, error)

func (*CombinedKubeWatcher) ResultChan

func (w *CombinedKubeWatcher) ResultChan() <-chan watch.Event

func (*CombinedKubeWatcher) Stop

func (w *CombinedKubeWatcher) Stop()

type TestHelper

type TestHelper struct {
	Namespace string
	// contains filtered or unexported fields
}

func NewTestHelper

func NewTestHelper(t *testing.T, namespace, crdDirectoryPath string) *TestHelper

func (*TestHelper) GetK8sClient

func (h *TestHelper) GetK8sClient() client.Client

func (*TestHelper) GetObjectKey

func (h *TestHelper) GetObjectKey(name string) client.ObjectKey

func (*TestHelper) GetObjectMeta

func (h *TestHelper) GetObjectMeta(name string) metav1.ObjectMeta

func (*TestHelper) Log

func (h *TestHelper) Log(args ...any)

func (*TestHelper) Logf

func (h *TestHelper) Logf(format string, args ...any)

func (*TestHelper) Start

func (h *TestHelper) Start(reconcilerSetup func(mgr ctrl.Manager) error)

func (*TestHelper) Stop

func (h *TestHelper) Stop()

Jump to

Keyboard shortcuts

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