Browse Source

eventmanager: fix params copy

Signed-off-by: Nicola Murino <[email protected]>
Nicola Murino 2 years ago
parent
commit
6395fa0b67
2 changed files with 11 additions and 0 deletions
  1. 7 0
      internal/common/eventmanager.go
  2. 4 0
      internal/common/eventmanager_test.go

+ 7 - 0
internal/common/eventmanager.go

@@ -584,6 +584,13 @@ func (p *EventParams) getACopy() *EventParams {
 		}
 		params.IDPCustomFields = &fields
 	}
+	if len(params.Metadata) > 0 {
+		metadata := make(map[string]string)
+		for k, v := range p.Metadata {
+			metadata[k] = v
+		}
+		params.Metadata = metadata
+	}
 
 	return &params
 }

+ 4 - 0
internal/common/eventmanager_test.go

@@ -2056,6 +2056,10 @@ func TestEventParamsCopy(t *testing.T) {
 	assert.Equal(t, params.IDPCustomFields, paramsCopy.IDPCustomFields)
 	(*paramsCopy.IDPCustomFields)["field1"] = "val2"
 	assert.NotEqual(t, params.IDPCustomFields, paramsCopy.IDPCustomFields)
+	params.Metadata = map[string]string{"key": "value"}
+	paramsCopy = params.getACopy()
+	params.Metadata["key1"] = "value1"
+	require.Equal(t, map[string]string{"key": "value"}, paramsCopy.Metadata)
 }
 
 func TestEventParamsStatusFromError(t *testing.T) {