-
Notifications
You must be signed in to change notification settings - Fork 0
/
machine_test.go
106 lines (96 loc) · 2.09 KB
/
machine_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package vagrantexec
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestMachineStateString(t *testing.T) {
testcases := []struct {
state MachineState
str string
}{
{Unknown, "Unknown"},
{Aborted, "Aborted"},
{GuruMeditation, "GuruMeditation"},
{Inaccessible, "Inaccessible"},
{NotCreated, "NotCreated"},
{Paused, "Paused"},
{PowerOff, "PowerOff"},
{Stopping, "Stopping"},
{Running, "Running"},
{Saving, "Saving"},
{Saved, "Saved"},
{Stuck, "Stuck"},
}
for _, tc := range testcases {
assert.Equal(t, tc.str, tc.state.String())
}
}
func TestToMachineState(t *testing.T) {
testcases := []struct {
str string
state MachineState
}{
{"garbage", Unknown},
{"aborted", Aborted},
{"gurumeditation", GuruMeditation},
{"inaccessible", Inaccessible},
{"not_created", NotCreated},
{"paused", Paused},
{"poweroff", PowerOff},
{"stopping", Stopping},
{"running", Running},
{"saving", Saving},
{"saved", Saved},
{"stuck", Stuck},
}
for _, tc := range testcases {
state := ToMachineState(tc.str)
assert.Equalf(t, tc.state, state, "expected %s, got %s", tc.state, state)
}
}
func TestMachineStatusIsRunning(t *testing.T) {
testcases := []struct {
state MachineState
expected bool
}{
{Unknown, false},
{Aborted, false},
{GuruMeditation, false},
{Inaccessible, false},
{NotCreated, false},
{Paused, false},
{PowerOff, false},
{Stopping, false},
{Running, true},
{Saving, false},
{Saved, false},
{Stuck, false},
}
for _, tc := range testcases {
ms := MachineStatus{State: tc.state}
assert.Equal(t, tc.expected, ms.IsRunning())
}
}
func TestMachineStatusIsRunnable(t *testing.T) {
testcases := []struct {
state MachineState
expected bool
}{
{Unknown, false},
{Aborted, true},
{GuruMeditation, true},
{Inaccessible, false},
{NotCreated, true},
{Paused, false},
{PowerOff, true},
{Stopping, false},
{Running, true},
{Saving, false},
{Saved, true},
{Stuck, false},
}
for _, tc := range testcases {
ms := MachineStatus{State: tc.state}
assert.Equal(t, tc.expected, ms.IsRunnable())
}
}