@@ -6,9 +6,11 @@ import (
6
6
"tailscale.com/types/ptr"
7
7
8
8
"github.com/stretchr/testify/assert"
9
+ "github.com/stretchr/testify/require"
9
10
)
10
11
11
12
func TestResultString (t * testing.T ) {
13
+ t .Parallel ()
12
14
for _ , tt := range []struct {
13
15
Expected string
14
16
Result Result
@@ -33,3 +35,73 @@ func TestResultString(t *testing.T) {
33
35
assert .Equal (t , tt .Expected , tt .Result .String ())
34
36
}
35
37
}
38
+
39
+ // TestStatter does not test the actual values returned by the Statter.
40
+ func TestStatter (t * testing.T ) {
41
+ t .Parallel ()
42
+
43
+ s , err := New ()
44
+ require .NoError (t , err )
45
+
46
+ t .Run ("HostCPU" , func (t * testing.T ) {
47
+ t .Parallel ()
48
+ cpu , err := s .HostCPU ()
49
+ require .NoError (t , err )
50
+ assert .NotZero (t , cpu .Used )
51
+ assert .NotZero (t , cpu .Total )
52
+ assert .NotZero (t , cpu .Unit )
53
+ })
54
+
55
+ t .Run ("HostMemory" , func (t * testing.T ) {
56
+ t .Parallel ()
57
+ mem , err := s .HostMemory ()
58
+ require .NoError (t , err )
59
+ assert .NotZero (t , mem .Used )
60
+ assert .NotZero (t , mem .Total )
61
+ assert .NotZero (t , mem .Unit )
62
+ })
63
+
64
+ t .Run ("HostDisk" , func (t * testing.T ) {
65
+ t .Parallel ()
66
+ disk , err := s .Disk ("" )
67
+ require .NoError (t , err )
68
+ assert .NotZero (t , disk .Used )
69
+ assert .NotZero (t , disk .Total )
70
+ assert .NotZero (t , disk .Unit )
71
+ })
72
+
73
+ t .Run ("Uptime" , func (t * testing.T ) {
74
+ t .Parallel ()
75
+ uptime , err := s .Uptime ()
76
+ require .NoError (t , err )
77
+ assert .NotZero (t , uptime .Used )
78
+ assert .Zero (t , uptime .Total )
79
+ assert .NotZero (t , uptime .Unit )
80
+ })
81
+
82
+ t .Run ("ContainerCPU" , func (t * testing.T ) {
83
+ t .Parallel ()
84
+ if ok , err := IsContainerized (); err != nil || ! ok {
85
+ t .Skip ("not running in container" )
86
+ }
87
+ cpu , err := s .ContainerCPU ()
88
+ require .NoError (t , err )
89
+ assert .NotNil (t , cpu )
90
+ assert .NotZero (t , cpu .Used )
91
+ assert .NotZero (t , cpu .Total )
92
+ assert .NotZero (t , cpu .Unit )
93
+ })
94
+
95
+ t .Run ("ContainerMemory" , func (t * testing.T ) {
96
+ t .Parallel ()
97
+ if ok , err := IsContainerized (); err != nil || ! ok {
98
+ t .Skip ("not running in container" )
99
+ }
100
+ mem , err := s .ContainerMemory ()
101
+ require .NoError (t , err )
102
+ assert .NotNil (t , mem )
103
+ assert .NotZero (t , mem .Used )
104
+ assert .NotZero (t , mem .Total )
105
+ assert .NotZero (t , mem .Unit )
106
+ })
107
+ }
0 commit comments