Tidying test + update defaults mode

Signed-off-by: Jason Costello <jason@jsnc.tl>
This commit is contained in:
Jason Costello 2024-04-11 17:17:48 -04:00
parent a7e5df7182
commit bcac7c43cc
4 changed files with 18 additions and 27 deletions

View File

@ -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) {

View File

@ -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")
}

View File

@ -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