Skip to content

Commit 642877c

Browse files
committed
Add test case to update metadata
1 parent 5bcbb9b commit 642877c

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

pkg/entity/register/worker.go

+8-5
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,13 @@ func (w *worker) Run(ctx context.Context) {
106106
}
107107
}
108108
}
109+
func updateEntityMetadata(entity *entity.Fields, labels map[string]string) {
110+
if len(labels) > 0 {
111+
for key, value := range labels {
112+
entity.Metadata[key] = value
113+
}
114+
}
115+
}
109116

110117
func (w *worker) send(ctx context.Context, batch map[entity.Key]fwrequest.EntityFwRequest, batchSizeBytes *int) {
111118
defer w.resetBatch(batch, batchSizeBytes)
@@ -114,11 +121,7 @@ func (w *worker) send(ctx context.Context, batch map[entity.Key]fwrequest.Entity
114121
for _, r := range batch {
115122
entity := r.Data.Entity
116123
// Add labels to Metadata
117-
if r.Definition.Labels != nil && len(r.Definition.Labels) > 0 {
118-
for key, value := range r.Definition.Labels {
119-
entity.Metadata[key] = value
120-
}
121-
}
124+
updateEntityMetadata(&entity, r.Definition.Labels)
122125
entities = append(entities, entity)
123126
}
124127

pkg/entity/register/worker_test.go

+25
Original file line numberDiff line numberDiff line change
@@ -566,3 +566,28 @@ func TestWorker_send_Logging_VerboseDisabled(t *testing.T) {
566566

567567
assert.Empty(t, hook.AllEntries())
568568
}
569+
func TestUpdateEntityMetadata(t *testing.T) {
570+
expected := &entity.Fields{
571+
Name: "WIN_SERVICE:testWindows:newrelic-infra",
572+
Type: "WIN_SERVICE",
573+
IDAttributes: nil,
574+
DisplayName: "New Relic Infrastructure Agent",
575+
Metadata: map[string]interface{}{
576+
"environment": "dev",
577+
"backup": "true",
578+
},
579+
}
580+
labels := map[string]string{
581+
"environment": "dev",
582+
"backup": "true",
583+
}
584+
entity := &entity.Fields{
585+
Name: "WIN_SERVICE:testWindows:newrelic-infra",
586+
Type: "WIN_SERVICE",
587+
IDAttributes: nil,
588+
DisplayName: "New Relic Infrastructure Agent",
589+
Metadata: map[string]interface{}{},
590+
}
591+
updateEntityMetadata(entity, labels)
592+
assert.Equal(t, expected, entity)
593+
}

0 commit comments

Comments
 (0)