Merge pull request #5780 from ctripcloud/crb-status-ut
fix crb_status_controller ut is referencing namespaced objects
This commit is contained in:
commit
e90ff63b6f
|
@ -43,9 +43,9 @@ func generateCRBStatusController() *CRBStatusController {
|
|||
stopCh := make(chan struct{})
|
||||
defer close(stopCh)
|
||||
dynamicClient := dynamicfake.NewSimpleDynamicClient(scheme.Scheme,
|
||||
&corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "pod1", Namespace: "default"}})
|
||||
&corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "ns1"}})
|
||||
m := genericmanager.NewSingleClusterInformerManager(dynamicClient, 0, stopCh)
|
||||
m.Lister(corev1.SchemeGroupVersion.WithResource("pods"))
|
||||
m.Lister(corev1.SchemeGroupVersion.WithResource("namespaces"))
|
||||
m.Start()
|
||||
m.WaitForCacheSync()
|
||||
|
||||
|
@ -55,7 +55,7 @@ func generateCRBStatusController() *CRBStatusController {
|
|||
InformerManager: m,
|
||||
RESTMapper: func() meta.RESTMapper {
|
||||
m := meta.NewDefaultRESTMapper([]schema.GroupVersion{corev1.SchemeGroupVersion})
|
||||
m.Add(corev1.SchemeGroupVersion.WithKind("Pod"), meta.RESTScopeNamespace)
|
||||
m.Add(corev1.SchemeGroupVersion.WithKind("Namespace"), meta.RESTScopeNamespace)
|
||||
return m
|
||||
}(),
|
||||
EventRecorder: &record.FakeRecorder{},
|
||||
|
@ -76,14 +76,12 @@ func TestCRBStatusController_Reconcile(t *testing.T) {
|
|||
binding: &workv1alpha2.ClusterResourceBinding{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "binding",
|
||||
Namespace: "default",
|
||||
},
|
||||
Spec: workv1alpha2.ResourceBindingSpec{
|
||||
Resource: workv1alpha2.ObjectReference{
|
||||
APIVersion: "v1",
|
||||
Kind: "Pod",
|
||||
Namespace: "default",
|
||||
Name: "pod",
|
||||
Kind: "Namespace",
|
||||
Name: "ns",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -100,7 +98,6 @@ func TestCRBStatusController_Reconcile(t *testing.T) {
|
|||
binding: &workv1alpha2.ClusterResourceBinding{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "binding",
|
||||
Namespace: "default",
|
||||
// finalizers field is required when deletionTimestamp is defined, otherwise will encounter the
|
||||
// error: `refusing to create obj binding with metadata.deletionTimestamp but no finalizers`.
|
||||
Finalizers: []string{"test"},
|
||||
|
@ -109,9 +106,8 @@ func TestCRBStatusController_Reconcile(t *testing.T) {
|
|||
Spec: workv1alpha2.ResourceBindingSpec{
|
||||
Resource: workv1alpha2.ObjectReference{
|
||||
APIVersion: "v1",
|
||||
Kind: "Pod",
|
||||
Namespace: "default",
|
||||
Name: "pod",
|
||||
Kind: "Namespace",
|
||||
Name: "ns",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -129,7 +125,6 @@ func TestCRBStatusController_Reconcile(t *testing.T) {
|
|||
req := controllerruntime.Request{
|
||||
NamespacedName: types.NamespacedName{
|
||||
Name: "binding",
|
||||
Namespace: "default",
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -153,7 +148,7 @@ func TestCRBStatusController_syncBindingStatus(t *testing.T) {
|
|||
tests := []struct {
|
||||
name string
|
||||
resource workv1alpha2.ObjectReference
|
||||
podNameInDynamicClient string
|
||||
nsNameInDynamicClient string
|
||||
resourceExistInClient bool
|
||||
expectedError bool
|
||||
}{
|
||||
|
@ -161,18 +156,17 @@ func TestCRBStatusController_syncBindingStatus(t *testing.T) {
|
|||
name: "failed in FetchResourceTemplate, err is NotFound",
|
||||
resource: workv1alpha2.ObjectReference{
|
||||
APIVersion: "v1",
|
||||
Kind: "Pod",
|
||||
Namespace: "default",
|
||||
Name: "pod",
|
||||
Kind: "Namespace",
|
||||
Name: "ns",
|
||||
},
|
||||
podNameInDynamicClient: "pod1",
|
||||
nsNameInDynamicClient: "ns1",
|
||||
resourceExistInClient: true,
|
||||
expectedError: false,
|
||||
},
|
||||
{
|
||||
name: "failed in FetchResourceTemplate, err is not NotFound",
|
||||
resource: workv1alpha2.ObjectReference{},
|
||||
podNameInDynamicClient: "pod",
|
||||
nsNameInDynamicClient: "ns",
|
||||
resourceExistInClient: true,
|
||||
expectedError: true,
|
||||
},
|
||||
|
@ -180,11 +174,10 @@ func TestCRBStatusController_syncBindingStatus(t *testing.T) {
|
|||
name: "failed in AggregateClusterResourceBindingWorkStatus",
|
||||
resource: workv1alpha2.ObjectReference{
|
||||
APIVersion: "v1",
|
||||
Kind: "Pod",
|
||||
Namespace: "default",
|
||||
Name: "pod",
|
||||
Kind: "Namespace",
|
||||
Name: "ns",
|
||||
},
|
||||
podNameInDynamicClient: "pod",
|
||||
nsNameInDynamicClient: "ns",
|
||||
resourceExistInClient: false,
|
||||
expectedError: true,
|
||||
},
|
||||
|
@ -194,13 +187,12 @@ func TestCRBStatusController_syncBindingStatus(t *testing.T) {
|
|||
t.Run(tt.name, func(t *testing.T) {
|
||||
c := generateCRBStatusController()
|
||||
c.DynamicClient = dynamicfake.NewSimpleDynamicClient(scheme.Scheme,
|
||||
&corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: tt.podNameInDynamicClient, Namespace: "default"}})
|
||||
&corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: tt.nsNameInDynamicClient}})
|
||||
c.ResourceInterpreter = FakeResourceInterpreter{DefaultInterpreter: native.NewDefaultInterpreter()}
|
||||
|
||||
binding := &workv1alpha2.ClusterResourceBinding{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "binding",
|
||||
Namespace: "default",
|
||||
},
|
||||
Spec: workv1alpha2.ResourceBindingSpec{
|
||||
Resource: tt.resource,
|
||||
|
|
Loading…
Reference in New Issue