本文整理匯總了Golang中github.com/cloudfoundry-incubator/stager/backend.Backend.BuildRecipe方法的典型用法代碼示例。如果您正苦於以下問題:Golang Backend.BuildRecipe方法的具體用法?Golang Backend.BuildRecipe怎麽用?Golang Backend.BuildRecipe使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry-incubator/stager/backend.Backend
的用法示例。
在下文中一共展示了Backend.BuildRecipe方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
},
EgressRules: egressRules,
Timeout: timeout,
Lifecycle: "docker",
LifecycleData: &lifecycleData,
}
})
Describe("request validation", func() {
Context("with a missing docker image url", func() {
BeforeEach(func() {
dockerImageUrl = ""
})
It("returns an error", func() {
_, _, _, err := docker.BuildRecipe(stagingGuid, stagingRequest)
Expect(err).To(Equal(backend.ErrMissingDockerImageUrl))
})
})
Context("with a missing credentials set", func() {
Context("with missing user", func() {
BeforeEach(func() {
dockerPassword = "password"
dockerEmail = "[email protected]"
})
It("returns an error", func() {
_, _, _, err := docker.BuildRecipe(stagingGuid, stagingRequest)
Expect(err).To(Equal(backend.ErrMissingDockerCredentials))
})
示例2:
EgressRules: egressRules,
Timeout: timeout,
Lifecycle: "buildpack",
LifecycleData: &lifecycleData,
CompletionCallback: "https://api.cc.com/v1/staging/some-staging-guid/droplet_completed",
}
})
Describe("request validation", func() {
Context("with a missing app bits download uri", func() {
BeforeEach(func() {
appBitsDownloadUri = ""
})
It("returns an error", func() {
_, _, _, err := traditional.BuildRecipe(stagingGuid, stagingRequest)
Expect(err).To(Equal(backend.ErrMissingAppBitsDownloadUri))
})
})
Context("with missing lifecycle data", func() {
JustBeforeEach(func() {
stagingRequest.LifecycleData = nil
})
It("returns an error", func() {
_, _, _, err := traditional.BuildRecipe(stagingGuid, stagingRequest)
Expect(err).To(Equal(backend.ErrMissingLifecycleData))
})
})
})
示例3:
EgressRules: []*models.SecurityGroupRule{
{
Protocol: "TCP",
Destinations: []string{"0.0.0.0/0"},
PortRange: &models.PortRange{Start: 80, End: 443},
},
},
Timeout: timeout,
Lifecycle: "docker",
LifecycleData: &lifecycleData,
CompletionCallback: "https://api.cc.com/v1/staging/some-staging-guid/droplet_completed",
}
})
It("returns the task domain", func() {
_, _, domain, err := docker.BuildRecipe("staging-guid", stagingRequest)
Expect(err).NotTo(HaveOccurred())
Expect(domain).To(Equal("config-task-domain"))
})
It("returns the task guid", func() {
_, guid, _, err := docker.BuildRecipe("staging-guid", stagingRequest)
Expect(err).NotTo(HaveOccurred())
Expect(guid).To(Equal("staging-guid"))
})
It("sets the task LogGuid", func() {
taskDef, _, _, err := docker.BuildRecipe("staging-guid", stagingRequest)
Expect(err).NotTo(HaveOccurred())
Expect(taskDef.LogGuid).To(Equal("log-guid"))
})
示例4:
stagingRequest cc_messages.StagingRequestFromCC
)
BeforeEach(func() {
dockerRegistryIPs = []string{"10.244.2.6", "10.244.2.7"}
consulCluster = newConsulCluster(dockerRegistryIPs)
})
Context("user did not opt-in for docker image caching", func() {
BeforeEach(func() {
dockerBackend = setupDockerBackend(validDockerRegistryAddress, []string{}, consulCluster)
stagingRequest = setupStagingRequest(false, "", "", "", "")
})
It("creates a cf-app-docker-staging Task with no additional egress rules", func() {
taskDef, _, _, err := dockerBackend.BuildRecipe("staging-guid", stagingRequest)
Expect(err).NotTo(HaveOccurred())
Expect(taskDef.EgressRules).To(Equal(stagingRequest.EgressRules))
})
})
Context("user opted-in for docker image caching", func() {
BeforeEach(func() {
stagingRequest = setupStagingRequest(true, "", "", "", "")
})
Context("when an invalid docker registry address is given", func() {
BeforeEach(func() {
dockerBackend = setupDockerBackend("://host:", []string{}, consulCluster)
})