Skip to content

Commit eea93d8

Browse files
committed
RHINENG-21443: update tests
1 parent 353b6b7 commit eea93d8

2 files changed

Lines changed: 70 additions & 7 deletions

File tree

listener/common_test.go

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,37 @@ func createTestUploadEvent(orgID, inventoryID, reporter string, packages, yum bo
9494
ev := HostEvent{
9595
Type: eventType,
9696
Host: Host{
97-
ID: inventoryID,
98-
OrgID: &orgID,
99-
Reporter: reporter,
97+
ID: inventoryID,
98+
DisplayName: utils.PtrString("Test Host"),
99+
OrgID: &orgID,
100+
Reporter: reporter,
100101
PerReporterStaleness: map[string]inventory.ReporterStaleness{
101102
reporter: {LastCheckIn: types.Rfc3339TimestampWithZ(now)},
102103
},
104+
Tags: []byte(`{"namespace": "insights-client","key": "env","value": "prod"}`),
105+
Groups: []inventory.Group{{ID: "group1"}},
106+
SystemProfile: inventory.SystemProfile{
107+
OperatingSystem: inventory.OperatingSystem{
108+
Name: "RHEL",
109+
Major: 8,
110+
Minor: 4,
111+
},
112+
Rhsm: inventory.Rhsm{
113+
Version: "8.4",
114+
},
115+
Workloads: inventory.Workloads{
116+
Sap: inventory.SapWorkload{
117+
SapSystem: true,
118+
Sids: []string{"sid1", "sid2"},
119+
},
120+
Ansible: inventory.AnsibleWorkload{
121+
ControllerVersion: "2.12.0",
122+
},
123+
Mssql: inventory.MssqlWorkload{
124+
Version: "15.0",
125+
},
126+
},
127+
},
103128
},
104129
}
105130
if packages {

listener/upload_test.go

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ import (
1414
"errors"
1515
"fmt"
1616
"net/http"
17+
"slices"
1718
"testing"
1819
"time"
1920

21+
"github.com/lib/pq"
2022
log "github.com/sirupsen/logrus"
2123
"github.com/stretchr/testify/assert"
2224
)
@@ -357,16 +359,17 @@ func TestStoreOrUpdateSysPlatform(t *testing.T) {
357359
database.DB.Raw("select nextval('system_inventory_id_seq')").Find(&nextval)
358360

359361
colsToUpdate := []string{"vmaas_json", "json_checksum", "reporter_id", "satellite_managed"}
360-
json := "this_is_json"
362+
vmaasJSON := "this_is_json"
361363
inStore := models.SystemPlatform{
362364
InventoryID: "99990000-0000-0000-0000-000000000001",
363365
RhAccountID: 1,
364-
VmaasJSON: &json,
366+
VmaasJSON: &vmaasJSON,
365367
DisplayName: "display_name",
366368
SatelliteManaged: false,
367369
}
368370
// insert new row
369-
err := storeOrUpdateSysPlatform(database.DB, &inStore, colsToUpdate)
371+
hostEvent := createTestUploadEvent("1", id, "puptoo", false, true, "created")
372+
err := storeOrUpdateSysPlatform(database.DB, &inStore, &hostEvent.Host, colsToUpdate)
370373
assert.Nil(t, err)
371374

372375
var outStore models.SystemPlatform
@@ -378,6 +381,41 @@ func TestStoreOrUpdateSysPlatform(t *testing.T) {
378381
assert.Equal(t, *inStore.VmaasJSON, *outStore.VmaasJSON)
379382
assert.Equal(t, inStore.SatelliteManaged, outStore.SatelliteManaged)
380383

384+
// verify SystemInventory was created from Host fields
385+
var inventoryAfterInsert models.SystemInventory
386+
err = database.DB.Where("id = ?", inStore.ID).First(&inventoryAfterInsert).Error
387+
assert.Nil(t, err)
388+
389+
assert.Contains(t, string(inventoryAfterInsert.Tags), `"namespace": "insights-client"`)
390+
assert.Contains(t, string(inventoryAfterInsert.Tags), `"key": "env"`)
391+
assert.Contains(t, string(inventoryAfterInsert.Tags), `"value": "prod"`)
392+
393+
expectedWorkspaces := make([]string, len(hostEvent.Host.Groups))
394+
for i, g := range hostEvent.Host.Groups {
395+
expectedWorkspaces[i] = g.ID
396+
}
397+
slices.Sort(expectedWorkspaces)
398+
assert.Equal(t, pq.StringArray(expectedWorkspaces), inventoryAfterInsert.Workspaces)
399+
400+
assert.Equal(t, hostEvent.Host.SystemProfile.OperatingSystem.Name, *inventoryAfterInsert.OSName)
401+
assert.Equal(t, hostEvent.Host.SystemProfile.OperatingSystem.Major, *inventoryAfterInsert.OSMajor)
402+
assert.Equal(t, hostEvent.Host.SystemProfile.OperatingSystem.Minor, *inventoryAfterInsert.OSMinor)
403+
404+
assert.Equal(t, hostEvent.Host.SystemProfile.Rhsm.Version, *inventoryAfterInsert.RhsmVersion)
405+
406+
assert.Equal(t, hostEvent.Host.SystemProfile.Workloads.Sap.SapSystem, inventoryAfterInsert.SapWorkload)
407+
assert.ElementsMatch(t,
408+
pq.StringArray(hostEvent.Host.SystemProfile.Workloads.Sap.Sids),
409+
inventoryAfterInsert.SapWorkloadSIDs)
410+
411+
assert.Equal(t, true, inventoryAfterInsert.AnsibleWorkload)
412+
assert.Equal(t,
413+
hostEvent.Host.SystemProfile.Workloads.Ansible.ControllerVersion,
414+
*inventoryAfterInsert.AnsibleWorkloadControllerVersion)
415+
416+
assert.Equal(t, true, inventoryAfterInsert.MssqlWorkload)
417+
assert.Equal(t, hostEvent.Host.SystemProfile.Workloads.Mssql.Version, *inventoryAfterInsert.MssqlWorkloadVersion)
418+
381419
updateJSON := "updated_json"
382420
reporter := 2
383421
inUpdate := outStore
@@ -388,7 +426,7 @@ func TestStoreOrUpdateSysPlatform(t *testing.T) {
388426
inUpdate.SatelliteManaged = true
389427

390428
// update row
391-
err = storeOrUpdateSysPlatform(database.DB, &inUpdate, colsToUpdate)
429+
err = storeOrUpdateSysPlatform(database.DB, &inUpdate, &hostEvent.Host, colsToUpdate)
392430
assert.Nil(t, err)
393431

394432
var outUpdate models.SystemPlatform

0 commit comments

Comments
 (0)