Skip to content

Commit dbee2e8

Browse files
committed
HMS-10740: add org_id to template initiated messages
1 parent 8f1f21e commit dbee2e8

6 files changed

Lines changed: 21 additions & 14 deletions

File tree

manager/controllers/template_subscribed_systems_update.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func TemplateSubscribedSystemsUpdateHandler(c *gin.Context) {
2929

3030
db := middlewares.DBFromContext(c)
3131

32-
account, systemUUID, err := getSubscribedSystem(c, db)
32+
account, orgID, systemUUID, err := getSubscribedSystem(c, db)
3333
if err != nil {
3434
// respose set in getTemplateID()
3535
return
@@ -58,14 +58,15 @@ func TemplateSubscribedSystemsUpdateHandler(c *gin.Context) {
5858

5959
// re-evaluate systems added/removed from templates
6060
if config.EnableTemplateChangeEval {
61-
inventoryAIDs := kafka.InventoryIDs2InventoryAIDs(account, systemList)
61+
inventoryAIDs := kafka.InventoryIDs2InventoryAIDs(account, orgID, systemList)
6262
kafka.RecalcSystems(inventoryAIDs)
6363
}
6464
c.Status(http.StatusOK)
6565
}
6666

67-
func getSubscribedSystem(c *gin.Context, tx *gorm.DB) (int, string, error) {
67+
func getSubscribedSystem(c *gin.Context, tx *gorm.DB) (int, string, string, error) {
6868
account := c.GetInt(utils.KeyAccount)
69+
orgID := c.GetString(utils.KeyOrgID)
6970
systemCn := c.GetString(utils.KeySystem)
7071

7172
var inventoryID string
@@ -75,12 +76,12 @@ func getSubscribedSystem(c *gin.Context, tx *gorm.DB) (int, string, error) {
7576
Limit(1).Find(&inventoryID).Error
7677
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
7778
utils.LogAndRespError(c, err, "database error")
78-
return 0, "", err
79+
return 0, "", "", err
7980
}
8081
if inventoryID == "" {
8182
err := errors.Errorf("System %s not found", systemCn)
8283
utils.LogAndRespNotFound(c, err, err.Error())
83-
return 0, "", err
84+
return 0, "", "", err
8485
}
85-
return account, inventoryID, err
86+
return account, orgID, inventoryID, err
8687
}

manager/controllers/template_subscribed_systems_update_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ func TestSubscribedSystemID(t *testing.T) {
2323
c, _ := gin.CreateTestContext(httptest.NewRecorder())
2424
c.Set(utils.KeyAccount, templateAccount)
2525
c.Set(utils.KeySystem, subscriptionUUID)
26-
account, systemID, err := getSubscribedSystem(c, database.DB)
26+
c.Set(utils.KeyOrgID, orgID)
27+
account, org, systemID, err := getSubscribedSystem(c, database.DB)
2728

2829
assert.Nil(t, err)
2930
assert.Equal(t, templateAccount, account)
31+
assert.Equal(t, orgID, org)
3032
assert.Equal(t, templateSystemUUID, systemID)
3133
}
3234

@@ -35,11 +37,13 @@ func TestUnknownSubscribedSystemID(t *testing.T) {
3537

3638
c, _ := gin.CreateTestContext(httptest.NewRecorder())
3739
c.Set(utils.KeyAccount, templateAccount)
40+
c.Set(utils.KeyOrgID, orgID)
3841
c.Set(utils.KeySystem, "cccccccc-0000-0000-0001-000000000001")
39-
account, systemID, err := getSubscribedSystem(c, database.DB)
42+
account, org, systemID, err := getSubscribedSystem(c, database.DB)
4043

4144
assert.EqualError(t, err, "System cccccccc-0000-0000-0001-000000000001 not found")
4245
assert.Equal(t, 0, account)
46+
assert.Equal(t, orgID, org)
4347
assert.Equal(t, "", systemID)
4448
}
4549

manager/controllers/template_systems_delete.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
// @Router /templates/systems [DELETE]
2525
func TemplateSystemsDeleteHandler(c *gin.Context) {
2626
account := c.GetInt(utils.KeyAccount)
27+
orgID := c.GetString(utils.KeyOrgID)
2728
groups := c.GetStringMapString(utils.KeyInventoryGroups)
2829

2930
var req TemplateSystemsUpdateRequest
@@ -56,7 +57,7 @@ func TemplateSystemsDeleteHandler(c *gin.Context) {
5657

5758
// re-evaluate systems removed from templates
5859
if config.EnableTemplateChangeEval {
59-
inventoryAIDs := kafka.InventoryIDs2InventoryAIDs(account, req.Systems)
60+
inventoryAIDs := kafka.InventoryIDs2InventoryAIDs(account, orgID, req.Systems)
6061
kafka.RecalcSystems(inventoryAIDs)
6162
}
6263
c.Status(http.StatusOK)

manager/controllers/template_systems_update.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ type SystemTemplateDBLookup struct {
5353
// @Router /templates/{template_id}/systems [PATCH]
5454
func TemplateSystemsUpdateHandler(c *gin.Context) {
5555
account := c.GetInt(utils.KeyAccount)
56+
orgID := c.GetString(utils.KeyOrgID)
5657
templateUUID := c.Param("template_id")
5758
groups := c.GetStringMapString(utils.KeyInventoryGroups)
5859

@@ -90,7 +91,7 @@ func TemplateSystemsUpdateHandler(c *gin.Context) {
9091

9192
// re-evaluate systems added/removed from templates
9293
if config.EnableTemplateChangeEval {
93-
inventoryAIDs := kafka.InventoryIDs2InventoryAIDs(account, req.Systems)
94+
inventoryAIDs := kafka.InventoryIDs2InventoryAIDs(account, orgID, req.Systems)
9495
kafka.RecalcSystems(inventoryAIDs)
9596
}
9697
c.Status(http.StatusOK)

manager/kafka/kafka.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ func runRecalcLoop() {
2929
}
3030
}
3131

32-
func InventoryIDs2InventoryAIDs(accountID int, inventoryIDs []string) []mqueue.EvalData {
32+
func InventoryIDs2InventoryAIDs(accountID int, orgID string, inventoryIDs []string) []mqueue.EvalData {
3333
inventoryAIDs := make([]mqueue.EvalData, 0, len(inventoryIDs))
3434
for _, v := range inventoryIDs {
35-
inventoryAIDs = append(inventoryAIDs, mqueue.EvalData{InventoryID: v, RhAccountID: accountID})
35+
inventoryAIDs = append(inventoryAIDs, mqueue.EvalData{InventoryID: v, RhAccountID: accountID, OrgID: &orgID})
3636
}
3737
return inventoryAIDs
3838
}

manager/kafka/kafka_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ import (
1111
"github.com/stretchr/testify/assert"
1212
)
1313

14-
func testRecalcSystems(t *testing.T, accountID int, inventoryIDs []string) mqueue.PlatformEvent {
14+
func testRecalcSystems(t *testing.T, accountID int, orgID string, inventoryIDs []string) mqueue.PlatformEvent {
1515
utils.SkipWithoutDB(t)
1616
core.SetupTestEnvironment()
1717
config.EnableTemplateChangeEval = true
1818

1919
writerMock := mqueue.MockKafkaWriter{}
2020
TryStartEvalQueue(mqueue.MockCreateKafkaWriter(&writerMock))
21-
inventoryAIDs := InventoryIDs2InventoryAIDs(accountID, inventoryIDs)
21+
inventoryAIDs := InventoryIDs2InventoryAIDs(accountID, orgID, inventoryIDs)
2222
RecalcSystems(inventoryAIDs)
2323
utils.AssertEqualWait(t, 1, func() (exp, act interface{}) {
2424
return 1, len(writerMock.Messages)

0 commit comments

Comments
 (0)