From 40ee0746854709e04837f4819853435018cb62d0 Mon Sep 17 00:00:00 2001 From: Trevor Guidry Date: Wed, 6 Nov 2024 11:52:58 -0500 Subject: [PATCH] SERVER-96622 fix ValidateCollections with ExternalFixture (#28848) GitOrigin-RevId: ad875530c1884deb44c617f378aae4447aea89dd --- buildscripts/resmokelib/testing/fixtures/external.py | 3 +++ buildscripts/resmokelib/testing/hooks/validate.py | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/buildscripts/resmokelib/testing/fixtures/external.py b/buildscripts/resmokelib/testing/fixtures/external.py index bca267ceeba..08f991023c2 100644 --- a/buildscripts/resmokelib/testing/fixtures/external.py +++ b/buildscripts/resmokelib/testing/fixtures/external.py @@ -32,3 +32,6 @@ class ExternalFixture(interface.Fixture): def get_driver_connection_url(self): """Return the driver connection URL.""" return self.shell_conn_string + + def _all_mongo_d_s_t(self): + return [self] diff --git a/buildscripts/resmokelib/testing/hooks/validate.py b/buildscripts/resmokelib/testing/hooks/validate.py index 66eb3ea4e79..96a1620d85b 100644 --- a/buildscripts/resmokelib/testing/hooks/validate.py +++ b/buildscripts/resmokelib/testing/hooks/validate.py @@ -11,7 +11,8 @@ import pymongo.mongo_client from pymongo.collection import Collection from pymongo.database import Database -from buildscripts.resmokelib.testing.fixtures.interface import MultiClusterFixture, build_client +from buildscripts.resmokelib.testing.fixtures.external import ExternalFixture +from buildscripts.resmokelib.testing.fixtures.interface import build_client from buildscripts.resmokelib.testing.fixtures.standalone import MongoDFixture from buildscripts.resmokelib.testing.hooks import jsfile @@ -87,12 +88,14 @@ class ValidateCollectionsTestCase(jsfile.DynamicJSTestCase): with concurrent.futures.ThreadPoolExecutor(max_workers=os.cpu_count()) as executor: futures = [] for node in self.fixture._all_mongo_d_s_t(): - if not isinstance(node, MongoDFixture): + if not isinstance(node, MongoDFixture) and not isinstance( + node, ExternalFixture + ): continue if not validate_node(node, self.shell_options, self.logger, executor, futures): raise RuntimeError( - f"Internal error while trying to validate node: {node.get_internal_connection_string()}" + f"Internal error while trying to validate node: {node.get_driver_connection_url()}" ) if not all( @@ -152,7 +155,7 @@ def validate_node( return True except: logger.exception( - f"Unknown exception while validating node {node.get_internal_connection_string()}" + f"Unknown exception while validating node {node.get_driver_connection_url()}" ) return False