本文整理匯總了Golang中github.com/cloudfoundry/bosh-utils/system.FileSystem.ReadFileString方法的典型用法代碼示例。如果您正苦於以下問題:Golang FileSystem.ReadFileString方法的具體用法?Golang FileSystem.ReadFileString怎麽用?Golang FileSystem.ReadFileString使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-utils/system.FileSystem
的用法示例。
在下文中一共展示了FileSystem.ReadFileString方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
Expect(err).ToNot(HaveOccurred())
fileBytes := readFile(readOnlyFile)
Expect(string(fileBytes)).To(Equal("some data"))
})
It("writes", func() {
blobManager := NewBlobManager(fs, basePath)
fs.WriteFileString(blobPath, "some data")
defer fs.RemoveAll(blobPath)
err := blobManager.Write(blobId, toWrite)
Expect(err).ToNot(HaveOccurred())
contents, err := fs.ReadFileString(blobPath)
Expect(err).ToNot(HaveOccurred())
Expect(contents).To(Equal("new data"))
})
Context("when it writes", func() {
BeforeEach(func() {
basePath = filepath.ToSlash(basePath)
blobPath = filepath.ToSlash(blobPath)
})
It("creates and closes the file", func() {
fs_ := boshsysfake.NewFakeFileSystem()
blobManager := NewBlobManager(fs_, basePath)
err := blobManager.Write(blobId, toWrite)
Expect(err).ToNot(HaveOccurred())
示例2:
"./other_logs/",
"./some_directory/",
"./some_directory/sub_dir/",
"./some_directory/sub_dir/other_sub_dir/",
"./some_directory/sub_dir/other_sub_dir/.keep",
"./symlink_dir",
"./other_logs/more_logs/",
"./other_logs/other_app.stderr.log",
"./other_logs/other_app.stdout.log",
"./other_logs/more_logs/more.stdout.log",
))
_, _, _, err = cmdRunner.RunCommand("tar", "-xzpf", tgzName, "-C", dstDir)
Expect(err).ToNot(HaveOccurred())
content, err := fs.ReadFileString(dstDir + "/app.stdout.log")
Expect(err).ToNot(HaveOccurred())
Expect(content).To(ContainSubstring("this is app stdout"))
content, err = fs.ReadFileString(dstDir + "/app.stderr.log")
Expect(err).ToNot(HaveOccurred())
Expect(content).To(ContainSubstring("this is app stderr"))
content, err = fs.ReadFileString(dstDir + "/other_logs/other_app.stdout.log")
Expect(err).ToNot(HaveOccurred())
Expect(content).To(ContainSubstring("this is other app stdout"))
})
})
Describe("CompressSpecificFilesInDir", func() {
It("compresses the given files in the given directory", func() {
示例3: init
func init() {
Describe("ApplyAction", func() {
var (
applier *fakeappl.FakeApplier
specService *fakeas.FakeV1Service
settingsService *fakesettings.FakeSettingsService
dirProvider boshdir.Provider
action ApplyAction
fs boshsys.FileSystem
)
BeforeEach(func() {
applier = fakeappl.NewFakeApplier()
specService = fakeas.NewFakeV1Service()
settingsService = &fakesettings.FakeSettingsService{}
dirProvider = boshdir.NewProvider("/var/vcap")
fs = fakesys.NewFakeFileSystem()
action = NewApply(applier, specService, settingsService, dirProvider.InstanceDir(), fs)
})
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("desired spec has id, instance name, deployment name, and az", func() {
BeforeEach(func() {
desiredApplySpec = boshas.V1ApplySpec{ConfigurationHash: "fake-desired-config-hash", NodeID: "node-id01-123f-r2344", AvailabilityZone: "ex-az", Deployment: "deployment-name", Name: "instance-name"}
specService.PopulateDHCPNetworksResultSpec = desiredApplySpec
})
It("returns 'applied' and writes the id, instance name, deployment name, and az to files in the instance directory", func() {
value, err := action.Run(desiredApplySpec)
Expect(err).ToNot(HaveOccurred())
Expect(value).To(Equal("applied"))
instanceDir := dirProvider.InstanceDir()
id, err := fs.ReadFileString(path.Join(instanceDir, "id"))
Expect(err).ToNot(HaveOccurred())
Expect(id).To(Equal(desiredApplySpec.NodeID))
az, err := fs.ReadFileString(path.Join(instanceDir, "az"))
Expect(err).ToNot(HaveOccurred())
Expect(az).To(Equal(desiredApplySpec.AvailabilityZone))
instanceName, err := fs.ReadFileString(path.Join(instanceDir, "name"))
//.........這裏部分代碼省略.........
示例4:
renderedJobList.Add(renderedJob1)
// compress
archive, err := renderedJobListCompressor.Compress(renderedJobList)
Expect(err).ToNot(HaveOccurred())
defer func() { err := archive.Delete(); Expect(err).ToNot(HaveOccurred()) }()
// decompress
renderedJobListDir, err := fs.TempDir("RenderedJobListCompressorTest")
Expect(err).ToNot(HaveOccurred())
defer func() { err := fs.RemoveAll(renderedJobListDir); Expect(err).ToNot(HaveOccurred()) }()
err = compressor.DecompressFileToDir(archive.Path(), renderedJobListDir, boshcmd.CompressorOptions{})
Expect(err).ToNot(HaveOccurred())
// verify that archive contained rendered scripts from job 0
content, err := fs.ReadFileString(filepath.Join(renderedJobListDir, "fake-job-name-0", "script-0"))
Expect(err).ToNot(HaveOccurred())
Expect(content).To(Equal("fake-rendered-job-0-script-0-content"))
content, err = fs.ReadFileString(filepath.Join(renderedJobListDir, "fake-job-name-0", "script-1"))
Expect(err).ToNot(HaveOccurred())
Expect(content).To(Equal("fake-rendered-job-0-script-1-content"))
// verify that archive contained rendered scripts from job 1
content, err = fs.ReadFileString(filepath.Join(renderedJobListDir, "fake-job-name-1", "script-0"))
Expect(err).ToNot(HaveOccurred())
Expect(content).To(Equal("fake-rendered-job-1-script-0-content"))
})
})
Context("with a fake fs & compressor", func() {
var (
示例5:
Expect(jobSupervisor.Start()).To(Succeed())
for _, proc := range conf.Processes {
stdout, _, _, err := runner.RunCommand("powershell", "/C", "get-service", proc.Name)
Expect(err).ToNot(HaveOccurred())
Expect(stdout).To(ContainSubstring(proc.Name))
Expect(stdout).To(ContainSubstring("Running"))
}
})
It("writes logs to job log directory", func() {
Expect(jobSupervisor.Start()).To(Succeed())
for i, proc := range conf.Processes {
readLogFile := func() (string, error) {
return fs.ReadFileString(path.Join(logDir, "say-hello", proc.Name, "job-service-wrapper.out.log"))
}
Eventually(readLogFile, DefaultTimeout, DefaultInterval).Should(ContainSubstring(fmt.Sprintf("Hello %d", i+1)))
}
})
It("sets the LOG_DIR env variable for the pipe", func() {
Expect(jobSupervisor.Start()).To(Succeed())
validFile := func(name string) func() error {
return func() error {
fi, err := os.Stat(name)
if err != nil {
return err
}
if fi.Size() == 0 {
示例6:
Expect(err).ToNot(HaveOccurred())
Expect(copiedFiles).To(Equal([]string{
dstDir + "/app.stderr.log",
dstDir + "/app.stdout.log",
dstDir + "/other_logs/more_logs/more.stdout.log",
dstDir + "/other_logs/other_app.stdout.log",
dstDir + "/some_directory/sub_dir/other_sub_dir/.keep",
}))
tarDirStat, err := os.Stat(dstDir)
Expect(err).ToNot(HaveOccurred())
Expect(os.FileMode(0755)).To(Equal(tarDirStat.Mode().Perm()))
content, err := fs.ReadFileString(dstDir + "/app.stdout.log")
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is app stdout")
content, err = fs.ReadFileString(dstDir + "/app.stderr.log")
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is app stderr")
content, err = fs.ReadFileString(dstDir + "/other_logs/other_app.stdout.log")
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is other app stdout")
content, err = fs.ReadFileString(dstDir + "/other_logs/more_logs/more.stdout.log")
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is more stdout")
示例7:
Expect(agentState.JobState).To(Equal("running"))
})
It("can run a drain script", func() {
natsClient.PrepareJob("say-hello")
err := natsClient.RunDrain()
Expect(err).NotTo(HaveOccurred())
logsDir, err := fs.TempDir("windows-agent-drain-test")
Expect(err).NotTo(HaveOccurred())
defer fs.RemoveAll(logsDir)
natsClient.FetchLogs(logsDir)
drainLogContents, err := fs.ReadFileString(filepath.Join(logsDir, "say-hello", "drain.log"))
Expect(err).NotTo(HaveOccurred())
Expect(drainLogContents).To(ContainSubstring("Hello from drain"))
})
It("can unmonitor the job during drain script", func() {
natsClient.PrepareJob("unmonitor-hello")
runStartResponse, err := natsClient.RunStart()
Expect(err).NotTo(HaveOccurred())
Expect(runStartResponse["value"]).To(Equal("started"))
agentState := natsClient.GetState()
Expect(agentState.JobState).To(Equal("running"))
示例8:
defer os.RemoveAll(dstDir)
copiedFiles := filesInDir(dstDir)
Expect(err).ToNot(HaveOccurred())
Expect(copiedFiles).To(Equal([]string{
filepath.Join(dstDir, "app.stderr.log"),
filepath.Join(dstDir, "app.stdout.log"),
filepath.Join(dstDir, "other_logs", "more_logs", "more.stdout.log"),
filepath.Join(dstDir, "other_logs", "other_app.stdout.log"),
filepath.Join(dstDir, "some_directory", "sub_dir", "other_sub_dir", ".keep"),
}))
content, err := fs.ReadFileString(filepath.Join(dstDir, "app.stdout.log"))
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is app stdout")
content, err = fs.ReadFileString(filepath.Join(dstDir, "app.stderr.log"))
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is app stderr")
content, err = fs.ReadFileString(filepath.Join(dstDir, "other_logs", "other_app.stdout.log"))
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is other app stdout")
content, err = fs.ReadFileString(filepath.Join(dstDir, "other_logs", "more_logs", "more.stdout.log"))
Expect(err).ToNot(HaveOccurred())
assert.Contains(GinkgoT(), content, "this is more stdout")