diff --git a/internal/common/eventmanager.go b/internal/common/eventmanager.go index 64be612e..2d7c253a 100644 --- a/internal/common/eventmanager.go +++ b/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 ¶ms } diff --git a/internal/common/eventmanager_test.go b/internal/common/eventmanager_test.go index e78ff1cd..a8174df5 100644 --- a/internal/common/eventmanager_test.go +++ b/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) {