Skip to content

Commit 786375f

Browse files
authored
Merge pull request #4757 from sedefsavas/crs-timeout
🐛 CRS test fix: get ClusterResourceSetBinding with live client
2 parents 29cc056 + 67b6251 commit 786375f

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

exp/addons/controllers/clusterresourceset_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434
)
3535

3636
const (
37-
timeout = time.Second * 5
37+
timeout = time.Second * 15
3838
defaultNamespaceName = "default"
3939
)
4040

exp/addons/controllers/suite_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ import (
2121
"os"
2222
"testing"
2323

24+
corev1 "k8s.io/api/core/v1"
2425
"sigs.k8s.io/cluster-api/controllers/remote"
26+
"sigs.k8s.io/cluster-api/exp/addons/api/v1alpha4"
2527
"sigs.k8s.io/cluster-api/internal/envtest"
2628
ctrl "sigs.k8s.io/controller-runtime"
29+
"sigs.k8s.io/controller-runtime/pkg/client"
2730
"sigs.k8s.io/controller-runtime/pkg/controller"
2831
// +kubebuilder:scaffold:imports
2932
)
@@ -35,7 +38,7 @@ var (
3538

3639
func TestMain(m *testing.M) {
3740
fmt.Println("Creating new test environment")
38-
env = envtest.New()
41+
env = envtest.New([]client.Object{&corev1.ConfigMap{}, &corev1.Secret{}, &v1alpha4.ClusterResourceSetBinding{}}...)
3942

4043
trckr, err := remote.NewClusterCacheTracker(env.Manager, remote.ClusterCacheTrackerOptions{})
4144
if err != nil {

internal/envtest/environment.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ type Environment struct {
103103
//
104104
// This function should be called only once for each package you're running tests within,
105105
// usually the environment is initialized in a suite_test.go file within a `BeforeSuite` ginkgo block.
106-
func New() *Environment {
106+
func New(uncachedObjs ...client.Object) *Environment {
107107
// Get the root of the current file to use in CRD paths.
108108
_, filename, _, _ := goruntime.Caller(0) //nolint
109109
root := path.Join(path.Dir(filename), "..", "..")
@@ -134,11 +134,17 @@ func New() *Environment {
134134
panic(err)
135135
}
136136

137+
objs := []client.Object{}
138+
if len(uncachedObjs) > 0 {
139+
objs = append(objs, uncachedObjs...)
140+
}
141+
137142
options := manager.Options{
138-
Scheme: scheme.Scheme,
139-
MetricsBindAddress: "0",
140-
CertDir: env.WebhookInstallOptions.LocalServingCertDir,
141-
Port: env.WebhookInstallOptions.LocalServingPort,
143+
Scheme: scheme.Scheme,
144+
MetricsBindAddress: "0",
145+
CertDir: env.WebhookInstallOptions.LocalServingCertDir,
146+
Port: env.WebhookInstallOptions.LocalServingPort,
147+
ClientDisableCacheFor: objs,
142148
}
143149

144150
mgr, err := ctrl.NewManager(env.Config, options)

0 commit comments

Comments
 (0)