err = container.Stop(false) Ω(err).ShouldNot(HaveOccurred()) Ω(fakeConnection.Stopped("some-handle")).Should(BeEmpty()) Ω(otherFakeConnection.Stopped("some-handle")).ShouldNot(BeEmpty()) }) }) }) Describe("NetIn", func() { It("sends a net in request", func() { fakeConnection.WhenNetInning = func(handle string, hostPort, containerPort uint32) (uint32, uint32, error) { return 111, 222, nil } hostPort, containerPort, err := container.NetIn(123, 456) Ω(err).ShouldNot(HaveOccurred()) Ω(hostPort).Should(Equal(uint32(111))) Ω(containerPort).Should(Equal(uint32(222))) Ω(fakeConnection.NetInned("some-handle")).Should(ContainElement( fake_connection.NetInSpec{ HostPort: 123, ContainerPort: 456, }, )) }) Context("when the request fails", func() { disaster := errors.New("oh no!")
restartServer() newContainer, err := client.Create(warden.ContainerSpec{}) Expect(err).ToNot(HaveOccurred()) infoB, err := newContainer.Info() Expect(err).ToNot(HaveOccurred()) Expect(infoA.HostIP).ToNot(Equal(infoB.HostIP)) Expect(infoA.ContainerIP).ToNot(Equal(infoB.ContainerIP)) }) }) Describe("a container's mapped port", func() { It("does not get reused", func() { netInAHost, netInAContainer, err := container.NetIn(0, 0) Expect(err).ToNot(HaveOccurred()) restartServer() containerB, err := client.Create(warden.ContainerSpec{}) Expect(err).ToNot(HaveOccurred()) netInBHost, netInBContainer, err := containerB.NetIn(0, 0) Expect(err).ToNot(HaveOccurred()) Expect(netInAHost).ToNot(Equal(netInBHost)) Expect(netInAContainer).ToNot(Equal(netInBContainer)) }) })