Refactor TestUpdateClusterRace and TestUpdateClusterStatusOK
This commit is contained in:
@@ -22,17 +22,15 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/uuid"
|
"k8s.io/apimachinery/pkg/util/uuid"
|
||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
|
||||||
federationv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
federationv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
||||||
federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset"
|
federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset"
|
||||||
controllerutil "k8s.io/kubernetes/federation/pkg/federation-controller/util"
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -125,15 +123,8 @@ func TestUpdateClusterStatusOK(t *testing.T) {
|
|||||||
}
|
}
|
||||||
federationClientSet := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "cluster-controller"))
|
federationClientSet := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "cluster-controller"))
|
||||||
|
|
||||||
// Override KubeconfigGetterForSecret to avoid having to setup service accounts and mount files with secret tokens.
|
|
||||||
originalGetter := controllerutil.KubeconfigGetterForSecret
|
|
||||||
controllerutil.KubeconfigGetterForSecret = func(s *api.Secret) clientcmd.KubeconfigGetter {
|
|
||||||
return func() (*clientcmdapi.Config, error) {
|
|
||||||
return &clientcmdapi.Config{}, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
manager := newClusterController(federationClientSet, 5)
|
manager := newClusterController(federationClientSet, 5)
|
||||||
|
manager.addToClusterSet(federationCluster)
|
||||||
err = manager.updateClusterStatus()
|
err = manager.updateClusterStatus()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Failed to Update Cluster Status: %v", err)
|
t.Errorf("Failed to Update Cluster Status: %v", err)
|
||||||
@@ -146,9 +137,6 @@ func TestUpdateClusterStatusOK(t *testing.T) {
|
|||||||
t.Errorf("Failed to Update Cluster Status")
|
t.Errorf("Failed to Update Cluster Status")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset KubeconfigGetterForSecret
|
|
||||||
controllerutil.KubeconfigGetterForSecret = originalGetter
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test races between informer's updates and routine updates of cluster status
|
// Test races between informer's updates and routine updates of cluster status
|
||||||
@@ -170,21 +158,10 @@ func TestUpdateClusterRace(t *testing.T) {
|
|||||||
}
|
}
|
||||||
federationClientSet := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "cluster-controller"))
|
federationClientSet := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "cluster-controller"))
|
||||||
|
|
||||||
// Override KubeconfigGetterForSecret to avoid having to setup service accounts and mount files with secret tokens.
|
manager := newClusterController(federationClientSet, 1*time.Millisecond)
|
||||||
originalGetter := controllerutil.KubeconfigGetterForSecret
|
|
||||||
controllerutil.KubeconfigGetterForSecret = func(s *api.Secret) clientcmd.KubeconfigGetter {
|
|
||||||
return func() (*clientcmdapi.Config, error) {
|
|
||||||
return &clientcmdapi.Config{}, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
manager := newClusterController(federationClientSet, 5)
|
stop := make(chan struct{})
|
||||||
|
manager.Run(stop)
|
||||||
go func() {
|
|
||||||
for {
|
|
||||||
manager.UpdateClusterStatus()
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
// try to trigger the race in UpdateClusterStatus
|
// try to trigger the race in UpdateClusterStatus
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
@@ -192,6 +169,5 @@ func TestUpdateClusterRace(t *testing.T) {
|
|||||||
manager.delFromClusterSet(federationCluster)
|
manager.delFromClusterSet(federationCluster)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset KubeconfigGetterForSecret
|
close(stop)
|
||||||
controllerutil.KubeconfigGetterForSecret = originalGetter
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user