diff --git a/internal/apis/config/cainjector/v1alpha1/defaults_test.go b/internal/apis/config/cainjector/v1alpha1/defaults_test.go index 5aa29a681..a35d3ce93 100644 --- a/internal/apis/config/cainjector/v1alpha1/defaults_test.go +++ b/internal/apis/config/cainjector/v1alpha1/defaults_test.go @@ -8,7 +8,21 @@ import ( "testing" ) +const TestFileLocation = "testdata/defaults.json" + func TestCAInjectorConfigurationDefaults(t *testing.T) { + if os.Getenv("UPDATE_DEFAULTS") == "true" { + config := &v1alpha1.CAInjectorConfiguration{} + SetObjectDefaults_CAInjectorConfiguration(config) + defaultData, err := json.Marshal(config) + if err != nil { + panic(err) + } + if err := os.WriteFile(TestFileLocation, defaultData, 0644); err != nil { + t.Fatal(err) + } + t.Log("cainjector api defaults updated") + } tests := []struct { name string config *v1alpha1.CAInjectorConfiguration @@ -23,11 +37,11 @@ func TestCAInjectorConfigurationDefaults(t *testing.T) { SetObjectDefaults_CAInjectorConfiguration(tt.config) var expected *v1alpha1.CAInjectorConfiguration - expectedData, err := os.ReadFile("./test/defaults.json") + expectedData, err := os.ReadFile(TestFileLocation) err = json.Unmarshal(expectedData, &expected) if err != nil { - t.Errorf("testfile not found") + t.Fatal("testfile not found") } if !reflect.DeepEqual(tt.config, expected) { diff --git a/internal/apis/config/cainjector/v1alpha1/test/apidefaults.go b/internal/apis/config/cainjector/v1alpha1/test/apidefaults.go deleted file mode 100644 index d157545a0..000000000 --- a/internal/apis/config/cainjector/v1alpha1/test/apidefaults.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - "encoding/json" - "fmt" - v1alpha1_pkg "github.com/cert-manager/cert-manager/internal/apis/config/cainjector/v1alpha1" - "github.com/cert-manager/cert-manager/pkg/apis/config/cainjector/v1alpha1" - "os" -) - -func main() { - config := &v1alpha1.CAInjectorConfiguration{} - v1alpha1_pkg.SetObjectDefaults_CAInjectorConfiguration(config) - data, err := json.Marshal(config) - if err != nil { - panic(err) - } - err = os.WriteFile("./defaults.json", data, 0644) - if err != nil { - panic(err) - } - fmt.Println("cainjector api defaults updated") -} diff --git a/internal/apis/config/cainjector/v1alpha1/test/defaults.json b/internal/apis/config/cainjector/v1alpha1/testdata/defaults.json similarity index 100% rename from internal/apis/config/cainjector/v1alpha1/test/defaults.json rename to internal/apis/config/cainjector/v1alpha1/testdata/defaults.json diff --git a/make/test.mk b/make/test.mk index e02d0768e..4f4ade006 100644 --- a/make/test.mk +++ b/make/test.mk @@ -88,8 +88,8 @@ unit-test-webhook: | $(NEEDS_GOTESTSUM) cd cmd/webhook && $(GOTESTSUM) ./... .PHONY: update-apidefaults-cainjector -update-apidefaults-cainjector: - cd internal/apis/config/cainjector/v1alpha1/test && bash -c "$(GO) run apidefaults.go" +update-apidefaults-cainjector: | $(NEEDS_GOTESTSUM) + cd internal/apis/config/cainjector/v1alpha1/ && UPDATE_DEFAULTS=true $(GOTESTSUM) . && echo "cainjector api defaults updated" .PHONY: setup-integration-tests setup-integration-tests: templated-crds