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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package packages_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/packages"
    12  )
    13  
    14  func TestMacOsXPackageParser(t *testing.T) {
    15  	mock, err := mock.New("./testdata/packages_macos.toml", nil)
    16  	if err != nil {
    17  		t.Fatal(err)
    18  	}
    19  	c, err := mock.RunCommand("system_profiler SPApplicationsDataType -xml")
    20  	if err != nil {
    21  		t.Fatal(err)
    22  	}
    23  	assert.Nil(t, err)
    24  
    25  	m, err := packages.ParseMacOSPackages(c.Stdout)
    26  	assert.Nil(t, err)
    27  	assert.Equal(t, 2, len(m), "detected the right amount of packages")
    28  
    29  	assert.Equal(t, "Preview", m[0].Name, "pkg name detected")
    30  	assert.Equal(t, "10.0", m[0].Version, "pkg version detected")
    31  	assert.Equal(t, packages.MacosPkgFormat, m[0].Format, "pkg format detected")
    32  
    33  	assert.Equal(t, "Contacts", m[1].Name, "pkg name detected")
    34  	assert.Equal(t, "11.0", m[1].Version, "pkg version detected")
    35  	assert.Equal(t, packages.MacosPkgFormat, m[0].Format, "pkg format detected")
    36  }