9
9
from typing import Callable , Dict , List , Optional
10
10
11
11
import pymongo
12
+ from kubetester import kubetester
13
+ from kubetester .kubetester import KubernetesTester
14
+ from kubetester .mongodb_user import MongoDBUser
15
+ from kubetester .phase import Phase
12
16
from opentelemetry import trace
13
17
from pycognito import Cognito
14
18
from pymongo .auth_oidc import OIDCCallback , OIDCCallbackContext , OIDCCallbackResult
15
19
from pymongo .errors import OperationFailure , PyMongoError , ServerSelectionTimeoutError
16
20
from pytest import fail
17
21
18
- from kubetester import kubetester
19
- from kubetester .kubetester import KubernetesTester
20
- from kubetester .mongodb_user import MongoDBUser
21
- from kubetester .phase import Phase
22
-
23
22
TEST_DB = "test-db"
24
23
TEST_COLLECTION = "test-collection"
25
24
@@ -88,18 +87,15 @@ def _wait_for_mongodbuser_reconciliation() -> None:
88
87
"""
89
88
try :
90
89
# Import inside function to avoid circular imports
91
- from tests .conftest import get_central_cluster_client
92
90
import kubernetes .client as client
93
-
91
+ from tests .conftest import get_central_cluster_client
92
+
94
93
namespace = KubernetesTester .get_namespace ()
95
94
api_client = client .CustomObjectsApi (api_client = get_central_cluster_client ())
96
95
97
96
try :
98
97
mongodb_users = api_client .list_namespaced_custom_object (
99
- group = "mongodb.com" ,
100
- version = "v1" ,
101
- namespace = namespace ,
102
- plural = "mongodbusers"
98
+ group = "mongodb.com" , version = "v1" , namespace = namespace , plural = "mongodbusers"
103
99
)
104
100
105
101
all_users = []
@@ -112,11 +108,15 @@ def _wait_for_mongodbuser_reconciliation() -> None:
112
108
if not all_users :
113
109
return
114
110
115
- logging .info (f"Found { len (all_users )} MongoDBUser resource(s) in namespace '{ namespace } ', waiting for all to reach Updated phase..." )
111
+ logging .info (
112
+ f"Found { len (all_users )} MongoDBUser resource(s) in namespace '{ namespace } ', waiting for all to reach Updated phase..."
113
+ )
116
114
117
115
for user_name , username in all_users :
118
116
try :
119
- logging .info (f"Waiting for MongoDBUser '{ user_name } ' (username: { username } ) to reach Updated phase..." )
117
+ logging .info (
118
+ f"Waiting for MongoDBUser '{ user_name } ' (username: { username } ) to reach Updated phase..."
119
+ )
120
120
121
121
user = MongoDBUser (name = user_name , namespace = namespace )
122
122
user .assert_reaches_phase (Phase .Updated , timeout = 300 )
@@ -263,7 +263,7 @@ def assert_scram_sha_authentication(
263
263
if remaining_attempts >= attempts * 0.7 : # First ~30% of attempts
264
264
delay = 10 # Longer delay for initial propagation
265
265
else :
266
- delay = 5 # Standard delay for normal retries
266
+ delay = 5 # Standard delay for normal retries
267
267
268
268
time .sleep (delay )
269
269
0 commit comments