}) It("makes container metadata available on the /containers endpoint", func() { containers, err := daemonClient.ListContainers() Expect(err).NotTo(HaveOccurred()) for _, container := range containers { if container.ID != containerID { continue } Expect(container.SandboxName).To(Equal(sandboxName)) } }) It("makes container metadata available on get container endpoint", func() { container, err := daemonClient.GetContainer(containerID) Expect(err).NotTo(HaveOccurred()) Expect(container.HostIP).To(Equal(hostAddress)) Expect(container.NetworkID).To(Equal(networkID)) Expect(container.App).To(Equal(appID)) }) Context("when the ADD endpoint is called a second time with the same container ID", func() { It("should return an error and not crash the system", func() { _, err := daemonClient.ContainerUp(upSpec) // 2nd time we're calling this Expect(err).To(MatchError(ipam.AlreadyOnNetworkError)) }) }) It("brings up the loopback device in the sandbox", func() {