kubernetes/test/integration/apiserver/apply/apply_test.go

func setup(t testing.TB) (clientset.Interface, kubeapiservertesting.TearDownFunc) {}

// TestApplyAlsoCreates makes sure that PATCH requests with the apply content type
// will create the object if it doesn't already exist
// TODO: make a set of test cases in an easy-to-consume place (separate package?) so it's easy to test in both integration and e2e.
func TestApplyAlsoCreates(t *testing.T) {}

// TestNoOpUpdateSameResourceVersion makes sure that PUT requests which change nothing
// will not change the resource version (no write to etcd is done)
func TestNoOpUpdateSameResourceVersion(t *testing.T) {}

// TestNoOpApplyWithEmptyMap
func TestNoOpApplyWithEmptyMap(t *testing.T) {}

// TestApplyEmptyMarkerStructDifferentFromNil
func TestApplyEmptyMarkerStructDifferentFromNil(t *testing.T) {}

func getRV(obj runtime.Object) (string, error) {}

func TestNoopChangeCreationTime(t *testing.T) {}

// TestNoSemanticUpdateAppleSameResourceVersion makes sure that APPLY requests which makes no semantic changes
// will not change the resource version (no write to etcd is done)
//
// Some of the non-semantic changes are:
// - Applying an atomic struct that removes a default
// - Changing Quantity or other fields that are normalized
func TestNoSemanticUpdateApplySameResourceVersion(t *testing.T) {}

// TestNoSemanticUpdateAppleSameResourceVersion makes sure that PUT requests which makes no semantic changes
// will not change the resource version (no write to etcd is done)
//
// Some of the non-semantic changes are:
// - Applying an atomic struct that removes a default
// - Changing Quantity or other fields that are normalized
func TestNoSemanticUpdatePutSameResourceVersion(t *testing.T) {}

// TestCreateOnApplyFailsWithUID makes sure that PATCH requests with the apply content type
// will not create the object if it doesn't already exist and it specifies a UID
func TestCreateOnApplyFailsWithUID(t *testing.T) {}

func TestApplyUpdateApplyConflictForced(t *testing.T) {}

// TestApplyGroupsManySeparateUpdates tests that when many different managers update the same object,
// the number of managedFields entries will only grow to a certain size.
func TestApplyGroupsManySeparateUpdates(t *testing.T) {}

// TestCreateVeryLargeObject tests that a very large object can be created without exceeding the size limit due to managedFields
func TestCreateVeryLargeObject(t *testing.T) {}

// TestUpdateVeryLargeObject tests that a small object can be updated to be very large without exceeding the size limit due to managedFields
func TestUpdateVeryLargeObject(t *testing.T) {}

// TestPatchVeryLargeObject tests that a small object can be patched to be very large without exceeding the size limit due to managedFields
func TestPatchVeryLargeObject(t *testing.T) {}

// TestPatchVeryLargeObjectCBORApply mirrors TestPatchVeryLargeObject using the +cbor structured
// syntax suffix for application/apply-patch and with CBOR enabled.
func TestPatchVeryLargeObjectCBORApply(t *testing.T) {}

// TestApplyManagedFields makes sure that managedFields api does not change
func TestApplyManagedFields(t *testing.T) {}

// TestApplyRemovesEmptyManagedFields there are no empty managers in managedFields
func TestApplyRemovesEmptyManagedFields(t *testing.T) {}

func TestApplyRequiresFieldManager(t *testing.T) {}

// TestApplyRemoveContainerPort removes a container port from a deployment
func TestApplyRemoveContainerPort(t *testing.T) {}

// TestApplyFailsWithVersionMismatch ensures that a version mismatch between the
// patch object and the live object will error
func TestApplyFailsWithVersionMismatch(t *testing.T) {}

// TestApplyConvertsManagedFieldsVersion checks that the apply
// converts the API group-version in the field manager
func TestApplyConvertsManagedFieldsVersion(t *testing.T) {}

// TestClearManagedFieldsWithMergePatch verifies it's possible to clear the managedFields
func TestClearManagedFieldsWithMergePatch(t *testing.T) {}

// TestClearManagedFieldsWithStrategicMergePatch verifies it's possible to clear the managedFields
func TestClearManagedFieldsWithStrategicMergePatch(t *testing.T) {}

// TestClearManagedFieldsWithJSONPatch verifies it's possible to clear the managedFields
func TestClearManagedFieldsWithJSONPatch(t *testing.T) {}

// TestClearManagedFieldsWithUpdate verifies it's possible to clear the managedFields
func TestClearManagedFieldsWithUpdate(t *testing.T) {}

// TestErrorsDontFail
func TestErrorsDontFail(t *testing.T) {}

func TestErrorsDontFailUpdate(t *testing.T) {}

func TestErrorsDontFailPatch(t *testing.T) {}

func TestApplyDoesNotChangeManagedFieldsViaSubresources(t *testing.T) {}

// TestClearManagedFieldsWithUpdateEmptyList verifies it's possible to clear the managedFields by sending an empty list.
func TestClearManagedFieldsWithUpdateEmptyList(t *testing.T) {}

// TestApplyUnsetExclusivelyOwnedFields verifies that when owned fields are omitted from an applied
// configuration, and no other managers own the field, it is removed.
func TestApplyUnsetExclusivelyOwnedFields(t *testing.T) {}

// TestApplyUnsetSharedFields verifies that when owned fields are omitted from an applied
// configuration, but other managers also own the field, is it not removed.
func TestApplyUnsetSharedFields(t *testing.T) {}

// TestApplyCanTransferFieldOwnershipToController verifies that when an applier creates an
// object, a controller takes ownership of a field, and the applier
// then omits the field from its applied configuration, that the field value persists.
func TestApplyCanTransferFieldOwnershipToController(t *testing.T) {}

// TestApplyCanRemoveMapItemsContributedToByControllers verifies that when an applier creates an
// object, a controller modifies the contents of the map item via update, and the applier
// then omits the item from its applied configuration, that the item is removed.
func TestApplyCanRemoveMapItemsContributedToByControllers(t *testing.T) {}

// TestDefaultMissingKeys makes sure that the missing keys default is used when merging.
func TestDefaultMissingKeys(t *testing.T) {}

var podBytes

func decodePod(podBytes []byte) v1.Pod {}

func encodePod(pod v1.Pod) []byte {}

func getPodBytesWhenEnabled(b *testing.B, pod v1.Pod, format string) []byte {}

func BenchmarkServerSideApply(b *testing.B) {}

func benchAll(b *testing.B, client clientset.Interface, pod v1.Pod) {}

func benchPostPod(client clientset.Interface, pod v1.Pod, parallel int) func(*testing.B) {}

func createNamespace(client clientset.Interface, name string) error {}

func benchListPod(client clientset.Interface, pod v1.Pod, num int) func(*testing.B) {}

func benchRepeatedUpdate(client clientset.Interface, podName string) func(*testing.B) {}

func TestUpgradeClientSideToServerSideApply(t *testing.T) {}

func TestRenamingAppliedFieldManagers(t *testing.T) {}

func TestRenamingUpdatedFieldManagers(t *testing.T) {}

func TestDroppingSubresourceField(t *testing.T) {}

func TestDroppingSubresourceFromSpecField(t *testing.T) {}

func TestSubresourceField(t *testing.T) {}

// K8s has a bug introduced in vX.XX.X which changed the treatment of
// ObjectReferences from granular to atomic. This means that only one manager
// may own all fields of the ObjectReference. This resulted in a regression
// for the common use case of user-specified GVK, and machine-populated UID fields.
//
// This is a test to show that clusters  affected by this bug before it was fixed
// do not experience any friction when updating to a version of k8s which marks
// the fields' management again as granular.
func TestApplyFormerlyAtomicFields(t *testing.T) {}

func TestDuplicatesInAssociativeLists(t *testing.T) {}

func TestApplyMatchesFakeClientsetApply(t *testing.T) {}

var wipeTime

func wipeMetadataForFakeClientTests(meta metav1.ObjectMeta) metav1.ObjectMeta {}

func expectManagedFields(t *testing.T, managedFields []metav1.ManagedFieldsEntry, expect string) {}

// TestCreateOnApplyFailsWithForbidden makes sure that PATCH requests with the apply content type
// will not create the object if the user does not have both patch and create permissions.
func TestCreateOnApplyFailsWithForbidden(t *testing.T) {}

func requireForbiddenPodErr(t *testing.T, err error, message string) {}

func ssaPod(client *clientset.Clientset) error {}

func createPodRBACAndWait(t *testing.T, client *clientset.Clientset, verb string) {}