本文整理匯總了Golang中github.com/cloudfoundry/bosh-utils/system/fakes.FakeFileSystem.ReadFile方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeFileSystem.ReadFile方法的具體用法?Golang FakeFileSystem.ReadFile怎麽用?Golang FakeFileSystem.ReadFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-utils/system/fakes.FakeFileSystem
的用法示例。
在下文中一共展示了FakeFileSystem.ReadFile方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
err error
)
BeforeEach(func() {
fs = fakesys.NewFakeFileSystem()
path = "/agent_state.json"
s, err = platform.NewBootstrapState(fs, path)
Expect(err).NotTo(HaveOccurred())
})
Describe("SaveState", func() {
It("saves the state file with the appropriate properties", func() {
s.Linux = platform.LinuxState{HostsConfigured: true}
s.SaveState()
contents, readerr := fs.ReadFile(path)
Expect(readerr).ToNot(HaveOccurred())
Expect(string(contents)).To(Equal(`{"Linux":{"hosts_configured":true}}`))
})
It("saves the state file with the properties passed in", func() {
s.Linux = platform.LinuxState{HostsConfigured: true}
s.SaveState()
contents, readerr := fs.ReadFile(path)
Expect(readerr).ToNot(HaveOccurred())
Expect(string(contents)).To(Equal(`{"Linux":{"hosts_configured":true}}`))
})
示例2: init
func init() {
Describe("settingsService", func() {
var (
fs *fakesys.FakeFileSystem
fakeDefaultNetworkResolver *fakenet.FakeDefaultNetworkResolver
fakeSettingsSource *fakes.FakeSettingsSource
)
BeforeEach(func() {
fs = fakesys.NewFakeFileSystem()
fakeDefaultNetworkResolver = &fakenet.FakeDefaultNetworkResolver{}
fakeSettingsSource = &fakes.FakeSettingsSource{}
})
buildService := func() (Service, *fakesys.FakeFileSystem) {
logger := boshlog.NewLogger(boshlog.LevelNone)
service := NewService(fs, "/setting/path.json", fakeSettingsSource, fakeDefaultNetworkResolver, logger)
return service, fs
}
Describe("LoadSettings", func() {
var (
fetchedSettings Settings
fetcherFuncErr error
service Service
)
BeforeEach(func() {
fetchedSettings = Settings{}
fetcherFuncErr = nil
})
JustBeforeEach(func() {
fakeSettingsSource.SettingsValue = fetchedSettings
fakeSettingsSource.SettingsErr = fetcherFuncErr
service, fs = buildService()
})
Context("when settings fetcher succeeds fetching settings", func() {
BeforeEach(func() {
fetchedSettings = Settings{AgentID: "some-new-agent-id"}
})
Context("when settings contain at most one dynamic network", func() {
BeforeEach(func() {
fetchedSettings.Networks = Networks{
"fake-net-1": Network{Type: NetworkTypeDynamic},
}
})
It("updates the service with settings from the fetcher", func() {
err := service.LoadSettings()
Expect(err).NotTo(HaveOccurred())
Expect(service.GetSettings().AgentID).To(Equal("some-new-agent-id"))
})
It("persists settings to the settings file", func() {
err := service.LoadSettings()
Expect(err).NotTo(HaveOccurred())
json, err := json.Marshal(fetchedSettings)
Expect(err).NotTo(HaveOccurred())
fileContent, err := fs.ReadFile("/setting/path.json")
Expect(err).NotTo(HaveOccurred())
Expect(fileContent).To(Equal(json))
})
It("returns any error from writing to the setting file", func() {
fs.WriteFileError = errors.New("fs-write-file-error")
err := service.LoadSettings()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fs-write-file-error"))
})
})
})
Context("when settings fetcher fails fetching settings", func() {
BeforeEach(func() {
fetcherFuncErr = errors.New("fake-fetch-error")
})
Context("when a settings file exists", func() {
Context("when settings contain at most one dynamic network", func() {
BeforeEach(func() {
fs.WriteFile("/setting/path.json", []byte(`{
"agent_id":"some-agent-id",
"networks": {"fake-net-1": {"type": "dynamic"}}
}`))
fakeDefaultNetworkResolver.GetDefaultNetworkNetwork = Network{
IP: "fake-resolved-ip",
Netmask: "fake-resolved-netmask",
Gateway: "fake-resolved-gateway",
}
})
It("returns settings from the settings file with resolved network", func() {
err := service.LoadSettings()
//.........這裏部分代碼省略.........
示例3:
Records: [][2]string{
{"fake-ip0", "fake-name0"},
{"fake-ip1", "fake-name1"},
},
}))
})
Context("local DNS state operations", func() {
Context("when loading succeeds", func() {
Context("when saving succeeds", func() {
It("saves the new local DNS state", func() {
response, err := action.Run("fake-blobstore-id", "fake-fingerprint", 3)
Expect(err).ToNot(HaveOccurred())
Expect(response).To(Equal("synced"))
contents, err := fakeFileSystem.ReadFile(stateFilePath)
Expect(err).ToNot(HaveOccurred())
localDNSState := state.LocalDNSState{}
err = json.Unmarshal(contents, &localDNSState)
Expect(err).ToNot(HaveOccurred())
Expect(localDNSState).To(Equal(state.LocalDNSState{Version: 3}))
})
})
Context("when loading fails", func() {
BeforeEach(func() {
fakeFileSystem.RegisterReadFileError(stateFilePath, errors.New("fake-read-error"))
})
It("returns an error", func() {
_, err := action.Run("fake-blobstore-id", "fake-fingerprint", 3)
示例4: describeUbuntuNetManager
//.........這裏部分代碼省略.........
Context("when no DNS servers are configured", func() {
BeforeEach(func() {
dhcpNetwork.DNS = []string{}
networks = boshsettings.Networks{
"first": dhcpNetwork,
"second": staticNetwork,
}
})
Context("when could not read link /etc/resolv.conf", func() {
It("fails reporting error", func() {
fs.ReadLinkError = errors.New("fake-read-link-error")
err := netManager.SetupNetworking(networks, nil)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Reading /etc/resolv.conf symlink"))
})
})
Context("when /etc/resolv.conf is no symlink", func() {
BeforeEach(func() {
err := fs.Symlink("/etc/resolv.conf", "/etc/resolv.conf")
Expect(err).ToNot(HaveOccurred())
err = fs.WriteFileString("/etc/resolv.conf", "fake-content")
Expect(err).ToNot(HaveOccurred())
})
It("copies /etc/resolv.conf to .../resolv.conf.d/base", func() {
err := netManager.SetupNetworking(networks, nil)
Expect(err).ToNot(HaveOccurred())
contents, err := fs.ReadFile("/etc/resolvconf/resolv.conf.d/base")
Expect(err).ToNot(HaveOccurred())
Expect(string(contents)).To(Equal("fake-content"))
})
Context("when copying fails", func() {
It("fails reporting the error", func() {
fs.CopyFileError = errors.New("fake-copy-error")
err := netManager.SetupNetworking(networks, nil)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Copying /etc/resolv.conf for backwards compat"))
})
})
})
})
It("forces /etc/resolv.conf to be a symlink", func() {
err := netManager.SetupNetworking(networks, nil)
Expect(err).ToNot(HaveOccurred())
Expect(fs.ReadLink("/etc/resolv.conf")).To(Equal("/run/resolvconf/resolv.conf"))
})
Context("when symlink command fails", func() {
BeforeEach(func() {
fs.SymlinkError = errors.New("fake-symlink-error")
})
It("fails reporting error", func() {
err := netManager.SetupNetworking(networks, nil)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Setting up /etc/resolv.conf symlink"))
})
示例5: describeDummyPlatform
func describeDummyPlatform() {
var (
platform Platform
collector boshstats.Collector
fs *fakesys.FakeFileSystem
cmdRunner boshsys.CmdRunner
dirProvider boshdirs.Provider
devicePathResolver boshdpresolv.DevicePathResolver
logger boshlog.Logger
)
BeforeEach(func() {
collector = &fakestats.FakeCollector{}
fs = fakesys.NewFakeFileSystem()
cmdRunner = fakesys.NewFakeCmdRunner()
dirProvider = boshdirs.NewProvider("/fake-dir")
devicePathResolver = fakedpresolv.NewFakeDevicePathResolver()
logger = boshlog.NewLogger(boshlog.LevelNone)
})
JustBeforeEach(func() {
platform = NewDummyPlatform(
collector,
fs,
cmdRunner,
dirProvider,
devicePathResolver,
logger,
)
})
Describe("GetDefaultNetwork", func() {
It("returns the contents of dummy-defaults-network-settings.json since that's what the dummy cpi writes", func() {
settingsFilePath := "/fake-dir/bosh/dummy-default-network-settings.json"
fs.WriteFileString(settingsFilePath, `{"IP": "1.2.3.4"}`)
network, err := platform.GetDefaultNetwork()
Expect(err).NotTo(HaveOccurred())
Expect(network.IP).To(Equal("1.2.3.4"))
})
})
Describe("GetCertManager", func() {
It("returns a dummy cert manager", func() {
certManager := platform.GetCertManager()
Expect(certManager.UpdateCertificates("")).Should(BeNil())
})
})
Describe("MountPersistentDisk", func() {
var diskSettings boshsettings.DiskSettings
var mountsPath, managedSettingsPath, formattedDisksPath string
BeforeEach(func() {
diskSettings = boshsettings.DiskSettings{ID: "somediskid"}
mountsPath = filepath.Join(dirProvider.BoshDir(), "mounts.json")
managedSettingsPath = filepath.Join(dirProvider.BoshDir(), "managed_disk_settings.json")
formattedDisksPath = filepath.Join(dirProvider.BoshDir(), "formatted_disks.json")
})
It("Mounts a persistent disk", func() {
mountsContent, _ := fs.ReadFileString(mountsPath)
Expect(mountsContent).To(Equal(""))
err := platform.MountPersistentDisk(diskSettings, "/dev/potato")
Expect(err).NotTo(HaveOccurred())
mountsContent, _ = fs.ReadFileString(mountsPath)
Expect(mountsContent).To(Equal(`[{"MountDir":"/dev/potato","DiskCid":"somediskid"}]`))
})
It("Updates the managed disk settings", func() {
lastMountedCid, _ := fs.ReadFileString(managedSettingsPath)
Expect(lastMountedCid).To(Equal(""))
err := platform.MountPersistentDisk(diskSettings, "/dev/potato")
Expect(err).NotTo(HaveOccurred())
lastMountedCid, _ = fs.ReadFileString(managedSettingsPath)
Expect(lastMountedCid).To(Equal("somediskid"))
})
It("Updates the formatted disks", func() {
formattedDisks, _ := fs.ReadFileString(formattedDisksPath)
Expect(formattedDisks).To(Equal(""))
err := platform.MountPersistentDisk(diskSettings, "/dev/potato")
Expect(err).NotTo(HaveOccurred())
formattedDisks, _ = fs.ReadFileString(formattedDisksPath)
Expect(formattedDisks).To(Equal(`[{"DiskCid":"somediskid"}]`))
})
Context("Device has already been mounted as expected", func() {
BeforeEach(func() {
fs.WriteFileString(managedSettingsPath, "somediskid")
fs.WriteFileString(mountsPath, `[{"MountDir":"/dev/potato","DiskCid":"somediskid"}]`)
})
//.........這裏部分代碼省略.........
示例6: init
func init() {
Describe("concreteManagerProvider", func() {
Describe("NewManager", func() {
It("returns manager with tasks.json as its tasks path", func() {
logger := boshlog.NewLogger(boshlog.LevelNone)
fs := fakesys.NewFakeFileSystem()
taskInfo := boshtask.Info{
TaskID: "fake-task-id",
Method: "fake-method",
Payload: []byte("fake-payload"),
}
manager := boshtask.NewManagerProvider().NewManager(logger, fs, "/dir/path")
err := manager.AddInfo(taskInfo)
Expect(err).ToNot(HaveOccurred())
// Check expected file location with another manager
otherManager := boshtask.NewManager(logger, fs, "/dir/path/tasks.json")
taskInfos, err := otherManager.GetInfos()
Expect(err).ToNot(HaveOccurred())
Expect(taskInfos).To(Equal([]boshtask.Info{taskInfo}))
})
})
})
Describe("concreteManager", func() {
var (
logger boshlog.Logger
fs *fakesys.FakeFileSystem
manager boshtask.Manager
)
BeforeEach(func() {
logger = boshlog.NewLogger(boshlog.LevelNone)
fs = fakesys.NewFakeFileSystem()
manager = boshtask.NewManager(logger, fs, "/dir/path")
})
Describe("GetInfos", func() {
It("can load multiple tasks", func() {
err := manager.AddInfo(boshtask.Info{
TaskID: "fake-task-id-1",
Method: "fake-method-1",
Payload: []byte("fake-payload-1"),
})
Expect(err).ToNot(HaveOccurred())
err = manager.AddInfo(boshtask.Info{
TaskID: "fake-task-id-2",
Method: "fake-method-2",
Payload: []byte("fake-payload-2"),
})
Expect(err).ToNot(HaveOccurred())
// Make sure we are not getting cached copy of taskInfos
reloadedManager := boshtask.NewManager(logger, fs, "/dir/path")
taskInfos, err := reloadedManager.GetInfos()
Expect(err).ToNot(HaveOccurred())
Expect(taskInfos).To(ConsistOf([]boshtask.Info{
boshtask.Info{
TaskID: "fake-task-id-1",
Method: "fake-method-1",
Payload: []byte("fake-payload-1"),
},
boshtask.Info{
TaskID: "fake-task-id-2",
Method: "fake-method-2",
Payload: []byte("fake-payload-2"),
},
}))
})
It("succeeds when there is no tasks (file is not present)", func() {
taskInfos, err := manager.GetInfos()
Expect(err).ToNot(HaveOccurred())
Expect(len(taskInfos)).To(Equal(0))
})
It("returns an error when failing to load tasks from the file that exists", func() {
err := manager.AddInfo(boshtask.Info{
TaskID: "fake-task-id-2",
Method: "fake-method-2",
Payload: []byte("fake-payload-2"),
})
Expect(err).ToNot(HaveOccurred())
fs.ReadFileError = errors.New("fake-read-error")
_, err = manager.GetInfos()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-read-error"))
})
})
Describe("AddInfo", func() {
It("can add multiple tasks", func() {
err := manager.AddInfo(boshtask.Info{
//.........這裏部分代碼省略.........