go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/services/alpine_openrc_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package services 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 ) 14 15 func TestManagerAlpineImage(t *testing.T) { 16 mock, err := mock.New("./testdata/alpine-image.toml", &inventory.Asset{ 17 Platform: &inventory.Platform{ 18 Name: "alpine", 19 }, 20 }) 21 require.NoError(t, err) 22 23 mm, err := ResolveManager(mock) 24 require.NoError(t, err) 25 serviceList, err := mm.List() 26 require.NoError(t, err) 27 28 assert.Equal(t, 2, len(serviceList)) 29 30 assert.Contains(t, serviceList, &Service{ 31 Name: "agetty", 32 Running: false, // service will not run, since its a container image 33 Enabled: true, 34 Installed: true, 35 Type: "openrc", 36 }) 37 38 assert.Contains(t, serviceList, &Service{ 39 Name: "urandom", 40 Running: false, 41 Enabled: false, 42 Installed: true, 43 Type: "openrc", 44 }) 45 } 46 47 func TestManagerAlpineContainer(t *testing.T) { 48 mock, err := mock.New("./testdata/alpine-container.toml", &inventory.Asset{ 49 Platform: &inventory.Platform{ 50 Name: "alpine", 51 }, 52 }) 53 require.NoError(t, err) 54 55 mm, err := ResolveManager(mock) 56 require.NoError(t, err) 57 serviceList, err := mm.List() 58 require.NoError(t, err) 59 60 assert.Equal(t, 2, len(serviceList)) 61 62 assert.Contains(t, serviceList, &Service{ 63 Name: "agetty", 64 Running: true, // here this service is actually running 65 Enabled: true, 66 Installed: true, 67 Type: "openrc", 68 }) 69 70 assert.Contains(t, serviceList, &Service{ 71 Name: "urandom", 72 Running: false, 73 Enabled: false, 74 Installed: true, 75 Type: "openrc", 76 }) 77 }