Skip to content
This repository was archived by the owner on Sep 9, 2024. It is now read-only.

Commit b8d42c9

Browse files
adorney99pbrownlow7
authored andcommitted
test: adding setup/fail tests to meet 85% threshold (#80)
1 parent ef33d59 commit b8d42c9

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

controllers/cstates_controller_test.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ import (
1313
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1414
"k8s.io/apimachinery/pkg/runtime"
1515
"k8s.io/client-go/kubernetes/scheme"
16+
"k8s.io/client-go/rest"
1617
ctrl "sigs.k8s.io/controller-runtime"
1718
"sigs.k8s.io/controller-runtime/pkg/client"
1819
"sigs.k8s.io/controller-runtime/pkg/client/fake"
20+
// "sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
1921
"sigs.k8s.io/controller-runtime/pkg/reconcile"
2022
)
2123

@@ -254,3 +256,20 @@ func setupFuzz(t *testing.T, nodeName string, namespace string, extraNode bool,
254256

255257
return buildCStatesReconcilerObject(objs, powerLib), req
256258
}
259+
260+
261+
// tests failure for SetupWithManager function
262+
func TestCstate_Reconcile_SetupFail(t *testing.T) {
263+
powerLibMock := new(hostMock)
264+
r := buildCStatesReconcilerObject([]runtime.Object{}, powerLibMock)
265+
mgr, _ := ctrl.NewManager(&rest.Config{}, ctrl.Options{
266+
Scheme: scheme.Scheme,
267+
})
268+
269+
err := (&CStatesReconciler{
270+
Client: r.Client,
271+
Scheme: r.Scheme,
272+
}).SetupWithManager(mgr)
273+
assert.Error(t, err)
274+
275+
}

controllers/powerconfig_controller_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)