本文整理汇总了Golang中github.com/cloudfoundry/bosh-utils/blobstore/fakes.FakeBlobstore类的典型用法代码示例。如果您正苦于以下问题:Golang FakeBlobstore类的具体用法?Golang FakeBlobstore怎么用?Golang FakeBlobstore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FakeBlobstore类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: init
func init() {
Describe("concreteCompiler", func() {
var (
compiler Compiler
compressor *fakecmd.FakeCompressor
blobstore *fakeblobstore.FakeBlobstore
fs *fakesys.FakeFileSystem
runner *fakecmdrunner.FakeFileLoggingCmdRunner
packageApplier *fakepackages.FakeApplier
packagesBc *fakebc.FakeBundleCollection
)
BeforeEach(func() {
compressor = fakecmd.NewFakeCompressor()
blobstore = &fakeblobstore.FakeBlobstore{}
fs = fakesys.NewFakeFileSystem()
runner = fakecmdrunner.NewFakeFileLoggingCmdRunner()
packageApplier = fakepackages.NewFakeApplier()
packagesBc = fakebc.NewFakeBundleCollection()
compiler = NewConcreteCompiler(
compressor,
blobstore,
fs,
runner,
FakeCompileDirProvider{Dir: "/fake-compile-dir"},
packageApplier,
packagesBc,
)
})
BeforeEach(func() {
fs.MkdirAll("/fake-compile-dir", os.ModePerm)
})
Describe("Compile", func() {
var (
bundle *fakebc.FakeBundle
pkg Package
pkgDeps []boshmodels.Package
)
BeforeEach(func() {
bundle = packagesBc.FakeGet(boshmodels.Package{
Name: "pkg_name",
Version: "pkg_version",
})
bundle.InstallPath = "/fake-dir/data/packages/pkg_name/pkg_version"
bundle.EnablePath = "/fake-dir/packages/pkg_name"
compressor.CompressFilesInDirTarballPath = "/tmp/compressed-compiled-package"
pkg, pkgDeps = getCompileArgs()
})
It("returns blob id and sha1 of created compiled package", func() {
blobstore.CreateBlobID = "fake-blob-id"
blobstore.CreateFingerprint = "fake-blob-sha1"
blobID, sha1, err := compiler.Compile(pkg, pkgDeps)
Expect(err).ToNot(HaveOccurred())
Expect(blobID).To(Equal("fake-blob-id"))
Expect(sha1).To(Equal("fake-blob-sha1"))
})
It("cleans up all packages before and after applying dependent packages", func() {
_, _, err := compiler.Compile(pkg, pkgDeps)
Expect(err).ToNot(HaveOccurred())
Expect(packageApplier.ActionsCalled).To(Equal([]string{"KeepOnly", "Apply", "Apply", "KeepOnly"}))
Expect(packageApplier.KeptOnlyPackages).To(BeEmpty())
})
It("returns an error if cleaning up packages fails", func() {
packageApplier.KeepOnlyErr = errors.New("fake-keep-only-error")
_, _, err := compiler.Compile(pkg, pkgDeps)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-keep-only-error"))
})
It("fetches source package from blobstore without checking SHA1 by default because of Director bug", func() {
_, _, err := compiler.Compile(pkg, pkgDeps)
Expect(err).ToNot(HaveOccurred())
Expect(blobstore.GetBlobIDs[0]).To(Equal("blobstore_id"))
Expect(blobstore.GetFingerprints[0]).To(Equal(""))
})
PIt("(Pending Tracker Story: <https://www.pivotaltracker.com/story/show/94524232>) fetches source package from blobstore and checks SHA1 by default in future", func() {
_, _, err := compiler.Compile(pkg, pkgDeps)
Expect(err).ToNot(HaveOccurred())
Expect(blobstore.GetBlobIDs[0]).To(Equal("blobstore_id"))
Expect(blobstore.GetFingerprints[0]).To(Equal("sha1"))
})
It("returns an error if removing compile target directory during uncompression fails", func() {
fs.RemoveAllStub = func(path string) error {
//.........这里部分代码省略.........
开发者ID:jianqiu,项目名称:bosh-agent,代码行数:101,代码来源:concrete_compiler_test.go
示例2:
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
. "github.com/cloudfoundry/bosh-agent/agent/action"
boshdirs "github.com/cloudfoundry/bosh-agent/settings/directories"
boshassert "github.com/cloudfoundry/bosh-utils/assert"
fakeblobstore "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
fakecmd "github.com/cloudfoundry/bosh-utils/fileutil/fakes"
)
var _ = Describe("FetchLogsAction", func() {
var (
compressor *fakecmd.FakeCompressor
copier *fakecmd.FakeCopier
blobstore *fakeblobstore.FakeBlobstore
dirProvider boshdirs.Provider
action FetchLogsAction
)
BeforeEach(func() {
compressor = fakecmd.NewFakeCompressor()
blobstore = &fakeblobstore.FakeBlobstore{}
dirProvider = boshdirs.NewProvider("/fake/dir")
copier = fakecmd.NewFakeCopier()
action = NewFetchLogs(compressor, copier, blobstore, dirProvider)
})
It("logs should be asynchronous", func() {
Expect(action.IsAsynchronous()).To(BeTrue())
})
开发者ID:jianqiu,项目名称:bosh-agent,代码行数:30,代码来源:fetch_logs_test.go
示例3:
BeforeEach(func() {
mockCtrl = gomock.NewController(GinkgoT())
})
AfterEach(func() {
mockCtrl.Finish()
})
var (
logger boshlog.Logger
compiler bistatepkg.Compiler
runner *fakesys.FakeCmdRunner
pkg *birelpkg.Package
fs *fakesys.FakeFileSystem
compressor *fakecmd.FakeCompressor
packagesDir string
blobstore *fakeblobstore.FakeBlobstore
mockCompiledPackageRepo *mock_state_package.MockCompiledPackageRepo
fakeExtractor *fakeblobextract.FakeExtractor
dependency1 *birelpkg.Package
dependency2 *birelpkg.Package
)
BeforeEach(func() {
logger = boshlog.NewLogger(boshlog.LevelNone)
packagesDir = "fake-packages-dir"
runner = fakesys.NewFakeCmdRunner()
fs = fakesys.NewFakeFileSystem()
compressor = fakecmd.NewFakeCompressor()
开发者ID:mattcui,项目名称:bosh-init,代码行数:31,代码来源:compiler_test.go
示例4:
import (
"errors"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
boshblob "github.com/cloudfoundry/bosh-utils/blobstore"
fakeblob "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
bosherr "github.com/cloudfoundry/bosh-utils/errors"
boshlog "github.com/cloudfoundry/bosh-utils/logger"
)
var _ = Describe("retryableBlobstore", func() {
var (
innerBlobstore *fakeblob.FakeBlobstore
logger boshlog.Logger
retryableBlobstore boshblob.Blobstore
)
BeforeEach(func() {
innerBlobstore = &fakeblob.FakeBlobstore{}
logger = boshlog.NewLogger(boshlog.LevelNone)
retryableBlobstore = boshblob.NewRetryableBlobstore(innerBlobstore, 3, logger)
})
Describe("Get", func() {
Context("when inner blobstore succeeds before maximum number of get tries (first time)", func() {
It("returns path without an error", func() {
innerBlobstore.GetFileName = "fake-path"
path, err := retryableBlobstore.Get("fake-blob-id", "fake-fingerprint")
开发者ID:jianqiu,项目名称:bosh-agent,代码行数:31,代码来源:retryable_blobstore_test.go
示例5:
fakeblobstore "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
fakecmd "github.com/cloudfoundry/bosh-utils/fileutil/fakes"
boshlog "github.com/cloudfoundry/bosh-utils/logger"
fakesys "github.com/cloudfoundry/bosh-utils/system/fakes"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Extractor", func() {
var (
extractor Extractor
blobstore *fakeblobstore.FakeBlobstore
targetDir string
compressor *fakecmd.FakeCompressor
logger boshlog.Logger
fs *fakesys.FakeFileSystem
blobID string
blobSHA1 string
fileName string
fakeError error
)
BeforeEach(func() {
blobstore = fakeblobstore.NewFakeBlobstore()
targetDir = "fake-target-dir"
compressor = fakecmd.NewFakeCompressor()
logger = boshlog.NewLogger(boshlog.LevelNone)
fs = fakesys.NewFakeFileSystem()
blobID = "fake-blob-id"
blobSHA1 = "fake-sha1"
开发者ID:mattcui,项目名称:bosh-init,代码行数:31,代码来源:extractor_test.go
示例6: init
func init() {
Describe("compiledPackageApplier", func() {
var (
packagesBc *fakebc.FakeBundleCollection
blobstore *fakeblob.FakeBlobstore
compressor *fakecmd.FakeCompressor
fs *fakesys.FakeFileSystem
logger boshlog.Logger
applier Applier
)
BeforeEach(func() {
packagesBc = fakebc.NewFakeBundleCollection()
blobstore = fakeblob.NewFakeBlobstore()
compressor = fakecmd.NewFakeCompressor()
fs = fakesys.NewFakeFileSystem()
logger = boshlog.NewLogger(boshlog.LevelNone)
applier = NewCompiledPackageApplier(packagesBc, true, blobstore, compressor, fs, logger)
})
Describe("Prepare & Apply", func() {
var (
pkg models.Package
bundle *fakebc.FakeBundle
)
BeforeEach(func() {
pkg, bundle = buildPkg(packagesBc)
})
ItInstallsPkg := func(act func() error) {
It("returns error when installing package fails", func() {
bundle.InstallError = errors.New("fake-install-error")
err := act()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-install-error"))
})
It("downloads and later cleans up downloaded package blob", func() {
blobstore.GetFileName = "/fake-blobstore-file-name"
err := act()
Expect(err).ToNot(HaveOccurred())
Expect(blobstore.GetBlobIDs[0]).To(Equal("fake-blobstore-id"))
Expect(blobstore.GetFingerprints[0]).To(Equal("fake-blob-sha1"))
// downloaded file is cleaned up
Expect(blobstore.CleanUpFileName).To(Equal("/fake-blobstore-file-name"))
})
It("returns error when downloading package blob fails", func() {
blobstore.GetError = errors.New("fake-get-error")
err := act()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-get-error"))
})
It("decompresses package blob to tmp path and later cleans it up", func() {
fs.TempDirDir = "/fake-tmp-dir"
blobstore.GetFileName = "/fake-blobstore-file-name"
var tmpDirExistsBeforeInstall bool
bundle.InstallCallBack = func() {
tmpDirExistsBeforeInstall = true
}
err := act()
Expect(err).ToNot(HaveOccurred())
Expect(compressor.DecompressFileToDirTarballPaths[0]).To(Equal("/fake-blobstore-file-name"))
Expect(compressor.DecompressFileToDirDirs[0]).To(Equal("/fake-tmp-dir"))
// tmp dir exists before bundle install
Expect(tmpDirExistsBeforeInstall).To(BeTrue())
// tmp dir is cleaned up after install
Expect(fs.FileExists(fs.TempDirDir)).To(BeFalse())
})
It("returns error when temporary directory creation fails", func() {
fs.TempDirError = errors.New("fake-filesystem-tempdir-error")
err := act()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-filesystem-tempdir-error"))
})
It("returns error when decompressing package blob fails", func() {
compressor.DecompressFileToDirErr = errors.New("fake-decompress-error")
err := act()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-decompress-error"))
})
It("installs bundle from decompressed tmp path of a package blob", func() {
fs.TempDirDir = "/fake-tmp-dir"
//.........这里部分代码省略.........
开发者ID:EMC-CMD,项目名称:bosh-agent,代码行数:101,代码来源:compiled_package_applier_test.go
示例7:
. "github.com/cloudfoundry/bosh-utils/internal/github.com/onsi/ginkgo"
. "github.com/cloudfoundry/bosh-utils/internal/github.com/onsi/gomega"
boshblob "github.com/cloudfoundry/bosh-utils/blobstore"
fakeblob "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
bosherr "github.com/cloudfoundry/bosh-utils/errors"
)
var _ = Describe("sha1VerifiableBlobstore", func() {
const (
fixturePath = "test_assets/some.config"
fixtureSHA1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709"
)
var (
innerBlobstore *fakeblob.FakeBlobstore
sha1VerifiableBlobstore boshblob.Blobstore
)
BeforeEach(func() {
innerBlobstore = &fakeblob.FakeBlobstore{}
sha1VerifiableBlobstore = boshblob.NewSHA1VerifiableBlobstore(innerBlobstore)
})
Describe("Get", func() {
It("returns without an error if sha1 matches", func() {
innerBlobstore.GetFileName = fixturePath
fileName, err := sha1VerifiableBlobstore.Get("fake-blob-id", fixtureSHA1)
Expect(err).ToNot(HaveOccurred())
Expect(innerBlobstore.GetBlobIDs).To(Equal([]string{"fake-blob-id"}))
开发者ID:EMC-CMD,项目名称:bosh-agent,代码行数:32,代码来源:sha1_verifiable_blobstore_test.go
示例8:
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"errors"
"github.com/cloudfoundry/bosh-agent/agent/blobstore"
boshblob "github.com/cloudfoundry/bosh-utils/blobstore"
fakeblob "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
boshcrypto "github.com/cloudfoundry/bosh-utils/crypto"
boshlog "github.com/cloudfoundry/bosh-utils/logger"
)
var _ = Describe("cascadingBlobstore", func() {
var (
innerBlobstore *fakeblob.FakeBlobstore
blobManager *fakeblob.FakeBlobManagerInterface
cascadingBlobstore boshblob.Blobstore
)
BeforeEach(func() {
innerBlobstore = &fakeblob.FakeBlobstore{}
blobManager = &fakeblob.FakeBlobManagerInterface{}
logger := boshlog.NewLogger(boshlog.LevelNone)
cascadingBlobstore = blobstore.NewCascadingBlobstore(innerBlobstore, blobManager, logger)
})
Describe("Get", func() {
Describe("when blobManager returns the file path", func() {
It("returns the path provided by the blobManager", func() {
blobManager.GetPathReturns("/path/to-copy/of-blob", nil)
开发者ID:mattcui,项目名称:bosh-agent,代码行数:31,代码来源:cascading_blobstore_test.go
示例9:
. "github.com/cloudfoundry/bosh-agent/agent/action"
boshsettings "github.com/cloudfoundry/bosh-agent/settings"
fakelogger "github.com/cloudfoundry/bosh-agent/logger/fakes"
fakeplatform "github.com/cloudfoundry/bosh-agent/platform/fakes"
fakesettings "github.com/cloudfoundry/bosh-agent/settings/fakes"
fakeblobstore "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
fakesys "github.com/cloudfoundry/bosh-utils/system/fakes"
)
var _ = Describe("SyncDNS", func() {
var (
syncDNS SyncDNS
fakeBlobstore *fakeblobstore.FakeBlobstore
fakeSettingsService *fakesettings.FakeSettingsService
fakePlatform *fakeplatform.FakePlatform
fakeFileSystem *fakesys.FakeFileSystem
logger *fakelogger.FakeLogger
)
BeforeEach(func() {
logger = &fakelogger.FakeLogger{}
fakeBlobstore = fakeblobstore.NewFakeBlobstore()
fakeSettingsService = &fakesettings.FakeSettingsService{}
fakePlatform = fakeplatform.NewFakePlatform()
fakeFileSystem = fakePlatform.GetFs().(*fakesys.FakeFileSystem)
syncDNS = NewSyncDNS(fakeBlobstore, fakeSettingsService, fakePlatform, logger)
})
It("returns IsAsynchronous false", func() {
开发者ID:mattcui,项目名称:bosh-init,代码行数:32,代码来源:sync_dns_test.go
示例10:
boshsettings "github.com/cloudfoundry/bosh-agent/settings"
boshcrypto "github.com/cloudfoundry/bosh-utils/crypto"
fakelogger "github.com/cloudfoundry/bosh-agent/logger/fakes"
fakeplatform "github.com/cloudfoundry/bosh-agent/platform/fakes"
fakesettings "github.com/cloudfoundry/bosh-agent/settings/fakes"
fakeblobstore "github.com/cloudfoundry/bosh-utils/blobstore/fakes"
fakesys "github.com/cloudfoundry/bosh-utils/system/fakes"
)
var _ = Describe("SyncDNS", func() {
var (
action SyncDNS
fakeBlobstore *fakeblobstore.FakeBlobstore
fakeSettingsService *fakesettings.FakeSettingsService
fakePlatform *fakeplatform.FakePlatform
fakeFileSystem *fakesys.FakeFileSystem
logger *fakelogger.FakeLogger
)
BeforeEach(func() {
logger = &fakelogger.FakeLogger{}
fakeBlobstore = fakeblobstore.NewFakeBlobstore()
fakeSettingsService = &fakesettings.FakeSettingsService{}
fakePlatform = fakeplatform.NewFakePlatform()
fakeFileSystem = fakePlatform.GetFs().(*fakesys.FakeFileSystem)
action = NewSyncDNS(fakeBlobstore, fakeSettingsService, fakePlatform, logger)
})
AssertActionIsNotAsynchronous(action)
开发者ID:mattcui,项目名称:bosh-agent,代码行数:31,代码来源:sync_dns_test.go
示例11: init
func init() {
Describe("renderedJobApplier", func() {
var (
jobsBc *fakebc.FakeBundleCollection
jobSupervisor *fakejobsuper.FakeJobSupervisor
packageApplierProvider *fakepackages.FakeApplierProvider
blobstore *fakeblob.FakeBlobstore
compressor *fakecmd.FakeCompressor
fs *fakesys.FakeFileSystem
applier Applier
)
BeforeEach(func() {
jobsBc = fakebc.NewFakeBundleCollection()
jobSupervisor = fakejobsuper.NewFakeJobSupervisor()
packageApplierProvider = fakepackages.NewFakeApplierProvider()
blobstore = fakeblob.NewFakeBlobstore()
fs = fakesys.NewFakeFileSystem()
compressor = fakecmd.NewFakeCompressor()
logger := boshlog.NewLogger(boshlog.LevelNone)
applier = NewRenderedJobApplier(
jobsBc,
jobSupervisor,
packageApplierProvider,
blobstore,
compressor,
fs,
logger,
)
})
Describe("Prepare & Apply", func() {
var (
job models.Job
bundle *fakebc.FakeBundle
)
BeforeEach(func() {
job, bundle = buildJob(jobsBc)
})
ItInstallsJob := func(act func() error) {
BeforeEach(func() {
fs.TempDirDir = "/fake-tmp-dir"
})
It("returns error when installing job fails", func() {
bundle.InstallError = errors.New("fake-install-error")
err := act()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-install-error"))
})
It("downloads and later cleans up downloaded job template blob", func() {
blobstore.GetFileName = "/fake-blobstore-file-name"
err := act()
Expect(err).ToNot(HaveOccurred())
Expect(blobstore.GetBlobIDs[0]).To(Equal("fake-blobstore-id"))
Expect(blobstore.GetFingerprints[0]).To(Equal(boshcrypto.NewDigest("sha1", "fake-blob-sha1")))
// downloaded file is cleaned up
Expect(blobstore.CleanUpFileName).To(Equal("/fake-blobstore-file-name"))
})
It("returns error when downloading job template blob fails", func() {
blobstore.GetError = errors.New("fake-get-error")
err := act()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-get-error"))
})
It("decompresses job template blob to tmp path and later cleans it up", func() {
blobstore.GetFileName = "/fake-blobstore-file-name"
var tmpDirExistsBeforeInstall bool
bundle.InstallCallBack = func() {
tmpDirExistsBeforeInstall = true
}
err := act()
Expect(err).ToNot(HaveOccurred())
Expect(compressor.DecompressFileToDirTarballPaths[0]).To(Equal("/fake-blobstore-file-name"))
Expect(compressor.DecompressFileToDirDirs[0]).To(Equal("/fake-tmp-dir"))
// tmp dir exists before bundle install
Expect(tmpDirExistsBeforeInstall).To(BeTrue())
// tmp dir is cleaned up after install
Expect(fs.FileExists(fs.TempDirDir)).To(BeFalse())
})
It("returns error when temporary directory creation fails", func() {
fs.TempDirError = errors.New("fake-filesystem-tempdir-error")
//.........这里部分代码省略.........
开发者ID:mattcui,项目名称:bosh-agent,代码行数:101,代码来源:rendered_job_applier_test.go
示例12:
AfterEach(func() {
mockCtrl.Finish()
})
var (
mockJobListRenderer *mock_template.MockJobListRenderer
fakeCompressor *fakeboshcmd.FakeCompressor
fakeBlobstore *fakeboshblob.FakeBlobstore
fakeFS *fakeboshsys.FakeFileSystem
logger boshlog.Logger
renderer installation.JobRenderer
releaseJob bireljob.Job
releaseJobs []bireljob.Job
manifest biinstallmanifest.Manifest
fakeStage *fakebiui.FakeStage
releasePackage1 *birelpkg.Package
releasePackage2 *birelpkg.Package
renderedJobList bitemplate.RenderedJobList
)
BeforeEach(func() {
mockJobListRenderer = mock_template.NewMockJobListRenderer(mockCtrl)
fakeCompressor = fakeboshcmd.NewFakeCompressor()
fakeBlobstore = fakeboshblob.NewFakeBlobstore()
开发者ID:mattcui,项目名称:bosh-init,代码行数:31,代码来源:job_renderer_test.go
注:本文中的github.com/cloudfoundry/bosh-utils/blobstore/fakes.FakeBlobstore类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论