@@ -162,6 +162,48 @@ def test_patch_cluster_secret_match_namespaces(self):
162
162
f'secret { name } should be in all user namespaces'
163
163
)
164
164
165
+ def test_patch_cluster_secret_avoid_namespaces (self ):
166
+ name = "dynamic-cluster-secret-avoid-namespaces"
167
+ username_data = "MTIzNDU2Cg=="
168
+
169
+ # Create a secret in all user namespaces
170
+ self .cluster_secret_manager .create_cluster_secret (
171
+ name = name ,
172
+ data = {"username" : username_data },
173
+ match_namespace = USER_NAMESPACES
174
+ )
175
+
176
+ # We expect the secret to be in all user namespaces
177
+ self .assertTrue (
178
+ self .cluster_secret_manager .validate_namespace_secrets (
179
+ name = name ,
180
+ data = {"username" : username_data },
181
+ namespaces = USER_NAMESPACES ,
182
+ )
183
+ )
184
+
185
+ # Update the cluster avoid_namespaces to exclude second namespace
186
+ self .cluster_secret_manager .update_data_cluster_secret (
187
+ name = name ,
188
+ data = {"username" : username_data },
189
+ match_namespace = USER_NAMESPACES ,
190
+ avoid_namespaces = [
191
+ USER_NAMESPACES [1 ]
192
+ ],
193
+ )
194
+
195
+ self .assertTrue (
196
+ self .cluster_secret_manager .validate_namespace_secrets (
197
+ name = name ,
198
+ data = {"username" : username_data },
199
+ namespaces = [
200
+ USER_NAMESPACES [1 ]
201
+ ],
202
+ check_missing = True ,
203
+ ),
204
+ f'secret { name } should be deleted from second namespace'
205
+ )
206
+
165
207
def test_simple_cluster_secret_deleted (self ):
166
208
name = "simple-cluster-secret-deleted"
167
209
username_data = "MTIzNDU2Cg=="
0 commit comments