@@ -42,10 +42,10 @@ import (
42
42
)
43
43
44
44
func TestNamespaceCondition (t * testing.T ) {
45
- closeFn , nsController , informers , kubeClient , dynamicClient := namespaceLifecycleSetup (t )
45
+ ctx , closeFn , nsController , informers , kubeClient , dynamicClient := namespaceLifecycleSetup (t )
46
46
defer closeFn ()
47
47
nsName := "test-namespace-conditions"
48
- _ , err := kubeClient .CoreV1 ().Namespaces ().Create (context . TODO () , & corev1.Namespace {
48
+ _ , err := kubeClient .CoreV1 ().Namespaces ().Create (ctx , & corev1.Namespace {
49
49
ObjectMeta : metav1.ObjectMeta {
50
50
Name : nsName ,
51
51
},
@@ -55,19 +55,19 @@ func TestNamespaceCondition(t *testing.T) {
55
55
}
56
56
57
57
// Start informer and controllers
58
- _ , ctx := ktesting .NewTestContext (t )
59
58
ctx , cancel := context .WithCancel (ctx )
60
59
defer cancel ()
61
60
62
61
informers .Start (ctx .Done ())
62
+ informers .WaitForCacheSync (ctx .Done ())
63
63
go nsController .Run (ctx , 5 )
64
64
65
65
data := etcd .GetEtcdStorageDataForNamespace (nsName )
66
66
podJSON , err := jsonToUnstructured (data [corev1 .SchemeGroupVersion .WithResource ("pods" )].Stub , "v1" , "Pod" )
67
67
if err != nil {
68
68
t .Fatal (err )
69
69
}
70
- _ , err = dynamicClient .Resource (corev1 .SchemeGroupVersion .WithResource ("pods" )).Namespace (nsName ).Create (context . TODO () , podJSON , metav1.CreateOptions {})
70
+ _ , err = dynamicClient .Resource (corev1 .SchemeGroupVersion .WithResource ("pods" )).Namespace (nsName ).Create (ctx , podJSON , metav1.CreateOptions {})
71
71
if err != nil {
72
72
t .Fatal (err )
73
73
}
@@ -77,17 +77,17 @@ func TestNamespaceCondition(t *testing.T) {
77
77
t .Fatal (err )
78
78
}
79
79
deploymentJSON .SetFinalizers ([]string {"custom.io/finalizer" })
80
- _ , err = dynamicClient .Resource (appsv1 .SchemeGroupVersion .WithResource ("deployments" )).Namespace (nsName ).Create (context . TODO () , deploymentJSON , metav1.CreateOptions {})
80
+ _ , err = dynamicClient .Resource (appsv1 .SchemeGroupVersion .WithResource ("deployments" )).Namespace (nsName ).Create (ctx , deploymentJSON , metav1.CreateOptions {})
81
81
if err != nil {
82
82
t .Fatal (err )
83
83
}
84
84
85
- if err = kubeClient .CoreV1 ().Namespaces ().Delete (context . TODO () , nsName , metav1.DeleteOptions {}); err != nil {
85
+ if err = kubeClient .CoreV1 ().Namespaces ().Delete (ctx , nsName , metav1.DeleteOptions {}); err != nil {
86
86
t .Fatal (err )
87
87
}
88
88
89
- err = wait .PollImmediate ( 1 * time .Second , 60 * time .Second , func () (bool , error ) {
90
- curr , err := kubeClient .CoreV1 ().Namespaces ().Get (context . TODO () , nsName , metav1.GetOptions {})
89
+ err = wait .PollUntilContextTimeout ( ctx , 1 * time .Second , 60 * time .Second , true , func (ctx context. Context ) (bool , error ) {
90
+ curr , err := kubeClient .CoreV1 ().Namespaces ().Get (ctx , nsName , metav1.GetOptions {})
91
91
if err != nil {
92
92
return false , err
93
93
}
@@ -121,19 +121,18 @@ func TestNamespaceCondition(t *testing.T) {
121
121
122
122
// TestNamespaceLabels tests for default labels added in https://github.com/kubernetes/kubernetes/pull/96968
123
123
func TestNamespaceLabels (t * testing.T ) {
124
- closeFn , nsController , _ , kubeClient , _ := namespaceLifecycleSetup (t )
124
+ ctx , closeFn , nsController , _ , kubeClient , _ := namespaceLifecycleSetup (t )
125
125
defer closeFn ()
126
126
127
127
// Even though nscontroller isn't used in this test, its creation is already
128
128
// spawning some goroutines. So we need to run it to ensure they won't leak.
129
- _ , ctx := ktesting .NewTestContext (t )
130
129
ctx , cancel := context .WithCancel (ctx )
131
130
defer cancel ()
132
131
go nsController .Run (ctx , 5 )
133
132
134
133
nsName := "test-namespace-labels-generated"
135
134
// Create a new namespace w/ no name
136
- ns , err := kubeClient .CoreV1 ().Namespaces ().Create (context . TODO () , & corev1.Namespace {
135
+ ns , err := kubeClient .CoreV1 ().Namespaces ().Create (ctx , & corev1.Namespace {
137
136
ObjectMeta : metav1.ObjectMeta {
138
137
GenerateName : nsName ,
139
138
},
@@ -147,7 +146,7 @@ func TestNamespaceLabels(t *testing.T) {
147
146
t .Fatal (fmt .Errorf ("expected %q, got %q" , ns .Name , ns .Labels [corev1 .LabelMetadataName ]))
148
147
}
149
148
150
- nsList , err := kubeClient .CoreV1 ().Namespaces ().List (context . TODO () , metav1.ListOptions {})
149
+ nsList , err := kubeClient .CoreV1 ().Namespaces ().List (ctx , metav1.ListOptions {})
151
150
152
151
if err != nil {
153
152
t .Fatal (err )
@@ -175,7 +174,7 @@ func jsonToUnstructured(stub, version, kind string) (*unstructured.Unstructured,
175
174
return & unstructured.Unstructured {Object : typeMetaAdder }, nil
176
175
}
177
176
178
- func namespaceLifecycleSetup (t * testing.T ) (kubeapiservertesting.TearDownFunc , * namespace.NamespaceController , informers.SharedInformerFactory , clientset.Interface , dynamic.Interface ) {
177
+ func namespaceLifecycleSetup (t * testing.T ) (context. Context , kubeapiservertesting.TearDownFunc , * namespace.NamespaceController , informers.SharedInformerFactory , clientset.Interface , dynamic.Interface ) {
179
178
// Disable ServiceAccount admission plugin as we don't have serviceaccount controller running.
180
179
server := kubeapiservertesting .StartTestServerOrDie (t , nil , framework .DefaultTestServerFlags (), framework .SharedEtcd ())
181
180
@@ -191,7 +190,7 @@ func namespaceLifecycleSetup(t *testing.T) (kubeapiservertesting.TearDownFunc, *
191
190
192
191
metadataClient , err := metadata .NewForConfig (config )
193
192
if err != nil {
194
- panic (err )
193
+ t . Fatal (err )
195
194
}
196
195
197
196
discoverResourcesFn := clientSet .Discovery ().ServerPreferredNamespacedResources
@@ -205,5 +204,5 @@ func namespaceLifecycleSetup(t *testing.T) (kubeapiservertesting.TearDownFunc, *
205
204
10 * time .Hour ,
206
205
corev1 .FinalizerKubernetes )
207
206
208
- return server .TearDownFn , controller , informers , clientSet , dynamic .NewForConfigOrDie (config )
207
+ return ctx , server .TearDownFn , controller , informers , clientSet , dynamic .NewForConfigOrDie (config )
209
208
}
0 commit comments