@@ -64,9 +64,11 @@ var _ = SIGDescribe("API Streaming (aka. WatchList)", framework.WithSerial(), fe
64
64
)
65
65
66
66
ginkgo .By (fmt .Sprintf ("Adding 5 secrets to %s namespace" , f .Namespace .Name ))
67
+ var expectedSecrets []v1.Secret
67
68
for i := 1 ; i <= 5 ; i ++ {
68
- _ , err := f .ClientSet .CoreV1 ().Secrets (f .Namespace .Name ).Create (ctx , newSecret (fmt .Sprintf ("secret-%d" , i )), metav1.CreateOptions {})
69
+ secret , err := f .ClientSet .CoreV1 ().Secrets (f .Namespace .Name ).Create (ctx , newSecret (fmt .Sprintf ("secret-%d" , i )), metav1.CreateOptions {})
69
70
framework .ExpectNoError (err )
71
+ expectedSecrets = append (expectedSecrets , * secret )
70
72
}
71
73
72
74
ginkgo .By ("Starting the secret informer" )
@@ -79,15 +81,17 @@ var _ = SIGDescribe("API Streaming (aka. WatchList)", framework.WithSerial(), fe
79
81
framework .ExpectNoError (err , "Failed waiting for the secret informer in %s namespace to be synced" , f .Namespace .Namespace )
80
82
81
83
ginkgo .By ("Verifying if the secret informer was properly synchronised" )
82
- verifyStore (ctx , f , secretInformer .GetStore ())
84
+ verifyStore (ctx , expectedSecrets , secretInformer .GetStore ())
83
85
84
86
ginkgo .By ("Modifying a secret and checking if the update was picked up by the secret informer" )
85
87
secret , err := f .ClientSet .CoreV1 ().Secrets (f .Namespace .Name ).Get (ctx , "secret-1" , metav1.GetOptions {})
86
88
framework .ExpectNoError (err )
87
89
secret .StringData = map [string ]string {"foo" : "bar" }
88
- _ , err = f .ClientSet .CoreV1 ().Secrets (f .Namespace .Name ).Update (ctx , secret , metav1.UpdateOptions {})
90
+ secret , err = f .ClientSet .CoreV1 ().Secrets (f .Namespace .Name ).Update (ctx , secret , metav1.UpdateOptions {})
89
91
framework .ExpectNoError (err )
90
- verifyStore (ctx , f , secretInformer .GetStore ())
92
+
93
+ expectedSecrets [0 ] = * secret
94
+ verifyStore (ctx , expectedSecrets , secretInformer .GetStore ())
91
95
})
92
96
ginkgo .It ("should be requested by client-go's List method when WatchListClient is enabled" , func (ctx context.Context ) {
93
97
featuregatetesting .SetFeatureGateDuringTest (ginkgo .GinkgoTB (), utilfeature .DefaultFeatureGate , featuregate .Feature (clientfeatures .WatchListClient ), true )
@@ -139,13 +143,8 @@ func (f roundTripFunc) RoundTrip(req *http.Request) (*http.Response, error) {
139
143
return f (req )
140
144
}
141
145
142
- func verifyStore (ctx context.Context , f * framework.Framework , store cache.Store ) {
143
- ginkgo .By (fmt .Sprintf ("Listing secrets directly from the server from %s namespace" , f .Namespace .Name ))
144
- expectedSecretsList , err := f .ClientSet .CoreV1 ().Secrets (f .Namespace .Name ).List (ctx , metav1.ListOptions {})
145
- framework .ExpectNoError (err )
146
- expectedSecrets := expectedSecretsList .Items
147
-
148
- err = wait .PollUntilContextTimeout (ctx , 100 * time .Millisecond , 30 * time .Second , true , func (ctx context.Context ) (done bool , err error ) {
146
+ func verifyStore (ctx context.Context , expectedSecrets []v1.Secret , store cache.Store ) {
147
+ err := wait .PollUntilContextTimeout (ctx , 100 * time .Millisecond , 30 * time .Second , true , func (ctx context.Context ) (done bool , err error ) {
149
148
ginkgo .By ("Comparing secrets retrieved directly from the server with the ones that have been streamed to the secret informer" )
150
149
rawStreamedSecrets := store .List ()
151
150
streamedSecrets := make ([]v1.Secret , 0 , len (rawStreamedSecrets ))
0 commit comments