Skip to content
Snippets Groups Projects
Select Git revision
  • f9f13f0f2a52185b4c9b3e6242cd931e5a6239e3
  • main default
  • bugfix/update-govmomi-for-vsphere-8
  • faleksic-main-patch-45738
  • sh-debug-docker-restart-error
  • mb-update-download-link-2024-01-31
  • il-central-1
  • update-aws-govcloud-regions
  • ajwalker/golang-upgrade
  • main-patch-3e07
  • dbickford-add-darwin-arm64-build
  • darren-patch-docs
  • debug-ssh-connections
  • DarrenEastman-main-patch-57526
  • add-command-for-base-certificates-regeneration
  • ak/go-modules
  • linux-s390x
  • contribution-warning
  • nelbacha-master-patch-89734
  • gitlab-0-14-0-release
  • test-longer-creation-waiting-time-for-DO
  • v0.16.2-gitlab.25
  • v0.16.2-gitlab.24
  • v0.16.2-gitlab.23
  • v0.16.2-gitlab.22
  • v0.16.2-gitlab.21
  • v0.16.2-gitlab.20
  • v0.16.2-gitlab.19
  • v0.16.2-gitlab.18
  • v0.16.2-gitlab.17
  • v0.16.2-gitlab.16
  • v0.16.2-gitlab.15
  • v0.16.2-gitlab.15-rc2
  • v0.16.2-gitlab.15-rc1
  • v0.16.2-gitlab.14
  • v0.16.2-gitlab.13
  • v0.16.2-gitlab.12
  • v0.16.2-gitlab.11
  • v0.16.2-gitlab.10
  • v0.16.2-gitlab.9
  • v0.16.2-gitlab.8
41 results

sshcommander.go

Blame
  • sshcommander.go 1.35 KiB
    // Package provisiontest provides utilities for testing provisioners
    package provisiontest
    
    import "errors"
    
    // FakeSSHCommanderOptions is intended to create a FakeSSHCommander without actually knowing the underlying sshcommands by passing it to NewSSHCommander
    type FakeSSHCommanderOptions struct {
    	//Result of the ssh command to look up the FilesystemType
    	FilesystemType string
    }
    
    // FakeSSHCommander is an implementation of provision.SSHCommander to provide predictable responses set by testing code
    // Extend it when needed
    type FakeSSHCommander struct {
    	Responses map[string]string
    }
    
    // NewFakeSSHCommander creates a FakeSSHCommander without actually knowing the underlying sshcommands
    func NewFakeSSHCommander(options FakeSSHCommanderOptions) *FakeSSHCommander {
    	if options.FilesystemType == "" {
    		options.FilesystemType = "ext4"
    	}
    	sshCmder := &FakeSSHCommander{
    		Responses: map[string]string{
    			"stat -f -c %T /var/lib": options.FilesystemType + "\n",
    		},
    	}
    
    	return sshCmder
    }
    
    // SSHCommand is an implementation of provision.SSHCommander.SSHCommand to provide predictable responses set by testing code
    func (sshCmder *FakeSSHCommander) SSHCommand(args string) (string, error) {
    	response, commandRegistered := sshCmder.Responses[args]
    	if !commandRegistered {
    		return "", errors.New("Command not registered in FakeSSHCommander")
    	}
    	return response, nil
    }