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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package windows
     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/powershell"
    13  )
    14  
    15  func TestParseSecpol(t *testing.T) {
    16  	mock, err := mock.New("./testdata/secpol.toml", nil)
    17  	require.NoError(t, err)
    18  
    19  	encoded := powershell.Encode(SecpolScript)
    20  	f, err := mock.RunCommand(encoded)
    21  	require.NoError(t, err)
    22  
    23  	secpol, err := ParseSecpol(f.Stdout)
    24  	require.NoError(t, err)
    25  
    26  	assert.Equal(t, "42", secpol.SystemAccess["MaximumPasswordAge"])
    27  	assert.Equal(t, "chris", secpol.SystemAccess["NewAdministratorName"])
    28  	assert.Equal(t, "0", secpol.EventAudit["AuditLogonEvents"])
    29  	assert.Equal(t, []interface{}{"S-1-1-0", "S-1-5-32-544", "S-1-5-32-545", "S-1-5-32-551"}, secpol.PrivilegeRights["SeNetworkLogonRight"])
    30  	assert.Equal(t, "3,0", secpol.RegistryValues["MACHINE\\System\\CurrentControlSet\\Control\\Lsa\\FullPrivilegeAuditing"])
    31  }