kubernetes/staging/src/k8s.io/apiextensions-apiserver/test/integration/ratcheting_test.go

var stringSchema

var stringMapSchema

var numberSchema

var numbersMapSchema

type ratchetingTestContext

type ratchetingTestOperation

type expectError

func (e expectError) Do(ctx *ratchetingTestContext) error {}

func (e expectError) Description() string {}

var fakeRESTMapper

// FixTabsOrDie counts the number of tab characters preceding the first
// line in the given yaml object. It removes that many tabs from every
// line. It panics (it's a test function) if some line has fewer tabs
// than the first line.
//
// The purpose of this is to make it easier to read tests.
func FixTabsOrDie(in string) string {}

type applyPatchOperation

func (a applyPatchOperation) Do(ctx *ratchetingTestContext) error {}

func (a applyPatchOperation) Description() string {}

type updateMyCRDV1Beta1Schema

func (u updateMyCRDV1Beta1Schema) Do(ctx *ratchetingTestContext) error {}

func (u updateMyCRDV1Beta1Schema) Description() string {}

type patchMyCRDV1Beta1Schema

func (p patchMyCRDV1Beta1Schema) Do(ctx *ratchetingTestContext) error {}

func (p patchMyCRDV1Beta1Schema) Description() string {}

type ratchetingTestCase

func runTests(t *testing.T, cases []ratchetingTestCase) {}

var myCRDV1Beta1

var myCRDInstanceName

func TestRatchetingFunctionality(t *testing.T) {}

func ptr[T any](v T) *T {}

type validator

func newValidator(customResourceValidation *apiextensionsinternal.JSONSchemaProps, kind schema.GroupVersionKind, namespaceScoped bool) (validator, error) {}

// Recursively walks the provided directory and parses the YAML files into
// unstructured objects. If there are more than one object in a single file,
// they are all added to the returned slice.
func loadObjects(dir string) []*unstructured.Unstructured {}

func BenchmarkRatcheting(b *testing.B) {}

func TestRatchetingDropFields(t *testing.T) {}