Skip to content

Commit

Permalink
[PSM Interop] Check for active ADS in Security and URL Map tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sergiitk committed Nov 16, 2023
1 parent 59408f1 commit a71b422
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,8 @@ def startTestClient(
# To compensate for this, we double the timeout for GAMMA tests.
return self._start_test_client(
server_target,
wait_for_active_channel_timeout=datetime.timedelta(minutes=10),
wait_for_server_channel_ready_timeout=datetime.timedelta(
minutes=10
),
**kwargs,
)
54 changes: 29 additions & 25 deletions tools/run_tests/xds_k8s_test_driver/framework/xds_k8s_testcase.py
Original file line number Diff line number Diff line change
Expand Up @@ -739,6 +739,30 @@ def cleanup(self):
force=self.force_cleanup, force_namespace=self.force_cleanup
)

def _start_test_client(
self,
server_target: str,
*,
wait_for_active_ads: bool = True,
wait_for_server_channel_ready: bool = True,
wait_for_active_ads_timeout: Optional[_timedelta] = None,
wait_for_server_channel_ready_timeout: Optional[_timedelta] = None,
**kwargs,
) -> XdsTestClient:
test_client = self.client_runner.run(
server_target=server_target, **kwargs
)
if wait_for_active_ads:
test_client.wait_for_active_xds_channel(
xds_server_uri=self.xds_server_uri,
timeout=wait_for_active_ads_timeout,
)
if wait_for_server_channel_ready:
test_client.wait_for_server_channel_ready(
timeout=wait_for_server_channel_ready_timeout,
)
return test_client


class RegularXdsKubernetesTestCase(IsolatedXdsKubernetesTestCase):
"""Regular test case base class for testing PSM features in isolation."""
Expand Down Expand Up @@ -822,26 +846,6 @@ def startTestClient(
) -> XdsTestClient:
return self._start_test_client(test_server.xds_uri, **kwargs)

def _start_test_client(
self,
server_target: str,
*,
wait_for_active_ads_timeout: Optional[_timedelta] = None,
wait_for_active_channel_timeout: Optional[_timedelta] = None,
**kwargs,
) -> XdsTestClient:
test_client = self.client_runner.run(
server_target=server_target, **kwargs
)
test_client.wait_for_active_xds_channel(
xds_server_uri=self.xds_server_uri,
timeout=wait_for_active_ads_timeout,
)
test_client.wait_for_server_channel_ready(
timeout=wait_for_active_channel_timeout,
)
return test_client


class AppNetXdsKubernetesTestCase(RegularXdsKubernetesTestCase):
td: TrafficDirectorAppNetManager
Expand Down Expand Up @@ -964,12 +968,12 @@ def startSecureTestClient(
wait_for_server_channel_ready=True,
**kwargs,
) -> XdsTestClient:
test_client = self.client_runner.run(
server_target=test_server.xds_uri, secure_mode=True, **kwargs
return self._start_test_client(
server_target=test_server.xds_uri,
wait_for_server_channel_ready=wait_for_server_channel_ready,
secure_mode=True,
**kwargs,
)
if wait_for_server_channel_ready:
test_client.wait_for_server_channel_ready()
return test_client

def assertTestAppSecurity(
self,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,9 @@ def run(self, result: unittest.TestResult = None) -> None:
super().run(result)

def test_client_config(self):
self.test_client.wait_for_active_xds_channel(
xds_server_uri=GcpResourceManager().xds_server_uri,
)
retryer = retryers.constant_retryer(
wait_fixed=datetime.timedelta(
seconds=_URL_MAP_PROPAGATE_CHECK_INTERVAL_SEC
Expand Down

0 comments on commit a71b422

Please sign in to comment.