kor icon indicating copy to clipboard operation
kor copied to clipboard

Add Test for GetUnusedAll functionality

Open yonahd opened this issue 1 year ago • 0 comments

In order to properly support testing this we need to refactor the tests in the rest of the resources by separating creating the clientset from the resource creation e.g. deployments

func createTestDeployments(clientset *fake.Clientset, t *testing.T) {
	appLabels := map[string]string{}

	deployment1 := CreateTestDeployment(testNamespace, "test-deployment1", 0, appLabels)
	deployment2 := CreateTestDeployment(testNamespace, "test-deployment2", 1, appLabels)
	_, err := clientset.AppsV1().Deployments(testNamespace).Create(context.TODO(), deployment1, v1.CreateOptions{})
	if err != nil {
		t.Fatalf("Error creating fake deployment: %v", err)
	}

	_, err = clientset.AppsV1().Deployments(testNamespace).Create(context.TODO(), deployment2, v1.CreateOptions{})
	if err != nil {
		t.Fatalf("Error creating fake deployment: %v", err)
	}
}

func createTestDeploymentsClient(t *testing.T) *fake.Clientset {
	clientset := fake.NewSimpleClientset()

	_, err := clientset.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{
		ObjectMeta: v1.ObjectMeta{Name: testNamespace},
	}, v1.CreateOptions{})

	if err != nil {
		t.Fatalf("Error creating namespace %s: %v", testNamespace, err)
	}

	createTestDeployments(clientset, t)

	return clientset
}

Once this is done the all test can reuse createTestDeployments(and the same for the rest of the resources)

yonahd avatar Nov 22 '23 19:11 yonahd