Skip to content

Commit

Permalink
Fix GenerateName in test
Browse files Browse the repository at this point in the history
  • Loading branch information
Marko Mikulicic committed Oct 29, 2019
1 parent b8bc93c commit 10a38f5
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions cmd/controller/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@ import (
"crypto/rsa"
"crypto/x509"
"encoding/pem"
"fmt"
mathrand "math/rand"
"testing"
"time"

v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes/fake"
ktesting "k8s.io/client-go/testing"
Expand All @@ -29,9 +32,20 @@ func hasAction(fake *fake.Clientset, verb, resource string) bool {
return findAction(fake, verb, resource) != nil
}

// generateNameReactor implements the logic required for the GenerateName field to work when using
// the fake client. Add it with client.PrependReactor to your fake client.
func generateNameReactor(action ktesting.Action) (handled bool, ret runtime.Object, err error) {
s := action.(ktesting.CreateAction).GetObject().(*v1.Secret)
if s.Name == "" && s.GenerateName != "" {
s.Name = fmt.Sprintf("%s-%d", s.GenerateName, mathrand.Intn(10000))
}
return false, nil, nil
}

func TestInitKeyRegistry(t *testing.T) {
rand := testRand()
client := fake.NewSimpleClientset()
client.PrependReactor("create", "secrets", generateNameReactor)

registry, err := initKeyRegistry(client, rand, "namespace", "prefix", "label", 1024)
if err != nil {
Expand Down Expand Up @@ -59,6 +73,8 @@ func TestInitKeyRegistry(t *testing.T) {
func TestInitKeyRotation(t *testing.T) {
rand := testRand()
client := fake.NewSimpleClientset()
client.PrependReactor("create", "secrets", generateNameReactor)

registry, err := initKeyRegistry(client, rand, "namespace", "prefix", "label", 1024)
if err != nil {
t.Fatalf("initKeyRegistry() returned err: %v", err)
Expand Down Expand Up @@ -95,6 +111,8 @@ func TestInitKeyRotation(t *testing.T) {
func TestInitKeyRotationTick(t *testing.T) {
rand := testRand()
client := fake.NewSimpleClientset()
client.PrependReactor("create", "secrets", generateNameReactor)

registry, err := initKeyRegistry(client, rand, "namespace", "prefix", "label", 1024)
if err != nil {
t.Fatalf("initKeyRegistry() returned err: %v", err)
Expand Down Expand Up @@ -138,6 +156,8 @@ func TestReuseKey(t *testing.T) {
}

client := fake.NewSimpleClientset()
client.PrependReactor("create", "secrets", generateNameReactor)

_, err = writeKey(client, key, []*x509.Certificate{cert}, "namespace", SealedSecretsKeyLabel, "prefix")
if err != nil {
t.Errorf("writeKey() failed with: %v", err)
Expand Down Expand Up @@ -180,6 +200,8 @@ func TestRenewStaleKey(t *testing.T) {
oldAge = period - staleness
)
client := fake.NewSimpleClientset()
client.PrependReactor("create", "secrets", generateNameReactor)

_, err = writeKey(client, key, []*x509.Certificate{cert}, "namespace", SealedSecretsKeyLabel, "prefix",
writeKeyWithCreationTime(metav1.NewTime(time.Now().Add(-oldAge))))
if err != nil {
Expand Down Expand Up @@ -250,6 +272,7 @@ func TestLegacySecret(t *testing.T) {
}

client := fake.NewSimpleClientset()
client.PrependReactor("create", "secrets", generateNameReactor)

_, err = writeLegacyKey(client, key, []*x509.Certificate{cert}, "namespace", "prefix")
if err != nil {
Expand Down

0 comments on commit 10a38f5

Please sign in to comment.