@@ -7,13 +7,17 @@ import (
77 "k8s.io/apimachinery/pkg/api/resource"
88 "k8s.io/apimachinery/pkg/runtime"
99 "k8s.io/client-go/kubernetes/scheme"
10+ "k8s.io/client-go/rest"
1011 ctrl "sigs.k8s.io/controller-runtime"
1112 "sigs.k8s.io/controller-runtime/pkg/client"
1213 "sigs.k8s.io/controller-runtime/pkg/client/fake"
14+ "sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
1315 "sigs.k8s.io/controller-runtime/pkg/reconcile"
1416
1517 powerv1 "github.com/intel/kubernetes-power-manager/api/v1"
1618 "github.com/intel/kubernetes-power-manager/pkg/state"
19+ "github.com/stretchr/testify/assert"
20+ "github.com/stretchr/testify/mock"
1721 appsv1 "k8s.io/api/apps/v1"
1822 corev1 "k8s.io/api/core/v1"
1923 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -695,3 +699,35 @@ func TestPowerConfig_Reconcile_Deletion(t *testing.T) {
695699 }
696700 }
697701}
702+
703+ // tests positive and negative cases for SetupWithManager function
704+ func TestPowerConfig_Reconcile_SetupPass (t * testing.T ) {
705+ r , err := createConfigReconcilerObject ([]runtime.Object {})
706+ assert .Nil (t , err )
707+ mgr := new (mgrMock )
708+ mgr .On ("GetControllerOptions" ).Return (v1alpha1.ControllerConfigurationSpec {})
709+ mgr .On ("GetScheme" ).Return (r .Scheme )
710+ mgr .On ("GetLogger" ).Return (r .Log )
711+ mgr .On ("SetFields" , mock .Anything ).Return (nil )
712+ mgr .On ("Add" , mock .Anything ).Return (nil )
713+ err = (& PowerConfigReconciler {
714+ Client : r .Client ,
715+ Scheme : r .Scheme ,
716+ }).SetupWithManager (mgr )
717+ assert .Nil (t , err )
718+
719+ }
720+ func TesPowerConfig_Reconcile_SetupFail (t * testing.T ) {
721+ r , err := createConfigReconcilerObject ([]runtime.Object {})
722+ assert .Nil (t , err )
723+ mgr , _ := ctrl .NewManager (& rest.Config {}, ctrl.Options {
724+ Scheme : scheme .Scheme ,
725+ })
726+
727+ err = (& PowerConfigReconciler {
728+ Client : r .Client ,
729+ Scheme : r .Scheme ,
730+ }).SetupWithManager (mgr )
731+ assert .Error (t , err )
732+
733+ }
0 commit comments