fakeKeyFactory.NewKeyPairStub = func(bits int) (keys.KeyPair, error) { return nil, <-errorCh } }) It("should return an error", func() { Expect(err).To(HaveOccurred()) }) }) }) }) Context("when there is a docker image url instead of a droplet uri", func() { BeforeEach(func() { desiredAppReq.DockerImageUrl = "user/repo:tag" desiredAppReq.ExecutionMetadata = "{}" }) It("does not error", func() { Expect(err).NotTo(HaveOccurred()) }) It("uses an unprivileged container", func() { Expect(desiredLRP.Privileged).To(BeFalse()) }) It("converts the docker image url into a root fs path", func() { Expect(desiredLRP.RootFs).To(Equal("docker:///user/repo#tag")) }) It("exposes the default port", func() {
}) }) Context("when the LRP has docker image", func() { var ( existingDesiredDockerLRP *models.DesiredLRP expectedPort uint32 expectedMetadata string ) BeforeEach(func() { desireAppRequest.DropletUri = "" desireAppRequest.DockerImageUrl = "docker:///user/repo#tag" expectedMetadata = fmt.Sprintf(`{"ports": {"port": %d, "protocol":"http"}}`, expectedPort) desireAppRequest.ExecutionMetadata = expectedMetadata dockerBuilder.ExtractExposedPortsStub = func(ccRequest *cc_messages.DesireAppRequestFromCC) ([]uint32, error) { return []uint32{expectedPort}, nil } existingDesiredDockerLRP = &models.DesiredLRP{ ProcessGuid: "new-process-guid", Instances: 1, RootFs: "docker:///user/repo#tag", Action: models.WrapAction(&models.RunAction{ User: "******", Path: "ls", }), Annotation: "last-modified-etag", }