本文整理匯總了Golang中github.com/cloudfoundry/bosh-agent/platform/fakes.FakePlatform.GetDirProvider方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakePlatform.GetDirProvider方法的具體用法?Golang FakePlatform.GetDirProvider怎麽用?Golang FakePlatform.GetDirProvider使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-agent/platform/fakes.FakePlatform
的用法示例。
在下文中一共展示了FakePlatform.GetDirProvider方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: init
func init() {
Describe("Stop", func() {
var (
jobSupervisor *fakejobsuper.FakeJobSupervisor
platform *fakeplatform.FakePlatform
settingsService *fakesettings.FakeSettingsService
logger boshlog.Logger
specService *fakeas.FakeV1Service
dualDCSupport *nimbus.DualDCSupport
action StopAction
)
BeforeEach(func() {
jobSupervisor = fakejobsuper.NewFakeJobSupervisor()
platform = fakeplatform.NewFakePlatform()
logger = boshlog.NewLogger(boshlog.LevelNone)
specService = fakeas.NewFakeV1Service()
settingsService = &fakesettings.FakeSettingsService{}
dualDCSupport = nimbus.NewDualDCSupport(
platform.GetRunner(),
platform.GetFs(),
platform.GetDirProvider(),
specService,
settingsService,
logger,
)
action = NewStop(jobSupervisor, dualDCSupport, platform)
})
It("is asynchronous", func() {
Expect(action.IsAsynchronous()).To(BeTrue())
})
It("is not persistent", func() {
Expect(action.IsPersistent()).To(BeFalse())
})
It("returns stopped", func() {
stopped, err := action.Run()
Expect(err).ToNot(HaveOccurred())
Expect(stopped).To(Equal("stopped"))
})
It("stops job supervisor services", func() {
_, err := action.Run()
Expect(err).ToNot(HaveOccurred())
Expect(jobSupervisor.Stopped).To(BeTrue())
})
})
}
示例2:
jobScriptProvider boshscript.JobScriptProvider
factory Factory
logger boshlog.Logger
)
BeforeEach(func() {
settingsService = &fakesettings.FakeSettingsService{}
platform = fakeplatform.NewFakePlatform()
blobstore = &fakeblobstore.FakeBlobstore{}
taskService = &faketask.FakeService{}
notifier = fakenotif.NewFakeNotifier()
applier = fakeappl.NewFakeApplier()
compiler = fakecomp.NewFakeCompiler()
jobSupervisor = fakejobsuper.NewFakeJobSupervisor()
specService = fakeas.NewFakeV1Service()
drainScriptProvider = boshdrain.NewConcreteScriptProvider(nil, nil, platform.GetDirProvider())
jobScriptProvider = &fakescript.FakeJobScriptProvider{}
logger = boshlog.NewLogger(boshlog.LevelNone)
factory = NewFactory(
settingsService,
platform,
blobstore,
taskService,
notifier,
applier,
compiler,
jobSupervisor,
specService,
drainScriptProvider,
jobScriptProvider,
示例3: init
func init() {
Describe("ApplyAction", func() {
var (
applier *fakeappl.FakeApplier
specService *fakeas.FakeV1Service
settingsService *fakesettings.FakeSettingsService
platform *fakeplatform.FakePlatform
dualDCSupport *nimbus.DualDCSupport
logger boshlog.Logger
action ApplyAction
)
BeforeEach(func() {
applier = fakeappl.NewFakeApplier()
specService = fakeas.NewFakeV1Service()
settingsService = &fakesettings.FakeSettingsService{}
platform = fakeplatform.NewFakePlatform()
logger = boshlog.NewLogger(boshlog.LevelNone)
dualDCSupport = nimbus.NewDualDCSupport(
platform.GetRunner(),
platform.GetFs(),
platform.GetDirProvider(),
specService,
settingsService,
logger,
)
action = NewApply(applier, specService, settingsService, dualDCSupport, platform)
})
It("apply should be asynchronous", func() {
Expect(action.IsAsynchronous()).To(BeTrue())
})
It("is not persistent", func() {
Expect(action.IsPersistent()).To(BeFalse())
})
Describe("Run", func() {
settings := boshsettings.Settings{AgentID: "fake-agent-id"}
BeforeEach(func() {
settingsService.Settings = settings
})
Context("when desired spec has configuration hash", func() {
currentApplySpec := boshas.V1ApplySpec{ConfigurationHash: "fake-current-config-hash"}
desiredApplySpec := boshas.V1ApplySpec{ConfigurationHash: "fake-desired-config-hash"}
populatedDesiredApplySpec := boshas.V1ApplySpec{
ConfigurationHash: "fake-populated-desired-config-hash",
}
Context("when current spec can be retrieved", func() {
BeforeEach(func() {
specService.Spec = currentApplySpec
})
It("populates dynamic networks in desired spec", func() {
_, err := action.Run(desiredApplySpec)
Expect(err).ToNot(HaveOccurred())
Expect(specService.PopulateDHCPNetworksSpec).To(Equal(desiredApplySpec))
Expect(specService.PopulateDHCPNetworksSettings).To(Equal(settings))
})
Context("when resolving dynamic networks succeeds", func() {
BeforeEach(func() {
specService.PopulateDHCPNetworksResultSpec = populatedDesiredApplySpec
})
It("runs applier with populated desired spec", func() {
_, err := action.Run(desiredApplySpec)
Expect(err).ToNot(HaveOccurred())
Expect(applier.Applied).To(BeTrue())
Expect(applier.ApplyCurrentApplySpec).To(Equal(currentApplySpec))
Expect(applier.ApplyDesiredApplySpec).To(Equal(populatedDesiredApplySpec))
})
Context("when applier succeeds applying desired spec", func() {
Context("when saving desires spec as current spec succeeds", func() {
It("returns 'applied' after setting populated desired spec as current spec", func() {
value, err := action.Run(desiredApplySpec)
Expect(err).ToNot(HaveOccurred())
Expect(value).To(Equal("applied"))
Expect(specService.Spec).To(Equal(populatedDesiredApplySpec))
})
})
Context("when saving populated desires spec as current spec fails", func() {
It("returns error because agent was not able to remember that is converged to desired spec", func() {
specService.SetErr = errors.New("fake-set-error")
_, err := action.Run(desiredApplySpec)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-set-error"))
})
})
})
Context("when applier fails applying desired spec", func() {
//.........這裏部分代碼省略.........
示例4:
AssertActionIsNotPersistent(action)
AssertActionIsLoggable(action)
AssertActionIsNotResumable(action)
AssertActionIsNotCancelable(action)
Context("on success", func() {
It("returns 'updated'", func() {
result, err := action.Run(newUpdateSettings)
Expect(err).ToNot(HaveOccurred())
Expect(result).To(Equal("updated"))
})
It("writes the updated settings to a file", func() {
action.Run(newUpdateSettings)
expectedPath := filepath.Join(platform.GetDirProvider().BoshDir(), "update_settings.json")
exists := platform.GetFs().FileExists(expectedPath)
Expect(exists).To(Equal(true))
})
})
Context("when it cannot write the update settings file", func() {
BeforeEach(func() {
platform.Fs.WriteFileError = errors.New("Fake write error")
})
It("returns an error", func() {
_, err := action.Run(newUpdateSettings)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Fake write error"))
})
示例5:
BeforeEach(func() {
fakeDNSRecordsString := `
{
"version": 2,
"records": [
["fake-ip0", "fake-name0"],
["fake-ip1", "fake-name1"]
]
}`
err := fakeFileSystem.WriteFileString("fake-blobstore-file-path", fakeDNSRecordsString)
Expect(err).ToNot(HaveOccurred())
fakeBlobstore.GetFileName = "fake-blobstore-file-path"
stateFilePath = filepath.Join(fakePlatform.GetDirProvider().BaseDir(), "local_dns_state.json")
})
Context("when local DNS state version is >= Run's version", func() {
BeforeEach(func() {
fakeBlobstore.GetError = errors.New("fake-blobstore-get-error")
})
Context("when the version equals the Run's version", func() {
BeforeEach(func() {
err := fakeFileSystem.WriteFileString(stateFilePath, `{"version": 2}`)
Expect(err).ToNot(HaveOccurred())
fakeFileSystem.WriteFileError = errors.New("fake-write-error")
})
示例6: init
func init() {
Describe("Start", func() {
var (
jobSupervisor *fakejobsuper.FakeJobSupervisor
applier *fakeappl.FakeApplier
specService *fakeas.FakeV1Service
platform *fakeplatform.FakePlatform
settingsService *fakesettings.FakeSettingsService
logger boshlog.Logger
dualDCSupport *nimbus.DualDCSupport
action StartAction
)
BeforeEach(func() {
jobSupervisor = fakejobsuper.NewFakeJobSupervisor()
applier = fakeappl.NewFakeApplier()
specService = fakeas.NewFakeV1Service()
action = NewStart(jobSupervisor, applier, specService, dualDCSupport, platform)
platform = fakeplatform.NewFakePlatform()
logger = boshlog.NewLogger(boshlog.LevelNone)
settingsService = &fakesettings.FakeSettingsService{}
dualDCSupport = nimbus.NewDualDCSupport(
platform.GetRunner(),
platform.GetFs(),
platform.GetDirProvider(),
specService,
settingsService,
logger,
)
action = NewStart(jobSupervisor, applier, specService, dualDCSupport, platform)
})
It("is synchronous", func() {
Expect(action.IsAsynchronous()).To(BeFalse())
})
It("is not persistent", func() {
Expect(action.IsPersistent()).To(BeFalse())
})
It("returns started", func() {
started, err := action.Run()
Expect(err).ToNot(HaveOccurred())
Expect(started).To(Equal("started"))
})
It("starts monitor services", func() {
_, err := action.Run()
Expect(err).ToNot(HaveOccurred())
Expect(jobSupervisor.Started).To(BeTrue())
})
It("configures jobs", func() {
_, err := action.Run()
Expect(err).ToNot(HaveOccurred())
Expect(applier.Configured).To(BeTrue())
})
It("apply errs if a job fails configuring", func() {
applier.ConfiguredError = errors.New("fake error")
_, err := action.Run()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Configuring jobs"))
})
})
}
示例7: init
//.........這裏部分代碼省略.........
Describe("RemoveDevTools", func() {
It("removes development tools if settings.env.bosh.remove_dev_tools is true", func() {
settingsService.Settings.Env.Bosh.RemoveDevTools = true
platform.GetFs().WriteFileString(path.Join(dirProvider.EtcDir(), "dev_tools_file_list"), "/usr/bin/gfortran")
err := bootstrap()
Expect(err).NotTo(HaveOccurred())
Expect(platform.IsRemoveDevToolsCalled).To(BeTrue())
Expect(platform.PackageFileListPath).To(Equal(path.Join(dirProvider.EtcDir(), "dev_tools_file_list")))
})
It("does NOTHING if settings.env.bosh.remove_dev_tools is NOT set", func() {
err := bootstrap()
Expect(err).NotTo(HaveOccurred())
Expect(platform.IsRemoveDevToolsCalled).To(BeFalse())
})
It("does NOTHING if if settings.env.bosh.remove_dev_tools is true AND dev_tools_file_list does NOT exist", func() {
settingsService.Settings.Env.Bosh.RemoveDevTools = true
err := bootstrap()
Expect(err).NotTo(HaveOccurred())
Expect(platform.IsRemoveDevToolsCalled).To(BeFalse())
})
})
Describe("checking persistent disks", func() {
Context("managed persistent disk", func() {
BeforeEach(func() {
updateSettings := boshsettings.UpdateSettings{}
updateSettingsBytes, err := json.Marshal(updateSettings)
Expect(err).ToNot(HaveOccurred())
updateSettingsPath := filepath.Join(platform.GetDirProvider().BoshDir(), "update_settings.json")
platform.Fs.WriteFile(updateSettingsPath, updateSettingsBytes)
})
It("succesfully bootstraps", func() {
err := bootstrap()
Expect(err).ToNot(HaveOccurred())
})
Context("there is a single managed persistent disk attached", func() {
BeforeEach(func() {
settingsService.Settings.Disks = boshsettings.Disks{
Persistent: map[string]interface{}{
"vol-123": "/dev/sdb",
},
}
})
It("succesfully bootstraps", func() {
err := bootstrap()
Expect(err).ToNot(HaveOccurred())
})
})
Context("there are multiple managed persistent disk attached", func() {
BeforeEach(func() {
settingsService.Settings.Disks = boshsettings.Disks{
Persistent: map[string]interface{}{
"vol-123": "/dev/sdb",
"vol-456": "/dev/sdc",
},
}
})