Procházet zdrojové kódy

Fix generated v2 provider generator mapping type

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
Moritz Johner před 2 měsíci
rodič
revize
409eac4627

+ 1 - 1
providers/v2/aws/main.go

@@ -85,7 +85,7 @@ func main() {
 
 	specMapper := GetSpecMapper(kubeClient)
 	// Setup v1 generator(s)
-	generatorMapping := adaptergenerator.GeneratorMapping{
+	generatorMapping := adaptergenerator.Mapping{
 		schema.GroupVersionKind{
 			Group:   "generators.external-secrets.io",
 			Version: "v1alpha1",

+ 1 - 1
providers/v2/fake/main.go

@@ -85,7 +85,7 @@ func main() {
 
 	specMapper := GetSpecMapper(kubeClient)
 	// Setup v1 generator(s)
-	generatorMapping := adaptergenerator.GeneratorMapping{
+	generatorMapping := adaptergenerator.Mapping{
 		schema.GroupVersionKind{
 			Group:   "generators.external-secrets.io",
 			Version: "v1alpha1",

+ 68 - 0
providers/v2/hack/generate_provider_main_test.go

@@ -0,0 +1,68 @@
+/*
+Copyright © The ESO Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package main
+
+import (
+	"strings"
+	"testing"
+)
+
+func TestMainTemplateUsesGeneratorMappingType(t *testing.T) {
+	tmpl, err := loadTemplate("templates/main.go.tmpl")
+	if err != nil {
+		t.Fatalf("load template: %v", err)
+	}
+
+	data := prepareTemplateData(&ProviderConfig{
+		Provider: providerMetadata{
+			Name:        "fake",
+			DisplayName: "Fake",
+			V2Package:   "github.com/external-secrets/external-secrets/apis/provider/fake/v2alpha1",
+		},
+		Stores: []storeConfig{{
+			GVK: gvkConfig{
+				Group:   "provider.external-secrets.io",
+				Version: "v2alpha1",
+				Kind:    "Fake",
+			},
+			V1Provider:     "github.com/external-secrets/external-secrets/providers/v2/fake/store",
+			V1ProviderFunc: "NewProvider",
+		}},
+		Generators: []generatorConfig{{
+			GVK: gvkConfig{
+				Group:   "generators.external-secrets.io",
+				Version: "v1alpha1",
+				Kind:    "Fake",
+			},
+			V1Generator:     "github.com/external-secrets/external-secrets/providers/v2/fake/generator",
+			V1GeneratorFunc: "NewGenerator",
+		}},
+	})
+
+	rendered, err := executeTemplate(tmpl, data)
+	if err != nil {
+		t.Fatalf("execute template: %v", err)
+	}
+
+	renderedText := string(rendered)
+	if strings.Contains(renderedText, "adaptergenerator.GeneratorMapping") {
+		t.Fatalf("main template rendered stale generator mapping type:\n%s", renderedText)
+	}
+	if !strings.Contains(renderedText, "adaptergenerator.Mapping") {
+		t.Fatalf("main template did not render adaptergenerator.Mapping:\n%s", renderedText)
+	}
+}

+ 1 - 1
providers/v2/hack/templates/main.go.tmpl

@@ -121,7 +121,7 @@ func main() {
 
 	{{- if .HasGenerators}}
 	// Setup v1 generator(s)
-	generatorMapping := adaptergenerator.GeneratorMapping{
+	generatorMapping := adaptergenerator.Mapping{
 		{{- range $idx, $gen := .Generators}}
 		schema.GroupVersionKind{
 			Group:   "{{$gen.GVK.Group}}",