mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
Remove selflink integration tests
This commit is contained in:
parent
21c0f6f6ff
commit
41ee6a3e44
@ -35,10 +35,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/apiserver/pkg/features"
|
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
"k8s.io/client-go/dynamic"
|
"k8s.io/client-go/dynamic"
|
||||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestServerUp(t *testing.T) {
|
func TestServerUp(t *testing.T) {
|
||||||
@ -626,55 +623,6 @@ func TestSameNameDiffNamespace(t *testing.T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelfLink(t *testing.T) {
|
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RemoveSelfLink, false)()
|
|
||||||
|
|
||||||
tearDown, apiExtensionClient, dynamicClient, err := fixtures.StartDefaultServerWithClients(t)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer tearDown()
|
|
||||||
|
|
||||||
// namespace scoped
|
|
||||||
noxuDefinition := fixtures.NewNoxuV1CustomResourceDefinition(apiextensionsv1.NamespaceScoped)
|
|
||||||
noxuDefinition, err = fixtures.CreateNewV1CustomResourceDefinition(noxuDefinition, apiExtensionClient, dynamicClient)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
ns := "not-the-default"
|
|
||||||
noxuNamespacedResourceClient := newNamespacedCustomResourceClient(ns, dynamicClient, noxuDefinition)
|
|
||||||
|
|
||||||
noxuInstanceToCreate := fixtures.NewNoxuInstance(ns, "foo")
|
|
||||||
createdNoxuInstance, err := noxuNamespacedResourceClient.Create(context.TODO(), noxuInstanceToCreate, metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if e, a := "/apis/mygroup.example.com/v1beta1/namespaces/not-the-default/noxus/foo", createdNoxuInstance.GetSelfLink(); e != a {
|
|
||||||
t.Errorf("expected %v, got %v", e, a)
|
|
||||||
}
|
|
||||||
|
|
||||||
// cluster scoped
|
|
||||||
curletDefinition := fixtures.NewCurletV1CustomResourceDefinition(apiextensionsv1.ClusterScoped)
|
|
||||||
curletDefinition, err = fixtures.CreateNewV1CustomResourceDefinition(curletDefinition, apiExtensionClient, dynamicClient)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
curletResourceClient := newNamespacedCustomResourceClient(ns, dynamicClient, curletDefinition)
|
|
||||||
|
|
||||||
curletInstanceToCreate := fixtures.NewCurletInstance(ns, "foo")
|
|
||||||
createdCurletInstance, err := curletResourceClient.Create(context.TODO(), curletInstanceToCreate, metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if e, a := "/apis/mygroup.example.com/v1beta1/curlets/foo", createdCurletInstance.GetSelfLink(); e != a {
|
|
||||||
t.Errorf("expected %v, got %v", e, a)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestPreserveInt(t *testing.T) {
|
func TestPreserveInt(t *testing.T) {
|
||||||
tearDown, apiExtensionClient, dynamicClient, err := fixtures.StartDefaultServerWithClients(t)
|
tearDown, apiExtensionClient, dynamicClient, err := fixtures.StartDefaultServerWithClients(t)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -32,7 +32,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apiserver/pkg/features"
|
|
||||||
genericfeatures "k8s.io/apiserver/pkg/features"
|
genericfeatures "k8s.io/apiserver/pkg/features"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
"k8s.io/client-go/dynamic"
|
"k8s.io/client-go/dynamic"
|
||||||
@ -330,14 +329,6 @@ func TestScaleSubresource(t *testing.T) {
|
|||||||
t.Fatalf("Scale.Status.Selector: expected: %v, got: %v", "bar", gottenScale.Status.Selector)
|
t.Fatalf("Scale.Status.Selector: expected: %v, got: %v", "bar", gottenScale.Status.Selector)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(features.RemoveSelfLink) {
|
|
||||||
// check self link
|
|
||||||
expectedSelfLink := fmt.Sprintf("/apis/mygroup.example.com/%s/namespaces/not-the-default/noxus/foo/scale", v.Name)
|
|
||||||
if gottenScale.GetSelfLink() != expectedSelfLink {
|
|
||||||
t.Fatalf("Scale.Metadata.SelfLink: expected: %v, got: %v", expectedSelfLink, gottenScale.GetSelfLink())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// update the scale object
|
// update the scale object
|
||||||
// check that spec is updated, but status is not
|
// check that spec is updated, but status is not
|
||||||
gottenScale.Spec.Replicas = 5
|
gottenScale.Spec.Replicas = 5
|
||||||
|
@ -682,16 +682,10 @@ func TestApplyManagedFields(t *testing.T) {
|
|||||||
t.Fatalf("Failed to marshal object: %v", err)
|
t.Fatalf("Failed to marshal object: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
selfLink := ""
|
|
||||||
if !utilfeature.DefaultFeatureGate.Enabled(genericfeatures.RemoveSelfLink) {
|
|
||||||
selfLink = `
|
|
||||||
"selfLink": "` + accessor.GetSelfLink() + `",`
|
|
||||||
}
|
|
||||||
|
|
||||||
expected := []byte(`{
|
expected := []byte(`{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "test-cm",
|
"name": "test-cm",
|
||||||
"namespace": "default",` + selfLink + `
|
"namespace": "default",
|
||||||
"uid": "` + string(accessor.GetUID()) + `",
|
"uid": "` + string(accessor.GetUID()) + `",
|
||||||
"resourceVersion": "` + accessor.GetResourceVersion() + `",
|
"resourceVersion": "` + accessor.GetResourceVersion() + `",
|
||||||
"creationTimestamp": "` + accessor.GetCreationTimestamp().UTC().Format(time.RFC3339) + `",
|
"creationTimestamp": "` + accessor.GetCreationTimestamp().UTC().Format(time.RFC3339) + `",
|
||||||
@ -2565,7 +2559,6 @@ func benchAll(b *testing.B, client kubernetes.Interface, pod v1.Pod) {
|
|||||||
pod.ObjectMeta.CreationTimestamp = metav1.Time{}
|
pod.ObjectMeta.CreationTimestamp = metav1.Time{}
|
||||||
pod.ObjectMeta.ResourceVersion = ""
|
pod.ObjectMeta.ResourceVersion = ""
|
||||||
pod.ObjectMeta.UID = ""
|
pod.ObjectMeta.UID = ""
|
||||||
pod.ObjectMeta.SelfLink = ""
|
|
||||||
|
|
||||||
// Create pod for repeated-updates
|
// Create pod for repeated-updates
|
||||||
pod.Name = "repeated-pod"
|
pod.Name = "repeated-pod"
|
||||||
|
@ -42,13 +42,10 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/apiserver/pkg/features"
|
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
appsv1ac "k8s.io/client-go/applyconfigurations/apps/v1"
|
appsv1ac "k8s.io/client-go/applyconfigurations/apps/v1"
|
||||||
corev1ac "k8s.io/client-go/applyconfigurations/core/v1"
|
corev1ac "k8s.io/client-go/applyconfigurations/core/v1"
|
||||||
metav1ac "k8s.io/client-go/applyconfigurations/meta/v1"
|
metav1ac "k8s.io/client-go/applyconfigurations/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
|
||||||
|
|
||||||
"k8s.io/component-base/version"
|
"k8s.io/component-base/version"
|
||||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||||
@ -969,67 +966,6 @@ func TestMultiWatch(t *testing.T) {
|
|||||||
t.Errorf("durations: %v", dur)
|
t.Errorf("durations: %v", dur)
|
||||||
}
|
}
|
||||||
|
|
||||||
func runSelfLinkTestOnNamespace(t *testing.T, c clientset.Interface, namespace string) {
|
|
||||||
podBody := v1.Pod{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: "selflinktest",
|
|
||||||
Namespace: namespace,
|
|
||||||
Labels: map[string]string{
|
|
||||||
"name": "selflinktest",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Spec: v1.PodSpec{
|
|
||||||
Containers: []v1.Container{
|
|
||||||
{Name: "name", Image: "image"},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
pod, err := c.CoreV1().Pods(namespace).Create(context.TODO(), &podBody, metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Failed creating selflinktest pod: %v", err)
|
|
||||||
}
|
|
||||||
if err = c.CoreV1().RESTClient().Get().RequestURI(pod.SelfLink).Do(context.TODO()).Into(pod); err != nil {
|
|
||||||
t.Errorf("Failed listing pod with supplied self link '%v': %v", pod.SelfLink, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
podList, err := c.CoreV1().Pods(namespace).List(context.TODO(), metav1.ListOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("Failed listing pods: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = c.CoreV1().RESTClient().Get().RequestURI(podList.SelfLink).Do(context.TODO()).Into(podList); err != nil {
|
|
||||||
t.Errorf("Failed listing pods with supplied self link '%v': %v", podList.SelfLink, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
found := false
|
|
||||||
for i := range podList.Items {
|
|
||||||
item := &podList.Items[i]
|
|
||||||
if item.Name != "selflinktest" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
found = true
|
|
||||||
err = c.CoreV1().RESTClient().Get().RequestURI(item.SelfLink).Do(context.TODO()).Into(pod)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("Failed listing pod with supplied self link '%v': %v", item.SelfLink, err)
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if !found {
|
|
||||||
t.Errorf("never found selflinktest pod in namespace %s", namespace)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestSelfLinkOnNamespace(t *testing.T) {
|
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RemoveSelfLink, false)()
|
|
||||||
|
|
||||||
result := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--disable-admission-plugins", "ServiceAccount"}, framework.SharedEtcd())
|
|
||||||
defer result.TearDownFn()
|
|
||||||
|
|
||||||
c := clientset.NewForConfigOrDie(result.ClientConfig)
|
|
||||||
|
|
||||||
runSelfLinkTestOnNamespace(t, c, "default")
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestApplyWithApplyConfiguration(t *testing.T) {
|
func TestApplyWithApplyConfiguration(t *testing.T) {
|
||||||
deployment := appsv1ac.Deployment("nginx-deployment-3", "default").
|
deployment := appsv1ac.Deployment("nginx-deployment-3", "default").
|
||||||
WithSpec(appsv1ac.DeploymentSpec().
|
WithSpec(appsv1ac.DeploymentSpec().
|
||||||
|
Loading…
Reference in New Issue
Block a user