diff --git a/kong/plugin_service_test.go b/kong/plugin_service_test.go index 2acc078a6..86e857d26 100644 --- a/kong/plugin_service_test.go +++ b/kong/plugin_service_test.go @@ -437,14 +437,14 @@ func TestFillPluginDefaults(T *testing.T) { for _, tc := range tests { T.Run(tc.name, func(t *testing.T) { - fullSchema, err := client.Plugins.GetFullSchema(defaultCtx, tc.plugin.Name) + p := tc.plugin + fullSchema, err := client.Plugins.GetFullSchema(defaultCtx, p.Name) assert.Nil(err) assert.NotNil(fullSchema) - got, err := FillPluginsDefaults(tc.plugin, fullSchema) - if err != nil { + if err := FillPluginsDefaults(p, fullSchema); err != nil { t.Errorf(err.Error()) } - if diff := cmp.Diff(got, tc.expected); diff != "" { + if diff := cmp.Diff(p, tc.expected); diff != "" { t.Errorf(diff) } }) diff --git a/kong/utils.go b/kong/utils.go index 8a7aedb75..29378f107 100644 --- a/kong/utils.go +++ b/kong/utils.go @@ -208,11 +208,12 @@ func fillConfigRecord(schema gjson.Result, config Configuration) Configuration { return res } -// FillPluginsDefaults ingests plugin's defaults from its schema -func FillPluginsDefaults(plugin *Plugin, schema map[string]interface{}) (*Plugin, error) { +// FillPluginsDefaults ingests plugin's defaults from its schema. +// Takes in a plugin struct and mutate it in place. +func FillPluginsDefaults(plugin *Plugin, schema map[string]interface{}) error { jsonb, err := json.Marshal(&schema) if err != nil { - return nil, err + return err } gjsonSchema := gjson.ParseBytes((jsonb)) if plugin.Config == nil { @@ -225,5 +226,5 @@ func FillPluginsDefaults(plugin *Plugin, schema map[string]interface{}) (*Plugin if plugin.Enabled == nil { plugin.Enabled = Bool(true) } - return plugin, nil + return nil }