Skip to content

Commit 11c20dc

Browse files
committed
Rafactor Start test suite
1 parent 6bdd70d commit 11c20dc

File tree

1 file changed

+19
-97
lines changed

1 file changed

+19
-97
lines changed

pkg/manager/manager_test.go

Lines changed: 19 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -115,100 +115,9 @@ var _ = Describe("manger.Manager", func() {
115115
})
116116

117117
Describe("Start", func() {
118-
It("should Start each Component", func(done Done) {
119-
m, err := New(cfg, Options{})
120-
Expect(err).NotTo(HaveOccurred())
121-
c1 := make(chan struct{})
122-
m.Add(RunnableFunc(func(s <-chan struct{}) error {
123-
defer close(c1)
124-
defer GinkgoRecover()
125-
return nil
126-
}))
127-
128-
c2 := make(chan struct{})
129-
m.Add(RunnableFunc(func(s <-chan struct{}) error {
130-
defer close(c2)
131-
defer GinkgoRecover()
132-
return nil
133-
}))
134-
135-
go func() {
136-
defer GinkgoRecover()
137-
Expect(m.Start(stop)).NotTo(HaveOccurred())
138-
}()
139-
<-c1
140-
<-c2
141-
142-
close(done)
143-
})
144-
145-
It("should stop when stop is called", func(done Done) {
146-
m, err := New(cfg, Options{})
147-
Expect(err).NotTo(HaveOccurred())
148-
s := make(chan struct{})
149-
close(s)
150-
Expect(m.Start(s)).NotTo(HaveOccurred())
151-
152-
close(done)
153-
})
154-
155-
It("should return an error if it can't start the cache", func(done Done) {
156-
m, err := New(cfg, Options{})
157-
Expect(err).NotTo(HaveOccurred())
158-
mgr, ok := m.(*controllerManager)
159-
Expect(ok).To(BeTrue())
160-
mgr.startCache = func(stop <-chan struct{}) error {
161-
return fmt.Errorf("expected error")
162-
}
163-
Expect(m.Start(stop).Error()).To(ContainSubstring("expected error"))
164-
165-
close(done)
166-
})
167-
168-
It("should return an error if any Components fail to Start", func(done Done) {
169-
m, err := New(cfg, Options{})
170-
Expect(err).NotTo(HaveOccurred())
171-
c1 := make(chan struct{})
172-
m.Add(RunnableFunc(func(s <-chan struct{}) error {
173-
defer GinkgoRecover()
174-
defer close(c1)
175-
return nil
176-
}))
177-
178-
c2 := make(chan struct{})
179-
m.Add(RunnableFunc(func(s <-chan struct{}) error {
180-
defer GinkgoRecover()
181-
defer close(c2)
182-
return fmt.Errorf("expected error")
183-
}))
184-
185-
c3 := make(chan struct{})
186-
m.Add(RunnableFunc(func(s <-chan struct{}) error {
187-
defer GinkgoRecover()
188-
defer close(c3)
189-
return nil
190-
}))
191-
192-
go func() {
193-
defer GinkgoRecover()
194-
Expect(m.Start(stop)).NotTo(HaveOccurred())
195-
close(done)
196-
}()
197-
<-c1
198-
<-c2
199-
<-c3
200-
})
201-
202-
Context("with leaderelection enabled", func() {
203-
opts := Options{
204-
LeaderElection: true,
205-
LeaderElectionID: "controller-runtime",
206-
LeaderElectionNamespace: "default",
207-
newResourceLock: fakeleaderelection.NewFakeResourceLock,
208-
}
209-
118+
var startSuite = func(options Options) {
210119
It("should Start each Component", func(done Done) {
211-
m, err := New(cfg, opts)
120+
m, err := New(cfg, options)
212121
Expect(err).NotTo(HaveOccurred())
213122
c1 := make(chan struct{})
214123
m.Add(RunnableFunc(func(s <-chan struct{}) error {
@@ -235,7 +144,7 @@ var _ = Describe("manger.Manager", func() {
235144
})
236145

237146
It("should stop when stop is called", func(done Done) {
238-
m, err := New(cfg, opts)
147+
m, err := New(cfg, options)
239148
Expect(err).NotTo(HaveOccurred())
240149
s := make(chan struct{})
241150
close(s)
@@ -245,7 +154,7 @@ var _ = Describe("manger.Manager", func() {
245154
})
246155

247156
It("should return an error if it can't start the cache", func(done Done) {
248-
m, err := New(cfg, opts)
157+
m, err := New(cfg, options)
249158
Expect(err).NotTo(HaveOccurred())
250159
mgr, ok := m.(*controllerManager)
251160
Expect(ok).To(BeTrue())
@@ -255,10 +164,10 @@ var _ = Describe("manger.Manager", func() {
255164
Expect(m.Start(stop).Error()).To(ContainSubstring("expected error"))
256165

257166
close(done)
258-
}, 5)
167+
})
259168

260169
It("should return an error if any Components fail to Start", func(done Done) {
261-
m, err := New(cfg, opts)
170+
m, err := New(cfg, options)
262171
Expect(err).NotTo(HaveOccurred())
263172
c1 := make(chan struct{})
264173
m.Add(RunnableFunc(func(s <-chan struct{}) error {
@@ -290,6 +199,19 @@ var _ = Describe("manger.Manager", func() {
290199
<-c2
291200
<-c3
292201
})
202+
}
203+
204+
Context("with defaults", func() {
205+
startSuite(Options{})
206+
})
207+
208+
Context("with leaderelection enabled", func() {
209+
startSuite(Options{
210+
LeaderElection: true,
211+
LeaderElectionID: "controller-runtime",
212+
LeaderElectionNamespace: "default",
213+
newResourceLock: fakeleaderelection.NewFakeResourceLock,
214+
})
293215
})
294216
})
295217

0 commit comments

Comments
 (0)