go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/windows/auditpol_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package windows_test 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 "go.mondoo.com/cnquery/providers/os/connection/mock" 12 "go.mondoo.com/cnquery/providers/os/resources/windows" 13 ) 14 15 func TestParseAuditpol(t *testing.T) { 16 mock, err := mock.New("./testdata/auditpol.toml", nil) 17 require.NoError(t, err) 18 19 f, err := mock.RunCommand("auditpol /get /category:* /r") 20 require.NoError(t, err) 21 22 auditpol, err := windows.ParseAuditpol(f.Stdout) 23 require.NoError(t, err) 24 25 assert.Equal(t, 60, len(auditpol)) 26 27 expected := &windows.AuditpolEntry{ 28 MachineName: "Test", 29 PolicyTarget: "System", 30 Subcategory: "Kernel Object", 31 SubcategoryGUID: "0CCE921F-69AE-11D9-BED3-505054503030", 32 InclusionSetting: "No Auditing", 33 ExclusionSetting: "", 34 } 35 found := findPol(auditpol, "Kernel Object") 36 assert.Equal(t, expected, found) 37 } 38 39 func findPol(auditpol []windows.AuditpolEntry, subcategory string) *windows.AuditpolEntry { 40 for i := range auditpol { 41 if auditpol[i].Subcategory == subcategory { 42 return &auditpol[i] 43 } 44 } 45 return nil 46 }