mirror of https://github.com/docker/docs.git
81 lines
1.6 KiB
Go
81 lines
1.6 KiB
Go
package commandstest
|
|
|
|
import (
|
|
"github.com/docker/machine/libmachine"
|
|
"github.com/docker/machine/libmachine/drivers"
|
|
"github.com/docker/machine/libmachine/host"
|
|
"github.com/docker/machine/libmachine/mcnerror"
|
|
"github.com/docker/machine/libmachine/state"
|
|
)
|
|
|
|
type FakeLibmachineAPI struct {
|
|
Hosts []*host.Host
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) NewPluginDriver(string, []byte) (drivers.Driver, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) NewHost(driver drivers.Driver) (*host.Host, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) Create(h *host.Host) error {
|
|
return nil
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) Exists(name string) (bool, error) {
|
|
for _, host := range api.Hosts {
|
|
if name == host.Name {
|
|
return true, nil
|
|
}
|
|
}
|
|
|
|
return false, nil
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) List() ([]string, error) {
|
|
return []string{}, nil
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) Load(name string) (*host.Host, error) {
|
|
for _, host := range api.Hosts {
|
|
if name == host.Name {
|
|
return host, nil
|
|
}
|
|
}
|
|
|
|
return nil, mcnerror.ErrHostDoesNotExist{
|
|
Name: name,
|
|
}
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) Remove(name string) error {
|
|
newHosts := []*host.Host{}
|
|
|
|
for _, host := range api.Hosts {
|
|
if name != host.Name {
|
|
newHosts = append(newHosts, host)
|
|
}
|
|
}
|
|
|
|
api.Hosts = newHosts
|
|
|
|
return nil
|
|
}
|
|
|
|
func (api *FakeLibmachineAPI) Save(host *host.Host) error {
|
|
return nil
|
|
}
|
|
|
|
func State(api libmachine.API, name string) state.State {
|
|
host, _ := api.Load(name)
|
|
machineState, _ := host.Driver.GetState()
|
|
return machineState
|
|
}
|
|
|
|
func Exists(api libmachine.API, name string) bool {
|
|
exists, _ := api.Exists(name)
|
|
return exists
|
|
}
|