go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/services/launchd_test.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package services_test
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"go.mondoo.com/cnquery/providers-sdk/v1/inventory"
    11  	"go.mondoo.com/cnquery/providers/os/connection/mock"
    12  	"go.mondoo.com/cnquery/providers/os/resources/services"
    13  )
    14  
    15  func TestParseServiceLaunchD(t *testing.T) {
    16  	mock, err := mock.New("./testdata/osx.toml", &inventory.Asset{
    17  		Platform: &inventory.Platform{
    18  			Name:   "macos",
    19  			Family: []string{"unix", "darwin"},
    20  		},
    21  	})
    22  	if err != nil {
    23  		t.Fatal(err)
    24  	}
    25  	c, err := mock.RunCommand("launchctl list")
    26  	if err != nil {
    27  		t.Fatal(err)
    28  	}
    29  	assert.Nil(t, err)
    30  	m, err := services.ParseServiceLaunchD(c.Stdout)
    31  	assert.Nil(t, err)
    32  	assert.Equal(t, 15, len(m), "detected the right amount of services")
    33  
    34  	assert.Equal(t, "com.apple.SafariHistoryServiceAgent", m[0].Name, "service name detected")
    35  	assert.Equal(t, false, m[0].Running, "service is running")
    36  	assert.Equal(t, true, m[0].Installed, "service is installed")
    37  	assert.Equal(t, "launchd", m[0].Type, "service type is added")
    38  }