Adding API defaults unit test + testfile fixture
Signed-off-by: Jason Costello <jason@jsnc.tl>
This commit is contained in:
parent
b61de55abd
commit
a7e5df7182
40
internal/apis/config/cainjector/v1alpha1/defaults_test.go
Normal file
40
internal/apis/config/cainjector/v1alpha1/defaults_test.go
Normal file
@ -0,0 +1,40 @@
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/cert-manager/cert-manager/pkg/apis/config/cainjector/v1alpha1"
|
||||
"os"
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCAInjectorConfigurationDefaults(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
config *v1alpha1.CAInjectorConfiguration
|
||||
}{
|
||||
{
|
||||
"cainjection",
|
||||
&v1alpha1.CAInjectorConfiguration{},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
SetObjectDefaults_CAInjectorConfiguration(tt.config)
|
||||
|
||||
var expected *v1alpha1.CAInjectorConfiguration
|
||||
expectedData, err := os.ReadFile("./test/defaults.json")
|
||||
err = json.Unmarshal(expectedData, &expected)
|
||||
|
||||
if err != nil {
|
||||
t.Errorf("testfile not found")
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(tt.config, expected) {
|
||||
prettyExpected, _ := json.MarshalIndent(expected, "", "\t")
|
||||
prettyGot, _ := json.MarshalIndent(tt.config, "", "\t")
|
||||
t.Errorf("expected defaults\n %v \n but got \n %v", string(prettyExpected), string(prettyGot))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
23
internal/apis/config/cainjector/v1alpha1/test/apidefaults.go
Normal file
23
internal/apis/config/cainjector/v1alpha1/test/apidefaults.go
Normal file
@ -0,0 +1,23 @@
|
||||
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")
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
{"leaderElectionConfig":{"enabled":true,"namespace":"kube-system","leaseDuration":60000000000,"renewDeadline":40000000000,"retryPeriod":15000000000},"enableDataSourceConfig":{"certificates":true},"enableInjectableConfig":{"validatingWebhookConfigurations":true,"mutatingWebhookConfigurations":true,"customResourceDefinitions":true,"apiServices":true},"enablePprof":false,"pprofAddress":"localhost:6060","logging":{"format":"text","flushFrequency":"5s","verbosity":0,"options":{"json":{"infoBufferSize":"0"}}}}
|
||||
@ -87,6 +87,10 @@ unit-test-controller: | $(NEEDS_GOTESTSUM)
|
||||
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"
|
||||
|
||||
.PHONY: setup-integration-tests
|
||||
setup-integration-tests: templated-crds
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user