It("returns the error", func() { _, _, err := container.NetIn(123, 456) Expect(err).To(Equal(disaster)) }) }) }) Describe("Net out", func() { It("delegates to the filter", func() { rule := garden.NetOutRule{} err := container.NetOut(rule) Expect(err).ToNot(HaveOccurred()) Expect(fakeFilter.NetOutCallCount()).To(Equal(1)) passedRule := fakeFilter.NetOutArgsForCall(0) Expect(passedRule).To(Equal(rule)) }) Context("when the filter fails", func() { disaster := errors.New("oh no!") BeforeEach(func() { fakeFilter.NetOutReturns(disaster) }) It("returns the error", func() { err := container.NetOut(garden.NetOutRule{}) Expect(err).To(Equal(disaster)) }) })
err := container.Restore(linux_backend.LinuxContainerSpec{ ContainerSpec: garden.ContainerSpec{Env: []string{"env1=env1value", "env2=env2Value"}}, Resources: containerResources, }) Expect(err).ToNot(HaveOccurred()) Expect(container.Env).To(Equal([]string{"env1=env1value", "env2=env2Value"})) }) It("redoes net-outs", func() { Expect(container.Restore(linux_backend.LinuxContainerSpec{ NetOuts: []garden.NetOutRule{netOutRule1, netOutRule2}, Resources: containerResources, })).To(Succeed()) Expect(fakeFilter.NetOutCallCount()).To(Equal(2)) Expect(fakeFilter.NetOutArgsForCall(0)).To(Equal(netOutRule1)) Expect(fakeFilter.NetOutArgsForCall(1)).To(Equal(netOutRule2)) }) Context("when applying a netout rule fails", func() { It("returns an error", func() { fakeFilter.NetOutReturns(errors.New("didn't work")) Expect(container.Restore( linux_backend.LinuxContainerSpec{ NetOuts: []garden.NetOutRule{{}}, Resources: containerResources, })).To(MatchError("didn't work")) }) })