Beispiel #1
0
			It("returns the error", func() {
				_, err := container.Info()
				Ω(err).Should(Equal(disaster))
			})
		})
	})

	Describe("GetProperties", func() {
		Context("when getting properties succeeds", func() {
			BeforeEach(func() {
				fakeConnection.GetPropertiesReturns(garden.Properties{"Foo": "bar"}, nil)
			})

			It("returns the error", func() {
				result, err := container.GetProperties()
				Ω(err).ShouldNot(HaveOccurred())
				Ω(result).Should(Equal(garden.Properties{"Foo": "bar"}))
			})
		})

		Context("when getting properties fails", func() {
			disaster := errors.New("oh no!")

			BeforeEach(func() {
				fakeConnection.GetPropertiesReturns(nil, disaster)
			})

			It("returns the error", func() {
				_, err := container.GetProperties()
				Ω(err).Should(Equal(disaster))
					metrics, err := container.Metrics()
					Ω(err).Should(HaveOccurred())
					Ω(metrics).Should(Equal(garden.Metrics{}))
				})
			})
		})

		Describe("properties", func() {
			Describe("getting all", func() {
				Context("when getting the properties succeeds", func() {
					BeforeEach(func() {
						fakeContainer.GetPropertiesReturns(garden.Properties{"foo": "bar"}, nil)
					})

					It("returns the properties from the container", func() {
						value, err := container.GetProperties()
						Ω(err).ShouldNot(HaveOccurred())

						Ω(value).Should(Equal(garden.Properties{"foo": "bar"}))
					})

					itResetsGraceTimeWhenHandling(func() {
						_, err := container.GetProperties()
						Ω(err).ShouldNot(HaveOccurred())
					})

					itFailsWhenTheContainerIsNotFound(func() error {
						_, err := container.GetProperties()
						return err
					})
				})