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  }