本文整理匯總了Golang中github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes.FakeFileSystem.WriteFileString方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeFileSystem.WriteFileString方法的具體用法?Golang FakeFileSystem.WriteFileString怎麽用?Golang FakeFileSystem.WriteFileString使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes.FakeFileSystem
的用法示例。
在下文中一共展示了FakeFileSystem.WriteFileString方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
BeforeEach(func() {
compressor = fakecmd.NewFakeCompressor()
fs = fakesys.NewFakeFileSystem()
stemcellReader = NewReader(compressor, fs)
manifestContents := `
---
name: fake-stemcell-name
version: '2690'
cloud_properties:
infrastructure: aws
ami:
us-east-1: fake-ami-version
`
fs.WriteFileString("fake-extracted-path/stemcell.MF", manifestContents)
})
It("extracts the stemcells from a stemcell path", func() {
_, err := stemcellReader.Read("fake-stemcell-path", "fake-extracted-path")
Expect(err).ToNot(HaveOccurred())
Expect(compressor.DecompressFileToDirTarballPaths).To(ContainElement("fake-stemcell-path"))
Expect(compressor.DecompressFileToDirDirs).To(ContainElement("fake-extracted-path"))
})
It("generates correct stemcell", func() {
stemcell, err := stemcellReader.Read("fake-stemcell-path", "fake-extracted-path")
Expect(err).ToNot(HaveOccurred())
expectedStemcell := NewExtractedStemcell(
Manifest{
Name: "fake-stemcell-name",
示例2:
port: 22
user: {{ .SSHTunnelUser }}
private_key: {{ .SSHTunnelPrivateKey }}
`
type manifestContext struct {
DiskSize int
SSHTunnelUser string
SSHTunnelPrivateKey string
}
var updateManifest = func(context manifestContext) {
buffer := bytes.NewBuffer([]byte{})
t := template.Must(template.New("manifest").Parse(manifestTemplate))
err := t.Execute(buffer, context)
Expect(err).ToNot(HaveOccurred())
err = fs.WriteFileString(deploymentManifestPath, buffer.String())
Expect(err).ToNot(HaveOccurred())
}
var writeDeploymentManifest = func() {
context := manifestContext{
DiskSize: 1024,
SSHTunnelUser: sshConfig.Username,
SSHTunnelPrivateKey: sshConfig.PrivateKey,
}
updateManifest(context)
fakeSHA1Calculator.SetCalculateBehavior(map[string]fakebicrypto.CalculateInput{
deploymentManifestPath: {Sha1: "fake-deployment-sha1-1"},
})
}
示例3:
logger := boshlog.NewLogger(boshlog.LevelNone)
fakeUUIDGenerator = fakeuuid.NewFakeGenerator()
service = NewFileSystemDeploymentStateService(fakeFs, fakeUUIDGenerator, logger, deploymentStatePath)
})
Describe("DeploymentStatePath", func() {
It("is based on the manifest path and name", func() {
Expect(DeploymentStatePath("/path/to/some-manifest.yml")).To(Equal("/path/to/some-manifest-state.json"))
Expect(DeploymentStatePath("/path/to/some-manifesty.yaml")).To(Equal("/path/to/some-manifesty-state.json"))
Expect(DeploymentStatePath("/path/to/some-manifest")).To(Equal("/path/to/some-manifest-state.json"))
})
})
Describe("Exists", func() {
It("returns true if the config file exists", func() {
fakeFs.WriteFileString(deploymentStatePath, "")
Expect(service.Exists()).To(BeTrue())
})
It("returns false if the config file does not exist", func() {
Expect(service.Exists()).To(BeFalse())
})
})
Describe("Load", func() {
It("reads the given config file", func() {
stemcells := []StemcellRecord{
StemcellRecord{
Name: "fake-stemcell-name-1",
Version: "fake-stemcell-version-1",
CID: "fake-stemcell-cid-1",
示例4:
Expect(actualJob).To(Equal(expectedJob))
Expect(ok).To(BeTrue())
})
})
Context("when the job does not exist", func() {
It("returns nil and false", func() {
_, ok := release.FindJobByName("fake-non-existent-job")
Expect(ok).To(BeFalse())
})
})
})
Describe("Delete", func() {
BeforeEach(func() {
fakeFS.WriteFileString("fake-extracted-path", "")
})
It("deletes the extracted release path", func() {
Expect(fakeFS.FileExists("fake-extracted-path")).To(BeTrue())
err := release.Delete()
Expect(err).ToNot(HaveOccurred())
Expect(fakeFS.FileExists("fake-extracted-path")).To(BeFalse())
})
})
Describe("Exists", func() {
BeforeEach(func() {
fakeFS.WriteFileString("fake-extracted-path", "")
})
示例5:
expectFind = mockCompiledPackageRepo.EXPECT().Find(*pkg).Return(bistatepkg.CompiledPackageRecord{}, false, nil).AnyTimes()
dep1 = bistatepkg.CompiledPackageRecord{
BlobID: "fake-dependency-blobstore-id-1",
BlobSHA1: "fake-dependency-sha1-1",
}
mockCompiledPackageRepo.EXPECT().Find(*dependency1).Return(dep1, true, nil).AnyTimes()
dep2 = bistatepkg.CompiledPackageRecord{
BlobID: "fake-dependency-blobstore-id-2",
BlobSHA1: "fake-dependency-sha1-2",
}
mockCompiledPackageRepo.EXPECT().Find(*dependency2).Return(dep2, true, nil).AnyTimes()
// packaging file created when source is extracted
fs.WriteFileString(path.Join(pkg.ExtractedPath, "packaging"), "")
compressor.CompressFilesInDirTarballPath = compiledPackageTarballPath
record := bistatepkg.CompiledPackageRecord{
BlobID: "fake-blob-id",
BlobSHA1: "fake-fingerprint",
}
expectSave = mockCompiledPackageRepo.EXPECT().Save(*pkg, record).AnyTimes()
})
Context("when the compiled package repo already has the package", func() {
JustBeforeEach(func() {
compiledPkgRecord := bistatepkg.CompiledPackageRecord{
BlobSHA1: "fake-fingerprint",
}
示例6:
networks:
- name: vip
static_ips: [1.2.3.4]
- name: fake-network-name
default: [dns]
persistent_disk: 1024
persistent_disk_pool: fake-disk-pool-name
resource_pool: fake-resource-pool
properties:
fake-prop-key:
nested-prop-key: fake-prop-value
properties:
foo:
bar: baz
`
fakeFs.WriteFileString(comboManifestPath, contents)
})
It("parses deployment manifest from combo manifest file", func() {
deploymentManifest, err := parser.Parse(comboManifestPath)
Expect(err).ToNot(HaveOccurred())
Expect(deploymentManifest).To(Equal(Manifest{
Name: "fake-deployment-name",
Update: Update{
UpdateWatchTime: WatchTime{
Start: 2000,
End: 7000,
},
},
Networks: []Network{
示例7:
fs = fakesys.NewFakeFileSystem()
logger := boshlog.NewLogger(boshlog.LevelNone)
metadataService = NewFileMetadataService(
"fake-metadata-file-path",
"fake-userdata-file-path",
"fake-settings-file-path",
fs,
logger,
)
})
Describe("GetInstanceID", func() {
Context("when metadata service file exists", func() {
BeforeEach(func() {
metadataContents := `{"instance-id":"fake-instance-id"}`
fs.WriteFileString("fake-metadata-file-path", metadataContents)
})
It("returns instance id", func() {
instanceID, err := metadataService.GetInstanceID()
Expect(err).NotTo(HaveOccurred())
Expect(instanceID).To(Equal("fake-instance-id"))
})
})
Context("when metadata service file does not exist", func() {
It("returns an error", func() {
_, err := metadataService.GetInstanceID()
Expect(err).To(HaveOccurred())
})
})
示例8:
. "github.com/cloudfoundry/bosh-init/release"
fakesys "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes"
bireljob "github.com/cloudfoundry/bosh-init/release/job"
birelpkg "github.com/cloudfoundry/bosh-init/release/pkg"
)
var _ = Describe("Validator", func() {
var fakeFs *fakesys.FakeFileSystem
BeforeEach(func() {
fakeFs = fakesys.NewFakeFileSystem()
})
It("validates a valid release without error", func() {
fakeFs.WriteFileString("/some/job/path/monit", "")
fakeFs.WriteFileString("/some/job/path/templates/fake-job-1-template", "")
release := NewRelease(
"fake-release-name",
"fake-release-version",
[]bireljob.Job{
{
Name: "fake-job-1-name",
Fingerprint: "fake-job-1-fingerprint",
SHA1: "fake-job-1-sha",
Templates: map[string]string{"fake-job-1-template": "fake-job-1-file"},
ExtractedPath: "/some/job/path",
},
},
[]*birelpkg.Package{
{
示例9:
mbus: http://fake-mbus-user:[email protected]:6868
`,
}
})
Describe("#Parse", func() {
Context("when combo manifest path does not exist", func() {
It("returns an error", func() {
_, err := parser.Parse(comboManifestPath, releaseSetManifest)
Expect(err).To(HaveOccurred())
})
})
Context("when parser fails to read the combo manifest file", func() {
JustBeforeEach(func() {
fakeFs.WriteFileString(comboManifestPath, fixtures.validManifest)
fakeFs.ReadFileError = errors.New("fake-read-file-error")
})
It("returns an error", func() {
_, err := parser.Parse(comboManifestPath, releaseSetManifest)
Expect(err).To(HaveOccurred())
})
})
Context("with a valid manifest", func() {
BeforeEach(func() {
fakeFs.WriteFileString(comboManifestPath, fixtures.validManifest)
})
It("parses installation from combo manifest", func() {
示例10:
Expect(err.Error()).To(ContainSubstring("missing blobstore_path"))
})
It("returns error when blobstore path is not a string", func() {
options := map[string]interface{}{"blobstore_path": 443}
blobstore = NewLocalBlobstore(fs, uuidGen, options)
err := blobstore.Validate()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("blobstore_path must be a string"))
})
})
Describe("Get", func() {
It("fetches the local blob contents", func() {
fs.WriteFileString(fakeBlobstorePath+"/fake-blob-id", "fake contents")
tempFile, err := fs.TempFile("bosh-blobstore-local-TestLocalGet")
Expect(err).ToNot(HaveOccurred())
fs.ReturnTempFile = tempFile
defer fs.RemoveAll(tempFile.Name())
_, err = blobstore.Get("fake-blob-id", "")
Expect(err).ToNot(HaveOccurred())
fileStats := fs.GetFileTestStat(tempFile.Name())
Expect(fileStats).ToNot(BeNil())
Expect("fake contents").To(Equal(fileStats.StringContents()))
})
示例11: describeCentosNetManager
func describeCentosNetManager() {
var (
fs *fakesys.FakeFileSystem
cmdRunner *fakesys.FakeCmdRunner
ipResolver *fakeip.FakeResolver
addressBroadcaster *fakearp.FakeAddressBroadcaster
netManager Manager
interfaceConfigurationCreator InterfaceConfigurationCreator
)
BeforeEach(func() {
fs = fakesys.NewFakeFileSystem()
cmdRunner = fakesys.NewFakeCmdRunner()
ipResolver = &fakeip.FakeResolver{}
logger := boshlog.NewLogger(boshlog.LevelNone)
interfaceConfigurationCreator = NewInterfaceConfigurationCreator(logger)
addressBroadcaster = &fakearp.FakeAddressBroadcaster{}
netManager = NewCentosNetManager(
fs,
cmdRunner,
ipResolver,
interfaceConfigurationCreator,
addressBroadcaster,
logger,
)
})
writeNetworkDevice := func(iface string, macAddress string, isPhysical bool) string {
interfacePath := fmt.Sprintf("/sys/class/net/%s", iface)
fs.WriteFile(interfacePath, []byte{})
if isPhysical {
fs.WriteFile(fmt.Sprintf("/sys/class/net/%s/device", iface), []byte{})
}
fs.WriteFileString(fmt.Sprintf("/sys/class/net/%s/address", iface), fmt.Sprintf("%s\n", macAddress))
return interfacePath
}
Describe("SetupNetworking", func() {
var (
dhcpNetwork boshsettings.Network
staticNetwork boshsettings.Network
expectedNetworkConfigurationForStatic string
expectedNetworkConfigurationForDHCP string
expectedDhclientConfiguration string
)
BeforeEach(func() {
dhcpNetwork = boshsettings.Network{
Type: "dynamic",
Default: []string{"dns"},
DNS: []string{"8.8.8.8", "9.9.9.9"},
Mac: "fake-dhcp-mac-address",
}
staticNetwork = boshsettings.Network{
Type: "manual",
IP: "1.2.3.4",
Netmask: "255.255.255.0",
Gateway: "3.4.5.6",
Mac: "fake-static-mac-address",
}
expectedNetworkConfigurationForStatic = `DEVICE=ethstatic
BOOTPROTO=static
IPADDR=1.2.3.4
NETMASK=255.255.255.0
BROADCAST=1.2.3.255
GATEWAY=3.4.5.6
ONBOOT=yes
PEERDNS=no
DNS1=8.8.8.8
DNS2=9.9.9.9
`
expectedNetworkConfigurationForDHCP = `DEVICE=ethdhcp
BOOTPROTO=dhcp
ONBOOT=yes
PEERDNS=yes
`
expectedDhclientConfiguration = `# Generated by bosh-agent
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 9.9.9.9;
`
})
stubInterfacesWithVirtual := func(physicalInterfaces map[string]boshsettings.Network, virtualInterfaces []string) {
interfacePaths := []string{}
for iface, networkSettings := range physicalInterfaces {
interfacePaths = append(interfacePaths, writeNetworkDevice(iface, networkSettings.Mac, true))
//.........這裏部分代碼省略.........
示例12:
BeforeEach(func() {
fs = fakesys.NewFakeFileSystem()
logger := boshlog.NewLogger(boshlog.LevelNone)
cache = NewCache("/fake-base-path", fs, logger)
sha1Calculator = fakebicrypto.NewFakeSha1Calculator()
httpClient = fakebihttpclient.NewFakeHTTPClient()
provider = NewProvider(cache, fs, httpClient, sha1Calculator, 3, 0, logger)
fakeStage = fakebiui.NewFakeStage()
})
Describe("Get", func() {
Context("when URL starts with file://", func() {
BeforeEach(func() {
source = newFakeSource("file://fake-file", "fake-sha1", "fake-description")
fs.WriteFileString("expanded-file-path", "")
fs.ExpandPathExpanded = "expanded-file-path"
})
It("returns expanded path to file", func() {
path, err := provider.Get(source, fakeStage)
Expect(err).ToNot(HaveOccurred())
Expect(path).To(Equal("expanded-file-path"))
})
})
Context("when URL starts with http(s)://", func() {
BeforeEach(func() {
source = newFakeSource("http://fake-url", "fake-sha1", "fake-description")
})
示例13:
BeforeEach(func() {
fakeFS = fakesys.NewFakeFileSystem()
fakeUUIDGenerator = fakeuuid.NewFakeGenerator()
logger = boshlog.NewLogger(boshlog.LevelNone)
deploymentStateService = biconfig.NewFileSystemDeploymentStateService(
fakeFS,
fakeUUIDGenerator,
logger,
configPath,
)
targetProvider = NewTargetProvider(deploymentStateService, fakeUUIDGenerator, installationsRootPath)
})
Context("when the installation_id exists in the deployment state", func() {
BeforeEach(func() {
err := fakeFS.WriteFileString(configPath, `{"installation_id":"12345"}`)
Expect(err).ToNot(HaveOccurred())
})
It("uses the existing installation_id & returns a target based on it", func() {
target, err := targetProvider.NewTarget()
Expect(err).ToNot(HaveOccurred())
Expect(target.Path()).To(Equal("/.bosh_init/installations/12345"))
})
It("does not change the saved installation_id", func() {
_, err := targetProvider.NewTarget()
Expect(err).ToNot(HaveOccurred())
deploymentState, err := deploymentStateService.Load()
Expect(err).ToNot(HaveOccurred())
示例14:
})
Describe("MigrateIfExists", func() {
Context("when no legacy deploment config file exists", func() {
It("does nothing", func() {
migrated, err := migrator.MigrateIfExists(legacyDeploymentStateFilePath)
Expect(migrated).To(BeFalse())
Expect(err).ToNot(HaveOccurred())
Expect(fakeFs.FileExists(modernDeploymentStateFilePath)).To(BeFalse())
})
})
Context("when legacy deploment config file exists (but is unparseable)", func() {
BeforeEach(func() {
fakeFs.WriteFileString(legacyDeploymentStateFilePath, `xyz`)
})
It("does not delete the legacy deployment state file", func() {
migrated, err := migrator.MigrateIfExists(legacyDeploymentStateFilePath)
Expect(migrated).To(BeFalse())
Expect(err).To(HaveOccurred())
Expect(fakeFs.FileExists(modernDeploymentStateFilePath)).To(BeFalse())
Expect(fakeFs.FileExists(legacyDeploymentStateFilePath)).To(BeTrue())
})
})
Context("when legacy deploment config file exists (and is empty)", func() {
BeforeEach(func() {
fakeFs.WriteFileString(legacyDeploymentStateFilePath, `--- {}`)
示例15:
cache Cache
fs *fakesys.FakeFileSystem
)
BeforeEach(func() {
logger := boshlog.NewLogger(boshlog.LevelNone)
fs = fakesys.NewFakeFileSystem()
cache = NewCache(
"/fake-base-path",
fs,
logger,
)
})
It("is a cache hit when the tarball with that url and sha1 has been downloaded", func() {
fs.WriteFileString("source-path", "")
err := cache.Save("source-path", &fakeSource{
sha1: "fake-sha1",
url: "http://foo.bar.com",
description: "some tarball",
})
Expect(err).ToNot(HaveOccurred())
path, found := cache.Get(&fakeSource{
sha1: "fake-sha1",
url: "http://foo.bar.com",
description: "some tarball",
})
Expect(found).To(BeTrue())
Expect(fs.FileExists(path)).To(BeTrue())