Skip to content
This repository was archived by the owner on Dec 17, 2021. It is now read-only.

Commit 7e10587

Browse files
committed
drivers/fakedriver: Add
1 parent 81e553d commit 7e10587

1 file changed

Lines changed: 109 additions & 0 deletions

File tree

drivers/fakedriver/fakedriver.go

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
package fakedriver
2+
3+
import (
4+
"fmt"
5+
6+
"github.com/docker/machine/libmachine/drivers"
7+
"github.com/docker/machine/libmachine/mcnflag"
8+
"github.com/docker/machine/libmachine/state"
9+
)
10+
11+
type Driver struct {
12+
*drivers.BaseDriver
13+
MockState state.State
14+
MockIP string
15+
MockName string
16+
}
17+
18+
func (d *Driver) GetCreateFlags() []mcnflag.Flag {
19+
return []mcnflag.Flag{}
20+
}
21+
22+
// DriverName returns the name of the driver
23+
func (d *Driver) DriverName() string {
24+
return "Driver"
25+
}
26+
27+
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
28+
return nil
29+
}
30+
31+
func (d *Driver) GetURL() (string, error) {
32+
ip, err := d.GetIP()
33+
if err != nil {
34+
return "", err
35+
}
36+
if ip == "" {
37+
return "", nil
38+
}
39+
return fmt.Sprintf("tcp://%s:2376", ip), nil
40+
}
41+
42+
func (d *Driver) GetMachineName() string {
43+
return d.MockName
44+
}
45+
46+
func (d *Driver) GetIP() (string, error) {
47+
if d.MockState == state.Error {
48+
return "", fmt.Errorf("Unable to get ip")
49+
}
50+
if d.MockState == state.Timeout {
51+
select {} // Loop forever
52+
}
53+
if d.MockState != state.Running {
54+
return "", drivers.ErrHostIsNotRunning
55+
}
56+
return d.MockIP, nil
57+
}
58+
59+
func (d *Driver) GetSSHHostname() (string, error) {
60+
return "", nil
61+
}
62+
63+
func (d *Driver) GetSSHKeyPath() string {
64+
return ""
65+
}
66+
67+
func (d *Driver) GetSSHPort() (int, error) {
68+
return 0, nil
69+
}
70+
71+
func (d *Driver) GetSSHUsername() string {
72+
return ""
73+
}
74+
75+
func (d *Driver) GetState() (state.State, error) {
76+
return d.MockState, nil
77+
}
78+
79+
func (d *Driver) Create() error {
80+
return nil
81+
}
82+
83+
func (d *Driver) Start() error {
84+
d.MockState = state.Running
85+
return nil
86+
}
87+
88+
func (d *Driver) Stop() error {
89+
d.MockState = state.Stopped
90+
return nil
91+
}
92+
93+
func (d *Driver) Restart() error {
94+
d.MockState = state.Running
95+
return nil
96+
}
97+
98+
func (d *Driver) Kill() error {
99+
d.MockState = state.Stopped
100+
return nil
101+
}
102+
103+
func (d *Driver) Remove() error {
104+
return nil
105+
}
106+
107+
func (d *Driver) Upgrade() error {
108+
return nil
109+
}

0 commit comments

Comments
 (0)