Skip to content

Commit f994d0c

Browse files
committed
Rafactor Start test suite
1 parent 11a2378 commit f994d0c

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
@@ -114,100 +114,9 @@ var _ = Describe("manger.Manager", func() {
114114
})
115115

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

236145
It("should stop when stop is called", func(done Done) {
237-
m, err := New(cfg, opts)
146+
m, err := New(cfg, options)
238147
Expect(err).NotTo(HaveOccurred())
239148
s := make(chan struct{})
240149
close(s)
@@ -244,7 +153,7 @@ var _ = Describe("manger.Manager", func() {
244153
})
245154

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

256165
close(done)
257-
}, 5)
166+
})
258167

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

0 commit comments

Comments
 (0)