Exemplo n.º 1
0
				It("should no longer be fresh", func() {
					fresh, err := store.IsActualStateFresh(time.Unix(130, 0))
					Ω(err).ShouldNot(HaveOccurred())
					Ω(fresh).Should(BeTrue())

					store.RevokeActualFreshness()

					fresh, err = store.IsActualStateFresh(time.Unix(130, 0))
					Ω(err).ShouldNot(HaveOccurred())
					Ω(fresh).Should(BeFalse())
				})
			})
		})

		Context("the desired state", func() {
			bumpingFreshness("/hm/v1"+conf.DesiredFreshnessKey, conf.DesiredFreshnessTTL(), Store.BumpDesiredFreshness)
		})
	})

	Describe("Verifying the store's freshness", func() {
		Context("when neither the desired or actual state is fresh", func() {
			It("should return the appropriate error", func() {
				err := store.VerifyFreshness(time.Unix(100, 0))
				Ω(err).Should(Equal(ActualAndDesiredAreNotFreshError))
			})
		})

		Context("when only the desired state is not fresh", func() {
			It("should return the appropriate error", func() {
				store.BumpActualFreshness(time.Unix(100, 0))
				err := store.VerifyFreshness(time.Unix(int64(100+conf.ActualFreshnessTTL()), 0))