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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package groups_test
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"go.mondoo.com/cnquery/providers/os/connection/mock"
    11  	"go.mondoo.com/cnquery/providers/os/resources/groups"
    12  )
    13  
    14  func TestParseDscacheutilResult(t *testing.T) {
    15  	mock, err := mock.New("./testdata/osx.toml", nil)
    16  	if err != nil {
    17  		t.Fatal(err)
    18  	}
    19  
    20  	c, err := mock.RunCommand("dscacheutil -q group")
    21  	if err != nil {
    22  		t.Fatal(err)
    23  	}
    24  
    25  	m, err := groups.ParseDscacheutilResult(c.Stdout)
    26  	assert.Nil(t, err)
    27  	assert.Equal(t, 3, len(m), "detected the right amount of groups")
    28  
    29  	grp := findGroup(m, "395")
    30  	assert.Equal(t, int64(395), grp.Gid, "detected group id")
    31  	assert.Equal(t, "com.apple.access_ftp", grp.Name, "detected group name")
    32  	assert.Equal(t, []string{}, grp.Members, "detected group members")
    33  
    34  	grp = findGroup(m, "216")
    35  	assert.Equal(t, int64(216), grp.Gid, "detected group id")
    36  	assert.Equal(t, "_postgres", grp.Name, "detected group name")
    37  	assert.Equal(t, []string{"_devicemgr", "_calendar", "_teamsserver", "_xserverdocs"}, grp.Members, "detected group members")
    38  }