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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package updates
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"go.mondoo.com/cnquery/providers-sdk/v1/inventory"
    11  	"go.mondoo.com/cnquery/providers/os/connection/mock"
    12  )
    13  
    14  // SUSE OS updates
    15  func TestZypperPatchParser(t *testing.T) {
    16  	mock, err := mock.New("./testdata/updates_zypper.toml", &inventory.Asset{
    17  		Platform: &inventory.Platform{Name: "suse"},
    18  	})
    19  	if err != nil {
    20  		t.Fatal(err)
    21  	}
    22  	c, err := mock.RunCommand("zypper --xmlout list-updates -t patch")
    23  	if err != nil {
    24  		t.Fatal(err)
    25  	}
    26  	assert.Nil(t, err)
    27  
    28  	m, err := ParseZypperPatches(c.Stdout)
    29  	assert.Nil(t, err)
    30  	assert.Equal(t, 1, len(m), "detected the right amount of packages")
    31  
    32  	assert.Equal(t, "openSUSE-2018-397", m[0].Name, "update name detected")
    33  	assert.Equal(t, "moderate", m[0].Severity, "severity version detected")
    34  }