本文整理匯總了Golang中github.com/cloudfoundry/bosh-init/release/pkg.Package.Stemcell方法的典型用法代碼示例。如果您正苦於以下問題:Golang Package.Stemcell方法的具體用法?Golang Package.Stemcell怎麽用?Golang Package.Stemcell使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-init/release/pkg.Package
的用法示例。
在下文中一共展示了Package.Stemcell方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: describeRemotePackageCompiler
//.........這裏部分代碼省略.........
BlobID: "fake-compiled-package-blob-id-dep",
BlobSHA1: "fake-compiled-package-sha1-dep",
}
compiledPackages = map[bistatepkg.CompiledPackageRecord]*birelpkg.Package{
depRecord1: pkgDependency,
}
})
JustBeforeEach(func() {
// add compiled packages to the repo
for record, dependency := range compiledPackages {
err := packageRepo.Save(*dependency, record)
Expect(err).ToNot(HaveOccurred())
}
packageSource := biagentclient.BlobRef{
Name: "fake-package-name",
Version: "fake-package-fingerprint",
BlobstoreID: "fake-source-package-blob-id",
SHA1: "fake-source-package-sha1",
}
packageDependencies := []biagentclient.BlobRef{
{
Name: "fake-package-name-dep",
Version: "fake-package-fingerprint-dep",
BlobstoreID: "fake-compiled-package-blob-id-dep",
SHA1: "fake-compiled-package-sha1-dep",
},
}
compiledPackageRef := biagentclient.BlobRef{
Name: "fake-package-name",
Version: "fake-package-version",
BlobstoreID: "fake-compiled-package-blob-id",
SHA1: "fake-compiled-package-sha1",
}
expectBlobstoreAdd = mockBlobstore.EXPECT().Add(archivePath).Return("fake-source-package-blob-id", nil).AnyTimes()
expectAgentCompile = mockAgentClient.EXPECT().CompilePackage(packageSource, packageDependencies).Return(compiledPackageRef, nil).AnyTimes()
})
Describe("Compile", func() {
It("uploads the package archive to the blobstore and then compiles the package with the agent", func() {
gomock.InOrder(
expectBlobstoreAdd.Times(1),
expectAgentCompile.Times(1),
)
compiledPackageRecord, _, err := remotePackageCompiler.Compile(pkg)
Expect(err).ToNot(HaveOccurred())
Expect(compiledPackageRecord).To(Equal(bistatepkg.CompiledPackageRecord{
BlobID: "fake-compiled-package-blob-id",
BlobSHA1: "fake-compiled-package-sha1",
}))
})
It("saves the compiled package ref in the package repo", func() {
compiledPackageRecord, _, err := remotePackageCompiler.Compile(pkg)
Expect(err).ToNot(HaveOccurred())
record, found, err := packageRepo.Find(*pkg)
Expect(err).ToNot(HaveOccurred())
Expect(found).To(BeTrue())
Expect(record).To(Equal(compiledPackageRecord))
})
Context("when the dependencies are not in the repo", func() {
BeforeEach(func() {
compiledPackages = map[bistatepkg.CompiledPackageRecord]*birelpkg.Package{}
})
It("returns an error", func() {
_, _, err := remotePackageCompiler.Compile(pkg)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Remote compilation failure: Package 'fake-package-name/fake-package-fingerprint' requires package 'fake-package-name-dep/fake-package-fingerprint-dep', but it has not been compiled"))
})
})
Context("when package belongs to a compiled release", func() {
BeforeEach(func() {
pkg.Stemcell = "ubuntu/fake"
})
AfterEach(func() {
pkg.Stemcell = ""
})
It("should skip compilation", func() {
compiledPackageRecord, isAlreadyCompiled, err := remotePackageCompiler.Compile(pkg)
expectAgentCompile.Times(0)
Expect(err).ToNot(HaveOccurred())
Expect(isAlreadyCompiled).To(Equal(true))
Expect(compiledPackageRecord.BlobID).To(Equal("fake-source-package-blob-id"))
Expect(compiledPackageRecord.BlobSHA1).To(Equal(pkg.SHA1))
})
})
})
}