@@ -291,78 +291,4 @@ var _ = Describe("Utils", Label("utils"), func() {
291291 Expect (err ).To (HaveOccurred ())
292292 })
293293 })
294- Describe ("CleanStack" , Label ("CleanStack" ), func () {
295- var cleaner * utils.CleanStack
296- BeforeEach (func () {
297- cleaner = utils .NewCleanStack ()
298- })
299- It ("Adds a callback to the stack and pops it" , func () {
300- var flag bool
301- callback := func () error {
302- flag = true
303- return nil
304- }
305- Expect (cleaner .Pop ()).To (BeNil ())
306- cleaner .Push (callback )
307- poppedJob := cleaner .Pop ()
308- Expect (poppedJob ).NotTo (BeNil ())
309- poppedJob ()
310- Expect (flag ).To (BeTrue ())
311- })
312- It ("On Cleanup runs callback stack in reverse order" , func () {
313- result := ""
314- callback1 := func () error {
315- result = result + "one "
316- return nil
317- }
318- callback2 := func () error {
319- result = result + "two "
320- return nil
321- }
322- callback3 := func () error {
323- result = result + "three "
324- return nil
325- }
326- cleaner .Push (callback1 )
327- cleaner .Push (callback2 )
328- cleaner .Push (callback3 )
329- cleaner .Cleanup (nil )
330- Expect (result ).To (Equal ("three two one " ))
331- })
332- It ("On Cleanup keeps former error and all callbacks are executed" , func () {
333- err := errors .New ("Former error" )
334- count := 0
335- callback := func () error {
336- count ++
337- if count == 2 {
338- return errors .New ("Cleanup Error" )
339- }
340- return nil
341- }
342- cleaner .Push (callback )
343- cleaner .Push (callback )
344- cleaner .Push (callback )
345- err = cleaner .Cleanup (err )
346- Expect (count ).To (Equal (3 ))
347- Expect (err .Error ()).To (ContainSubstring ("Former error" ))
348- })
349- It ("On Cleanup error reports first error and all callbacks are executed" , func () {
350- var err error
351- count := 0
352- callback := func () error {
353- count ++
354- if count >= 2 {
355- return errors .New (fmt .Sprintf ("Cleanup error %d" , count ))
356- }
357- return nil
358- }
359- cleaner .Push (callback )
360- cleaner .Push (callback )
361- cleaner .Push (callback )
362- err = cleaner .Cleanup (err )
363- Expect (count ).To (Equal (3 ))
364- Expect (err .Error ()).To (ContainSubstring ("Cleanup error 2" ))
365- Expect (err .Error ()).To (ContainSubstring ("Cleanup error 3" ))
366- })
367- })
368294})
0 commit comments