@@ -39,6 +39,7 @@ import (
39
39
"sigs.k8s.io/node-feature-discovery-operator/internal/daemonset"
40
40
"sigs.k8s.io/node-feature-discovery-operator/internal/deployment"
41
41
"sigs.k8s.io/node-feature-discovery-operator/internal/job"
42
+ "sigs.k8s.io/node-feature-discovery-operator/internal/status"
42
43
)
43
44
44
45
var _ = Describe ("Reconcile" , func () {
@@ -179,7 +180,7 @@ var _ = Describe("handleMaster", func() {
179
180
clnt = client .NewMockClient (ctrl )
180
181
mockDeployment = deployment .NewMockDeploymentAPI (ctrl )
181
182
182
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , mockDeployment , nil , nil , nil , scheme )
183
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , mockDeployment , nil , nil , nil , nil , scheme )
183
184
})
184
185
185
186
ctx := context .Background ()
@@ -248,7 +249,7 @@ var _ = Describe("handleWorker", func() {
248
249
mockDS = daemonset .NewMockDaemonsetAPI (ctrl )
249
250
mockCM = configmap .NewMockConfigMapAPI (ctrl )
250
251
251
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , mockDS , mockCM , nil , scheme )
252
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , mockDS , mockCM , nil , nil , scheme )
252
253
})
253
254
254
255
ctx := context .Background ()
@@ -344,7 +345,7 @@ var _ = Describe("handleTopology", func() {
344
345
clnt = client .NewMockClient (ctrl )
345
346
mockDS = daemonset .NewMockDaemonsetAPI (ctrl )
346
347
347
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , mockDS , nil , nil , scheme )
348
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , mockDS , nil , nil , nil , scheme )
348
349
})
349
350
350
351
ctx := context .Background ()
@@ -429,7 +430,7 @@ var _ = Describe("handleGC", func() {
429
430
clnt = client .NewMockClient (ctrl )
430
431
mockDeployment = deployment .NewMockDeploymentAPI (ctrl )
431
432
432
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , mockDeployment , nil , nil , nil , scheme )
433
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , mockDeployment , nil , nil , nil , nil , scheme )
433
434
})
434
435
435
436
ctx := context .Background ()
@@ -485,7 +486,7 @@ var _ = Describe("handleGC", func() {
485
486
486
487
var _ = Describe ("hasFinalizer" , func () {
487
488
It ("checking return status whether finalizer set or not" , func () {
488
- nfdh := newNodeFeatureDiscoveryHelperAPI (nil , nil , nil , nil , nil , nil )
489
+ nfdh := newNodeFeatureDiscoveryHelperAPI (nil , nil , nil , nil , nil , nil , nil )
489
490
490
491
By ("finalizers was empty" )
491
492
nfdCR := nfdv1.NodeFeatureDiscovery {
@@ -529,7 +530,7 @@ var _ = Describe("setFinalizer", func() {
529
530
BeforeEach (func () {
530
531
ctrl = gomock .NewController (GinkgoT ())
531
532
clnt = client .NewMockClient (ctrl )
532
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , nil , nil , nil , nil )
533
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , nil , nil , nil , nil , nil )
533
534
})
534
535
535
536
It ("checking the return status of setFinalizer function" , func () {
@@ -588,7 +589,7 @@ var _ = Describe("finalizeComponents", func() {
588
589
mockDS = daemonset .NewMockDaemonsetAPI (ctrl )
589
590
mockCM = configmap .NewMockConfigMapAPI (ctrl )
590
591
591
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , mockDeployment , mockDS , mockCM , nil , scheme )
592
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , mockDeployment , mockDS , mockCM , nil , nil , scheme )
592
593
})
593
594
594
595
ctx := context .Background ()
@@ -663,7 +664,7 @@ var _ = Describe("removeFinalizer", func() {
663
664
ctrl = gomock .NewController (GinkgoT ())
664
665
clnt = client .NewMockClient (ctrl )
665
666
666
- nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , nil , nil , nil , scheme )
667
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , nil , nil , nil , nil , scheme )
667
668
})
668
669
669
670
ctx := context .Background ()
@@ -707,7 +708,7 @@ var _ = Describe("handlePrune", func() {
707
708
BeforeEach (func () {
708
709
ctrl = gomock .NewController (GinkgoT ())
709
710
mockJob = job .NewMockJobAPI (ctrl )
710
- nfdh = newNodeFeatureDiscoveryHelperAPI (nil , nil , nil , nil , mockJob , scheme )
711
+ nfdh = newNodeFeatureDiscoveryHelperAPI (nil , nil , nil , nil , mockJob , nil , scheme )
711
712
})
712
713
713
714
ctx := context .Background ()
@@ -788,3 +789,73 @@ var _ = Describe("handlePrune", func() {
788
789
Entry ("job finished, its pod failed" , true , false ),
789
790
)
790
791
})
792
+
793
+ var _ = Describe ("handleStatus" , func () {
794
+ var (
795
+ ctrl * gomock.Controller
796
+ clnt * client.MockClient
797
+ mockStatus * status.MockStatusAPI
798
+ nfdh nodeFeatureDiscoveryHelperAPI
799
+ )
800
+
801
+ BeforeEach (func () {
802
+ ctrl = gomock .NewController (GinkgoT ())
803
+ clnt = client .NewMockClient (ctrl )
804
+ mockStatus = status .NewMockStatusAPI (ctrl )
805
+ nfdh = newNodeFeatureDiscoveryHelperAPI (clnt , nil , nil , nil , nil , mockStatus , scheme )
806
+ })
807
+
808
+ ctx := context .Background ()
809
+ nfdCR := nfdv1.NodeFeatureDiscovery {
810
+ Status : nfdv1.NodeFeatureDiscoveryStatus {
811
+ Conditions : []metav1.Condition {},
812
+ },
813
+ }
814
+ newConditions := []metav1.Condition {}
815
+
816
+ It ("conditions are equal, no status update is needed" , func () {
817
+ gomock .InOrder (
818
+ mockStatus .EXPECT ().GetConditions (ctx , & nfdCR ).Return (newConditions ),
819
+ mockStatus .EXPECT ().AreConditionsEqual (newConditions , nfdCR .Status .Conditions ).Return (true ),
820
+ )
821
+
822
+ err := nfdh .handleStatus (ctx , & nfdCR )
823
+ Expect (err ).To (BeNil ())
824
+ })
825
+
826
+ It ("conditions are not equal, status update is needed" , func () {
827
+ statusWriter := client .NewMockStatusWriter (ctrl )
828
+ expectedNFD := nfdv1.NodeFeatureDiscovery {
829
+ Status : nfdv1.NodeFeatureDiscoveryStatus {
830
+ Conditions : newConditions ,
831
+ },
832
+ }
833
+ gomock .InOrder (
834
+ mockStatus .EXPECT ().GetConditions (ctx , & nfdCR ).Return (newConditions ),
835
+ mockStatus .EXPECT ().AreConditionsEqual (newConditions , nfdCR .Status .Conditions ).Return (false ),
836
+ clnt .EXPECT ().Status ().Return (statusWriter ),
837
+ statusWriter .EXPECT ().Patch (ctx , & expectedNFD , gomock .Any ()).Return (nil ),
838
+ )
839
+
840
+ err := nfdh .handleStatus (ctx , & nfdCR )
841
+ Expect (err ).To (BeNil ())
842
+ })
843
+
844
+ It ("conditions are not equal, status update failed" , func () {
845
+ statusWriter := client .NewMockStatusWriter (ctrl )
846
+ expectedNFD := nfdv1.NodeFeatureDiscovery {
847
+ Status : nfdv1.NodeFeatureDiscoveryStatus {
848
+ Conditions : newConditions ,
849
+ },
850
+ }
851
+ gomock .InOrder (
852
+ mockStatus .EXPECT ().GetConditions (ctx , & nfdCR ).Return (newConditions ),
853
+ mockStatus .EXPECT ().AreConditionsEqual (newConditions , nfdCR .Status .Conditions ).Return (false ),
854
+ clnt .EXPECT ().Status ().Return (statusWriter ),
855
+ statusWriter .EXPECT ().Patch (ctx , & expectedNFD , gomock .Any ()).Return (fmt .Errorf ("some error" )),
856
+ )
857
+
858
+ err := nfdh .handleStatus (ctx , & nfdCR )
859
+ Expect (err ).To (HaveOccurred ())
860
+ })
861
+ })
0 commit comments