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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package kernel
     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  )
    13  
    14  func TestSysctlDebian(t *testing.T) {
    15  	mock, err := mock.New("./testdata/debian.toml", nil)
    16  	require.NoError(t, err)
    17  
    18  	c, err := mock.RunCommand("/sbin/sysctl -a")
    19  	require.NoError(t, err)
    20  
    21  	entries, err := ParseSysctl(c.Stdout, "=")
    22  	require.NoError(t, err)
    23  
    24  	assert.Equal(t, 32, len(entries))
    25  	assert.Equal(t, "10000", entries["net.ipv4.conf.all.igmpv2_unsolicited_report_interval"])
    26  }
    27  
    28  func TestSysctlMacos(t *testing.T) {
    29  	mock, err := mock.New("./testdata/osx.toml", nil)
    30  	require.NoError(t, err)
    31  
    32  	c, err := mock.RunCommand("sysctl -a")
    33  	require.NoError(t, err)
    34  
    35  	entries, err := ParseSysctl(c.Stdout, ":")
    36  	require.NoError(t, err)
    37  
    38  	assert.Equal(t, 17, len(entries))
    39  	assert.Equal(t, "1024", entries["net.inet6.ip6.neighborgcthresh"])
    40  }
    41  
    42  func TestSysctlFreebsd(t *testing.T) {
    43  	mock, err := mock.New("./testdata/freebsd12.toml", nil)
    44  	require.NoError(t, err)
    45  
    46  	c, err := mock.RunCommand("sysctl -a")
    47  	require.NoError(t, err)
    48  
    49  	entries, err := ParseSysctl(c.Stdout, ":")
    50  	require.NoError(t, err)
    51  
    52  	assert.Equal(t, 20, len(entries))
    53  	assert.Equal(t, "1", entries["security.bsd.unprivileged_mlock"])
    54  }