entry := findSession(session.ID(), entries) Expect(entry).NotTo(BeNil()) Expect(entry.Name).To(Equal("a-session")) Expect(entry.ID).To(Equal(session.ID())) Expect(entry.Behavior).To(Equal(api.SessionBehaviorDelete)) Expect(entry.TTL).To(Equal("20s")) Expect(entry.LockDelay).To(BeZero()) }) It("renews the session periodically", func() { Eventually(sessionMgr.RenewPeriodicCallCount).ShouldNot(Equal(0)) }) Context("when NodeName() fails", func() { BeforeEach(func() { sessionMgr.NodeNameReturns("", errors.New("nodename failed")) }) It("returns an error", func() { Expect(operationErr().Error()).To(Equal("nodename failed")) }) }) Context("when retrieving the node sessions fail", func() { BeforeEach(func() { sessionMgr.NodeReturns(nil, nil, errors.New("session list failed")) }) It("returns an error", func() { Expect(operationErr().Error()).To(Equal("session list failed")) })