go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/uptime/uptime_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package uptime_test 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 "go.mondoo.com/cnquery/providers-sdk/v1/inventory" 12 "go.mondoo.com/cnquery/providers/os/connection/mock" 13 "go.mondoo.com/cnquery/providers/os/resources/uptime" 14 ) 15 16 func TestUptimeOnLinux(t *testing.T) { 17 mock, err := mock.New("./testdata/linux.toml", &inventory.Asset{ 18 Platform: &inventory.Platform{ 19 Family: []string{"unix"}, 20 }, 21 }) 22 require.NoError(t, err) 23 24 ut, err := uptime.New(mock) 25 require.NoError(t, err) 26 27 required, err := ut.Duration() 28 require.NoError(t, err) 29 assert.Equal(t, "19m0s", required.String()) 30 } 31 32 func TestUptimeOnLinuxLcDecimalDe(t *testing.T) { 33 // LC_NUMERIC=de_DE.UTF-8 on Ubuntu 22.04 34 mock, err := mock.New("./testdata/linux_de.toml", &inventory.Asset{ 35 Platform: &inventory.Platform{ 36 Family: []string{"unix"}, 37 }, 38 }) 39 require.NoError(t, err) 40 41 ut, err := uptime.New(mock) 42 require.NoError(t, err) 43 44 required, err := ut.Duration() 45 require.NoError(t, err) 46 assert.Equal(t, "38h31m0s", required.String()) 47 } 48 49 func TestUptimeOnFreebsd(t *testing.T) { 50 mock, err := mock.New("./testdata/freebsd12.toml", &inventory.Asset{ 51 Platform: &inventory.Platform{ 52 Family: []string{"unix"}, 53 }, 54 }) 55 require.NoError(t, err) 56 57 ut, err := uptime.New(mock) 58 require.NoError(t, err) 59 60 required, err := ut.Duration() 61 require.NoError(t, err) 62 63 assert.Equal(t, "24m0s", required.String()) 64 } 65 66 func TestUptimeOnWindows(t *testing.T) { 67 mock, err := mock.New("./testdata/windows.toml", &inventory.Asset{ 68 Platform: &inventory.Platform{ 69 Family: []string{"windows"}, 70 }, 71 }) 72 require.NoError(t, err) 73 74 ut, err := uptime.New(mock) 75 require.NoError(t, err) 76 77 required, err := ut.Duration() 78 require.NoError(t, err) 79 80 assert.Equal(t, "3m45.8270365s", required.String()) 81 }