software tests

This commit is contained in:
redanthrax 2022-06-20 17:00:02 -07:00
parent d6b1b90034
commit 6c94a8653f
4 changed files with 38 additions and 8 deletions

View file

@ -1,7 +1,37 @@
package software_test
import "testing"
import (
"errors"
"testing"
"github.com/amidaware/rmmagent/agent/software"
)
func TestGetInstalledSoftware(t *testing.T) {
testTable := []struct {
name string
expected []software.Software
atLeast int
expectedError error
}{
{
name: "Get Installed Software",
expected: []software.Software{},
atLeast: 1,
expectedError: nil,
},
}
for _, tt := range testTable {
t.Run(tt.name, func(t *testing.T) {
result, err := software.GetInstalledSoftware()
if len(result) < tt.atLeast {
t.Errorf("expected at least %d, got %d", tt.atLeast, len(result))
}
if !errors.Is(tt.expectedError, err) {
t.Errorf("expected (%v), got (%v)", tt.expectedError, err)
}
})
}
}

View file

@ -7,8 +7,8 @@ import (
wapi "github.com/iamacarpet/go-win64api"
)
func GetInstalledSoftware() ([]WinSoftwareList, error) {
ret := make([]WinSoftwareList, 0)
func GetInstalledSoftware() ([]Software, error) {
ret := make([]Software, 0)
sw, err := installedSoftwareList()
if err != nil {
return ret, err
@ -16,7 +16,7 @@ func GetInstalledSoftware() ([]WinSoftwareList, error) {
for _, s := range sw {
t := s.InstallDate
ret = append(ret, WinSoftwareList{
ret = append(ret, SoftwareList{
Name: utils.CleanString(s.Name()),
Version: utils.CleanString(s.Version()),
Publisher: utils.CleanString(s.Publisher),

View file

@ -7,8 +7,8 @@ import (
wapi "github.com/iamacarpet/go-win64api"
)
func GetInstalledSoftware() ([]SoftwareList, error) {
ret := make([]SoftwareList, 0)
func GetInstalledSoftware() ([]Software, error) {
ret := make([]Software, 0)
sw, err := wapi.InstalledSoftwareList()
if err != nil {
return ret, err
@ -16,7 +16,7 @@ func GetInstalledSoftware() ([]SoftwareList, error) {
for _, s := range sw {
t := s.InstallDate
ret = append(ret, SoftwareList{
ret = append(ret, Software{
Name: utils.CleanString(s.Name()),
Version: utils.CleanString(s.Version()),
Publisher: utils.CleanString(s.Publisher),

View file

@ -1,6 +1,6 @@
package software
type SoftwareList struct {
type Software struct {
Name string `json:"name"`
Version string `json:"version"`
Publisher string `json:"publisher"`