]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/test/multisite: add a mechanism to use custom config temporarily
authorOguzhan Ozmen <oozmen@bloomberg.net>
Fri, 13 Mar 2026 22:29:05 +0000 (22:29 +0000)
committerOguzhan Ozmen <oozmen@bloomberg.net>
Fri, 13 Mar 2026 22:37:50 +0000 (22:37 +0000)
Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
src/test/rgw/rgw_multi/tests.py

index e42f2cd52cbfeeaafe4fe530cedfbe3bb5115b0a..1f0ad4251ca7e4ea6ff872af6ff5440190b98ac9 100644 (file)
@@ -5,6 +5,7 @@ import string
 import time
 import logging
 import errno
+import contextlib
 import dateutil.parser
 from datetime import datetime
 import threading
@@ -36,6 +37,20 @@ class Config:
         self.reconfigure_delay = kwargs.get('reconfigure_delay', 5)
         self.tenant = kwargs.get('tenant', '')
 
+@contextlib.contextmanager
+def override_config(**kwargs):
+    """Temporarily override config values for a test."""
+    global config
+    old_values = {}
+    for key, value in kwargs.items():
+        old_values[key] = getattr(config, key)
+        setattr(config, key, value)
+    try:
+        yield
+    finally:
+        for key, value in old_values.items():
+            setattr(config, key, value)
+
 # rgw multisite tests, written against the interfaces provided in rgw_multi.
 # these tests must be initialized and run by another module that provides
 # implementations of these interfaces by calling init_multi()