From 6c94a8653fcfca527f62c1b32355d9e77bac1734 Mon Sep 17 00:00:00 2001 From: redanthrax Date: Mon, 20 Jun 2022 17:00:02 -0700 Subject: [PATCH] software tests --- agent/software/software_test.go | 32 +++++++++++++++++++++++- agent/software/software_windows_386.go | 6 ++--- agent/software/software_windows_amd64.go | 6 ++--- agent/software/structs.go | 2 +- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/agent/software/software_test.go b/agent/software/software_test.go index 9076ff7..6672516 100644 --- a/agent/software/software_test.go +++ b/agent/software/software_test.go @@ -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) + } + }) + } } diff --git a/agent/software/software_windows_386.go b/agent/software/software_windows_386.go index 5d7bd7a..16b4dc3 100644 --- a/agent/software/software_windows_386.go +++ b/agent/software/software_windows_386.go @@ -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), diff --git a/agent/software/software_windows_amd64.go b/agent/software/software_windows_amd64.go index f1f0d7f..81d0230 100644 --- a/agent/software/software_windows_amd64.go +++ b/agent/software/software_windows_amd64.go @@ -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), diff --git a/agent/software/structs.go b/agent/software/structs.go index d81a534..8cc9dcb 100644 --- a/agent/software/structs.go +++ b/agent/software/structs.go @@ -1,6 +1,6 @@ package software -type SoftwareList struct { +type Software struct { Name string `json:"name"` Version string `json:"version"` Publisher string `json:"publisher"`