Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion tests/integration/container/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,12 @@ def pytest_runtest_setup(item):
logger.warning("conftest.ExceptionWhileObtainingInstanceIDs", ex)
instances = list()

sleep(5)
# Only sleep if condition is still not met
if (len(instances) < request.get_num_of_instances()
or len(instances) == 0
or not rds_utility.is_db_instance_writer(instances[0])) and (
timeit.default_timer() - start_time) < 300:
sleep(5)

assert len(instances) > 0
current_writer = instances[0]
Expand Down Expand Up @@ -144,6 +149,7 @@ def pytest_runtest_setup(item):
MonitoringThreadContainer.clean_up()
ThreadPoolContainer.release_resources(wait=True)

ConnectionProviderManager.release_resources()
ConnectionProviderManager.reset_provider()
DatabaseDialectManager.reset_custom_dialect()
DriverDialectManager.reset_custom_dialect()
Expand Down
12 changes: 8 additions & 4 deletions tests/integration/container/test_read_write_splitting.py
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ def test_pooled_connection__reuses_cached_connection(

@enable_on_features([TestEnvironmentFeatures.FAILOVER_SUPPORTED])
def test_pooled_connection__failover(
self, test_driver: TestDriver, rds_utils, conn_utils, failover_props
self, test_driver: TestDriver, rds_utils, conn_utils, failover_props, cleanup_connection_provider
):
provider = SqlAlchemyPooledConnectionProvider(lambda _, __: {"pool_size": 1})
ConnectionProviderManager.set_connection_provider(provider)
Expand Down Expand Up @@ -797,7 +797,7 @@ def test_pooled_connection__failover(

@enable_on_features([TestEnvironmentFeatures.FAILOVER_SUPPORTED])
def test_pooled_connection__cluster_url_failover(
self, test_driver: TestDriver, rds_utils, conn_utils, failover_props
self, test_driver: TestDriver, rds_utils, conn_utils, failover_props, cleanup_connection_provider
):
provider = SqlAlchemyPooledConnectionProvider(lambda _, __: {"pool_size": 1})
ConnectionProviderManager.set_connection_provider(provider)
Expand Down Expand Up @@ -840,7 +840,8 @@ def test_pooled_connection__failover_failed(
conn_utils,
proxied_failover_props,
plugin_config,
plugins
plugins,
cleanup_connection_provider,
):
plugin_name, _ = plugin_config
writer_host = test_environment.get_writer().get_host()
Expand Down Expand Up @@ -888,7 +889,7 @@ def test_pooled_connection__failover_failed(

@enable_on_features([TestEnvironmentFeatures.FAILOVER_SUPPORTED])
def test_pooled_connection__failover_in_transaction(
self, test_driver: TestDriver, rds_utils, conn_utils, failover_props
self, test_driver: TestDriver, rds_utils, conn_utils, failover_props, cleanup_connection_provider
):
provider = SqlAlchemyPooledConnectionProvider(lambda _, __: {"pool_size": 1})
ConnectionProviderManager.set_connection_provider(provider)
Expand Down Expand Up @@ -935,6 +936,7 @@ def test_pooled_connection__different_users(
rds_utils,
conn_utils,
props,
cleanup_connection_provider,
):
privileged_user_props = conn_utils.get_connect_params().copy()
limited_user_props = conn_utils.get_connect_params().copy()
Expand Down Expand Up @@ -1012,6 +1014,7 @@ def test_pooled_connection__least_connections(
conn_utils,
props,
plugin_config,
cleanup_connection_provider,
):
plugin_name, _ = plugin_config
if plugin_name != "read_write_splitting":
Expand Down Expand Up @@ -1061,6 +1064,7 @@ def test_pooled_connection__least_connections__pool_mapping(
conn_utils,
props,
plugin_config,
cleanup_connection_provider,
):
plugin_name, _ = plugin_config
if plugin_name != "read_write_splitting":
Expand Down
Loading