diff --git a/tst/integration/json_test_case.py b/tst/integration/json_test_case.py index a23ebb8..c1babed 100644 --- a/tst/integration/json_test_case.py +++ b/tst/integration/json_test_case.py @@ -15,8 +15,22 @@ class SimpleTestCase(ValkeyTestCase): ''' @pytest.fixture(autouse=True) def setup_test(self, setup): - server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" - self.server, self.client = self.create_server(testdir = self.testdir, server_path=server_path) + use_external = os.environ.get("VALKEY_EXTERNAL_SERVER", "false").lower() == "true" + + if use_external: + # Use external server + external_host = os.environ.get("VALKEY_HOST", "localhost") + external_port = int(os.environ.get("VALKEY_PORT", "6379")) + self.server, self.client = self.create_server( + testdir=self.testdir, + bind_ip=external_host, + port=external_port, + external_server=True + ) + else: + # Original local server + server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" + self.server, self.client = self.create_server(testdir=self.testdir, server_path=server_path) def teardown(self): if self.is_connected(): @@ -47,9 +61,23 @@ def verify_error_response(self, client, cmd, expected_err_reply): @pytest.fixture(autouse=True) def setup_test(self, setup): - server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" - args = {'loadmodule': os.getenv('MODULE_PATH'), "enable-debug-command": "local", 'enable-protected-configs': 'yes'} - self.server, self.client = self.create_server(testdir = self.testdir, server_path=server_path, args=args) + use_external = os.environ.get("VALKEY_EXTERNAL_SERVER", "false").lower() == "true" + + if use_external: + # Use external server + external_host = os.environ.get("VALKEY_HOST", "localhost") + external_port = int(os.environ.get("VALKEY_PORT", "6379")) + self.server, self.client = self.create_server( + testdir=self.testdir, + bind_ip=external_host, + port=external_port, + external_server=True + ) + else: + # Original local server + server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" + args = {'loadmodule': os.getenv('MODULE_PATH'), "enable-debug-command": "local", 'enable-protected-configs': 'yes'} + self.server, self.client = self.create_server(testdir=self.testdir, server_path=server_path, args=args) self.error_class = ErrorStringTester diff --git a/tst/integration/test_json_basic.py b/tst/integration/test_json_basic.py index be7d356..8e6f893 100644 --- a/tst/integration/test_json_basic.py +++ b/tst/integration/test_json_basic.py @@ -166,9 +166,24 @@ def setup_data(self): @pytest.fixture(autouse=True) def setup_test(self, setup): - server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" - args = {'loadmodule': os.getenv('MODULE_PATH'), "enable-debug-command": "local", 'enable-protected-configs': 'yes'} - self.server, self.client = self.create_server(testdir = self.testdir, server_path=server_path, args=args) + # Check if we should use external server + use_external = os.environ.get("VALKEY_EXTERNAL_SERVER", "false").lower() == "true" + + if use_external: + # Use external server + external_host = os.environ.get("VALKEY_HOST", "localhost") + external_port = int(os.environ.get("VALKEY_PORT", "6379")) + self.server, self.client = self.create_server( + testdir=self.testdir, + bind_ip=external_host, + port=external_port, + external_server=True + ) + else: + # Original local server setup + server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" + args = {'loadmodule': os.getenv('MODULE_PATH'), "enable-debug-command": "local", 'enable-protected-configs': 'yes'} + self.server, self.client = self.create_server(testdir=self.testdir, server_path=server_path, args=args) self.error_class = ErrorStringTester self.setup_data() diff --git a/tst/integration/test_rdb.py b/tst/integration/test_rdb.py index d29b489..2f09d37 100644 --- a/tst/integration/test_rdb.py +++ b/tst/integration/test_rdb.py @@ -25,10 +25,25 @@ def setup_data(self): 'JSON.SET', 'store', '.', self.data_store) @pytest.fixture(autouse=True) - def setup_test(self): - server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" - args = {'loadmodule': os.getenv('MODULE_PATH'), "enable-debug-command": "local", 'enable-protected-configs': 'yes'} - self.server, self.client = self.create_server(testdir = self.testdir, server_path=server_path, args=args) + def setup_test(self, setup): + # Check if we should use external server + use_external = os.environ.get("VALKEY_EXTERNAL_SERVER", "false").lower() == "true" + + if use_external: + # Use external server + external_host = os.environ.get("VALKEY_HOST", "localhost") + external_port = int(os.environ.get("VALKEY_PORT", "6379")) + self.server, self.client = self.create_server( + testdir=self.testdir, + bind_ip=external_host, + port=external_port, + external_server=True + ) + else: + # Original local server setup + server_path = f"{os.path.dirname(os.path.realpath(__file__))}/.build/binaries/{os.environ['SERVER_VERSION']}/valkey-server" + args = {'loadmodule': os.getenv('MODULE_PATH'), "enable-debug-command": "local", 'enable-protected-configs': 'yes'} + self.server, self.client = self.create_server(testdir=self.testdir, server_path=server_path, args=args) self.error_class = ErrorStringTester self.setup_data()