Skip to content

Commit f0f7b6a

Browse files
committed
add tests for clistats
1 parent 4ef5f24 commit f0f7b6a

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

cli/clistat/stat_internal_test.go

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ import (
66
"tailscale.com/types/ptr"
77

88
"github.com/stretchr/testify/assert"
9+
"github.com/stretchr/testify/require"
910
)
1011

1112
func TestResultString(t *testing.T) {
13+
t.Parallel()
1214
for _, tt := range []struct {
1315
Expected string
1416
Result Result
@@ -33,3 +35,73 @@ func TestResultString(t *testing.T) {
3335
assert.Equal(t, tt.Expected, tt.Result.String())
3436
}
3537
}
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

Comments
 (0)