go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/groups/etcgroups_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 TestParseLinuxEtcGroups(t *testing.T) { 15 mock, err := mock.New("./testdata/debian.toml", nil) 16 if err != nil { 17 t.Fatal(err) 18 } 19 f, err := mock.FileSystem().Open("/etc/group") 20 if err != nil { 21 t.Fatal(err) 22 } 23 assert.Nil(t, err) 24 defer f.Close() 25 26 m, err := groups.ParseEtcGroup(f) 27 assert.Nil(t, err) 28 assert.Equal(t, 23, len(m), "detected the right amount of services") 29 30 assert.Equal(t, "root", m[0].Name, "detected user name") 31 assert.Equal(t, "0", m[0].ID, "detected id") 32 assert.Equal(t, int64(0), m[0].Gid, "detected gid") 33 assert.Equal(t, "", m[22].Sid, "detected sid") 34 assert.Equal(t, []string{}, m[0].Members, "user description") 35 36 assert.Equal(t, "vagrant", m[22].Name, "detected user name") 37 assert.Equal(t, "1000", m[22].ID, "detected id") 38 assert.Equal(t, int64(1000), m[22].Gid, "detected gid") 39 assert.Equal(t, "", m[22].Sid, "detected sid") 40 assert.Equal(t, []string{"vagrant"}, m[22].Members, "user description") 41 } 42 43 func TestParseFreebsd12EtcGroups(t *testing.T) { 44 mock, err := mock.New("./testdata/freebsd12.toml", nil) 45 if err != nil { 46 t.Fatal(err) 47 } 48 f, err := mock.FileSystem().Open("/etc/group") 49 if err != nil { 50 t.Fatal(err) 51 } 52 assert.Nil(t, err) 53 defer f.Close() 54 55 m, err := groups.ParseEtcGroup(f) 56 assert.Nil(t, err) 57 assert.Equal(t, 36, len(m), "detected the right amount of services") 58 59 assert.Equal(t, "wheel", m[0].Name, "detected user name") 60 assert.Equal(t, "0", m[0].ID, "detected id") 61 assert.Equal(t, int64(0), m[0].Gid, "detected gid") 62 assert.Equal(t, "", m[0].Sid, "detected sid") 63 assert.Equal(t, []string{"root", "vagrant"}, m[0].Members, "user description") 64 65 assert.Equal(t, "vagrant", m[35].Name, "detected user name") 66 assert.Equal(t, "1001", m[35].ID, "detected id") 67 assert.Equal(t, int64(1001), m[35].Gid, "detected gid") 68 assert.Equal(t, "", m[35].Sid, "detected sid") 69 assert.Equal(t, []string{}, m[35].Members, "user description") 70 }