package cdrom_test import ( "errors" . "github.com/cloudfoundry/bosh-agent/platform/cdrom" fakeudev "github.com/cloudfoundry/bosh-agent/platform/cdrom/udevdevice/fakes" fakesys "github.com/cloudfoundry/bosh-agent/system/fakes" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("LinuxCdrom", func() { var ( udev *fakeudev.FakeUdevDevice runner *fakesys.FakeCmdRunner cd Cdrom ) BeforeEach(func() { udev = fakeudev.NewFakeUdevDevice() runner = fakesys.NewFakeCmdRunner() }) JustBeforeEach(func() { cd = NewLinuxCdrom("/dev/sr0", udev, runner) }) Describe("WaitForMedia", func() { It("polls the cdrom to force udev to notice it", func() { err := cd.WaitForMedia() Expect(err).NotTo(HaveOccurred())
import ( "errors" "os" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "github.com/cloudfoundry/bosh-agent/agent/cmdrunner" boshsys "github.com/cloudfoundry/bosh-agent/system" fakesys "github.com/cloudfoundry/bosh-agent/system/fakes" ) var _ = Describe("FileLoggingCmdRunner", func() { var ( fs *fakesys.FakeFileSystem cmdRunner *fakesys.FakeCmdRunner cmd boshsys.Command runner CmdRunner ) BeforeEach(func() { fs = fakesys.NewFakeFileSystem() cmdRunner = fakesys.NewFakeCmdRunner() runner = NewFileLoggingCmdRunner(fs, cmdRunner, "/fake-base-dir", 15) cmd = boshsys.Command{ Name: "fake-cmd", Args: []string{"fake-args"}, Env: map[string]string{"fake-env-key": "fake-env-var"}, WorkingDir: "/fake-working-dir", } })
boshlog "github.com/cloudfoundry/bosh-agent/logger" . "github.com/cloudfoundry/bosh-agent/platform/net" fakearp "github.com/cloudfoundry/bosh-agent/platform/net/arp/fakes" fakenet "github.com/cloudfoundry/bosh-agent/platform/net/fakes" boship "github.com/cloudfoundry/bosh-agent/platform/net/ip" fakeip "github.com/cloudfoundry/bosh-agent/platform/net/ip/fakes" boshsettings "github.com/cloudfoundry/bosh-agent/settings" fakesys "github.com/cloudfoundry/bosh-agent/system/fakes" ) var _ = Describe("ubuntuNetManager", func() { var ( fs *fakesys.FakeFileSystem cmdRunner *fakesys.FakeCmdRunner defaultNetworkResolver *fakenet.FakeDefaultNetworkResolver ipResolver *fakeip.FakeIPResolver addressBroadcaster *fakearp.FakeAddressBroadcaster netManager NetManager ) BeforeEach(func() { fs = fakesys.NewFakeFileSystem() cmdRunner = fakesys.NewFakeCmdRunner() defaultNetworkResolver = &fakenet.FakeDefaultNetworkResolver{} ipResolver = &fakeip.FakeIPResolver{} addressBroadcaster = &fakearp.FakeAddressBroadcaster{} logger := boshlog.NewLogger(boshlog.LevelNone) netManager = NewUbuntuNetManager( fs, cmdRunner, defaultNetworkResolver,
package disk_test import ( "errors" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "github.com/cloudfoundry/bosh-agent/platform/disk" fakesys "github.com/cloudfoundry/bosh-agent/system/fakes" ) var _ = Describe("cmdMountsSeacher", func() { var ( runner *fakesys.FakeCmdRunner searcher MountsSearcher ) BeforeEach(func() { runner = fakesys.NewFakeCmdRunner() searcher = NewCmdMountsSearcher(runner) }) Describe("SearchMounts", func() { Context("when running command succeeds", func() { It("returns parsed mount information", func() { runner.AddCmdResult("mount", fakesys.FakeCmdResult{ Stdout: `devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) /dev/sda1 on /boot type ext2 (rw) none on /tmp/warden/cgroup type tmpfs (rw)`,
jobNextState string jobNextStateErr error } func (p fakeDrainParams) JobChange() (change string) { return p.jobChange } func (p fakeDrainParams) HashChange() (change string) { return p.hashChange } func (p fakeDrainParams) UpdatedPackages() (pkgs []string) { return p.updatedPackages } func (p fakeDrainParams) JobState() (string, error) { return p.jobState, p.jobStateErr } func (p fakeDrainParams) JobNextState() (string, error) { return p.jobNextState, p.jobNextStateErr } var _ = Describe("ConcreteDrainScript", func() { var ( runner *fakesys.FakeCmdRunner fs *fakesys.FakeFileSystem drainScript ConcreteDrainScript ) BeforeEach(func() { fs = fakesys.NewFakeFileSystem() runner = fakesys.NewFakeCmdRunner() drainScript = NewConcreteDrainScript(fs, runner, "/fake/script") }) Describe("Run", func() { var ( params fakeDrainParams ) BeforeEach(func() {
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" boshassert "github.com/cloudfoundry/bosh-agent/assert" . "github.com/cloudfoundry/bosh-agent/blobstore" boshdir "github.com/cloudfoundry/bosh-agent/settings/directories" fakesys "github.com/cloudfoundry/bosh-agent/system/fakes" fakeuuid "github.com/cloudfoundry/bosh-agent/uuid/fakes" ) var _ = Describe("externalBlobstore", func() { var ( fs *fakesys.FakeFileSystem runner *fakesys.FakeCmdRunner uuidGen *fakeuuid.FakeGenerator configPath string blobstore Blobstore ) BeforeEach(func() { fs = fakesys.NewFakeFileSystem() runner = fakesys.NewFakeCmdRunner() uuidGen = &fakeuuid.FakeGenerator{} dirProvider := boshdir.NewDirectoriesProvider("/var/vcap") configPath = filepath.Join(dirProvider.EtcDir(), "blobstore-fake-provider.json") blobstore = NewExternalBlobstore("fake-provider", map[string]interface{}{}, fs, runner, uuidGen, configPath) }) Describe("Validate", func() { It("external validate writes config file", func() {
package net_test import ( "errors" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "github.com/cloudfoundry/bosh-agent/platform/net" fakesys "github.com/cloudfoundry/bosh-agent/system/fakes" ) var _ = Describe("cmdRoutesSeacher", func() { var ( runner *fakesys.FakeCmdRunner searcher RoutesSearcher ) BeforeEach(func() { runner = fakesys.NewFakeCmdRunner() searcher = NewCmdRoutesSearcher(runner) }) Describe("SearchRoutes", func() { Context("when running command succeeds", func() { It("returns parsed routes information", func() { runner.AddCmdResult("route -n", fakesys.FakeCmdResult{ Stdout: `Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.79.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
s.mounts = s.mounts[1:] return result, nil } const swaponUsageOutput = `Filename Type Size Used Priority /dev/swap partition 78180316 0 -1 ` const swaponUsageOutputWithOtherDevice = `Filename Type Size Used Priority /dev/swap2 partition 78180316 0 -1 ` var _ = Describe("linuxMounter", func() { var ( runner *fakesys.FakeCmdRunner mountsSearcher *fakedisk.FakeMountsSearcher mounter Mounter ) BeforeEach(func() { runner = fakesys.NewFakeCmdRunner() mountsSearcher = &fakedisk.FakeMountsSearcher{} mounter = NewLinuxMounter(runner, mountsSearcher, 1*time.Millisecond) }) Describe("Mount", func() { It("allows to mount disk at given mount point", func() { err := mounter.Mount("/dev/foo", "/mnt/foo") Expect(err).ToNot(HaveOccurred()) Expect(1).To(Equal(len(runner.RunCommands))) Expect(runner.RunCommands[0]).To(Equal([]string{"mount", "/dev/foo", "/mnt/foo"}))