11package mbsc
22
33import (
4+ "context"
5+ "fmt"
6+
47 kmmv1beta1 "github.com/kubernetes-sigs/kernel-module-management/api/v1beta1"
8+ "github.com/kubernetes-sigs/kernel-module-management/internal/client"
59 . "github.com/onsi/ginkgo/v2"
610 . "github.com/onsi/gomega"
11+ gomock "go.uber.org/mock/gomock"
12+ k8serrors "k8s.io/apimachinery/pkg/api/errors"
13+ "k8s.io/apimachinery/pkg/runtime/schema"
14+ "k8s.io/apimachinery/pkg/types"
715)
816
917var _ = Describe ("SetModuleImageSpec" , func () {
@@ -12,7 +20,7 @@ var _ = Describe("SetModuleImageSpec", func() {
1220 )
1321
1422 BeforeEach (func () {
15- mbsc = NewMBSC ()
23+ mbsc = NewMBSC (nil )
1624 })
1725
1826 It ("MBSC does not have any images in spec" , func () {
@@ -58,3 +66,44 @@ var _ = Describe("SetModuleImageSpec", func() {
5866 Expect (len (mbscObj .Spec .Images )).To (Equal (2 ))
5967 })
6068})
69+
70+ var _ = Describe ("GetMBSC" , func () {
71+ var (
72+ ctrl * gomock.Controller
73+ mockClient * client.MockClient
74+ mbsc MBSC
75+ )
76+
77+ BeforeEach (func () {
78+ ctrl = gomock .NewController (GinkgoT ())
79+ mockClient = client .NewMockClient (ctrl )
80+ mbsc = NewMBSC (mockClient )
81+ })
82+
83+ ctx := context .Background ()
84+
85+ It ("mbsc object does not exists" , func () {
86+ mockClient .EXPECT ().Get (ctx , types.NamespacedName {Name : "some name" , Namespace : "some namespace" }, gomock .Any ()).Return (
87+ k8serrors .NewNotFound (schema.GroupResource {}, "owner name" ))
88+
89+ res , err := mbsc .GetMBSC (ctx , "some name" , "some namespace" )
90+ Expect (err ).To (BeNil ())
91+ Expect (res ).To (BeNil ())
92+ })
93+
94+ It ("client get returns some error" , func () {
95+ mockClient .EXPECT ().Get (ctx , types.NamespacedName {Name : "some name" , Namespace : "some namespace" }, gomock .Any ()).Return (fmt .Errorf ("some error" ))
96+
97+ res , err := mbsc .GetMBSC (ctx , "some name" , "some namespace" )
98+ Expect (err ).To (HaveOccurred ())
99+ Expect (res ).To (BeNil ())
100+ })
101+
102+ It ("mbsc object exists" , func () {
103+ mockClient .EXPECT ().Get (ctx , types.NamespacedName {Name : "some name" , Namespace : "some namespace" }, gomock .Any ()).Return (nil )
104+
105+ res , err := mbsc .GetMBSC (ctx , "some name" , "some namespace" )
106+ Expect (err ).To (BeNil ())
107+ Expect (res ).ToNot (BeNil ())
108+ })
109+ })
0 commit comments